Skip to content

chore(deps): update dependency @rstest/core to v0.12.0 - #96

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/rstest-core-0.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/rstest-core-0.x

Conversation

@renovate

@renovate renovate Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
@rstest/core (source) 0.11.120.12.0 age confidence

Release Notes

web-infra-dev/rstest (@​rstest/core)

v0.12.0

Compare Source

Read the Rstest 0.12 announcement for the full story.

Breaking Changes

If you only use the rstest CLI with a config file, no code changes are needed.

JavaScript API

The experimental JavaScript API is redesigned in 0.12, in one step before 1.0. See Rstest instance for the new API.

  • runRstest is removed. Create an instance with createRstest instead.
  • runCLI moves from @rstest/core to @rstest/core/api.
  • TestRunResult has the same shape as the reporter's onTestRunEnd payload, and status: 'pass' | 'fail' | 'error' replaces ok.
Custom reporters

See Reporter API for details.

  • onTestRunEnd now receives summary, and unhandledErrors is a required SerializedError[] instead of an optional Error[].
  • filterRerunTestPaths is renamed to rerunTestPaths.
  • onExit is now also called after a run, list, or merge finishes normally, not only on an abnormal exit.
Peer dependency range

The adapters, @rstest/browser-react, @rstest/coverage-istanbul, @rstest/coverage-v8, and @rstest/playwright now require @rstest/core@^0.12.0. Upgrade all @rstest/* packages together.

Test environment prebundle

testEnvironment.prebundle now defaults to 'auto'. If a test environment behaves differently after the upgrade, set it to false. See Environment prebundle.

Highlights

Rstest 0.12 adds E2E and Module Federation testing support, makes large test suites faster with VM pools and test environment prebundle, and introduces a new JavaScript API.

E2E testing support

@​rstest/playwright integrates Playwright into Rstest, so unit tests, component tests, and E2E tests share one config, one set of commands, and the same reporters. Use definePlaywrightConfig to get the same defaults as Playwright and customize them when needed. See E2E testing.

import { expect, test } from '@rstest/playwright';

test('page title', async ({ page }) => {
  await page.goto('https://example.com');
  await expect(page).toHaveTitle(/Example/);
});
Module Federation testing support

With the @​module-federation/rstest plugin, tests import remote modules the same way a consumer application does. Rstest loads the real exposed modules and resolves shared dependencies, so integration problems between consumer and producer show up in unit tests. It works in Node, jsdom, happy-dom, and browser mode. See Module Federation.

New vmThreads and vmForks pools

The new vmThreads and vmForks pools reuse workers across test files and create a fresh vm.Context for each file. Each file still gets its own JavaScript realm and module graph, while worker startup, dependency resolution, and V8 compilation are shared. This helps most in suites with many jsdom / happy-dom test files.

On a jsdom benchmark project of 2,400 files and 20,000 tests (15 workers, every process starting from an empty cache):

Pool Wall time
forks 315.17s
vmThreads ⚡ 33.22s

To limit the memory of a single worker, set pool.memoryLimit. Rstest replaces a worker once it exceeds the threshold. See Choose a pool type before switching.

Faster jsdom / happy-dom loading

Test environment prebundle is now enabled by default. Previously, every worker resolved and executed each module file of jsdom or happy-dom one by one. Rstest now builds the environment into one ESM bundle that all workers share.

On a benchmark of 100 files and 1,000 tests:

Environment Native Prebundle Improvement
jsdom 30.0.1 16.99s ⚡ 10.57s 37.8%
happy-dom 20.11.1 6.35s ⚡ 2.98s 53.0%
A new JavaScript API

createRstest makes it easier to integrate Rstest into tools, IDEs, and other Node.js programs. It shares the same core execution capabilities as the rstest command, so you can run tests, watch, list tests, and merge blob reports from code. See Rstest instance.

import { createRstest } from '@rstest/core/api';

const rstest = await createRstest({
  cwd: './packages/app',
  config: { include: ['src/**/*.test.ts'] },
});

const result = await rstest.run();
console.log(result.status, result.summary);

What's Changed

Breaking Changes 🍭
New Features 🎉
Performance 🚀
Bug Fixes 🐞
Refactor 🔨
Document 📖
Other Changes

New Contributors

Full Changelog: web-infra-dev/rstest@v0.11.12...v0.12.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate

renovate Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: package-lock.json
npm warn Unknown env config "store". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: agent-bundle@0.0.0-preview-ab5ae66
npm error Found: @rstest/core@0.12.0
npm error node_modules/@rstest/core
npm error   dev @rstest/core@"0.12.0" from the root project
npm error
npm error Could not resolve dependency:
npm error peerOptional @rstest/core@"^0.11.10" from agent-bundle@0.0.0-preview-ab5ae66
npm error node_modules/agent-bundle
npm error   dev agent-bundle@"https://pkg.pr.new/ScriptedAlchemy/agent-bundle/agent-bundle@ab5ae66e1d9c2829a092640c586e2b3eacc4be88" from the root project
npm error
npm error Conflicting peer dependency: @rstest/core@0.11.12
npm error node_modules/@rstest/core
npm error   peerOptional @rstest/core@"^0.11.10" from agent-bundle@0.0.0-preview-ab5ae66
npm error   node_modules/agent-bundle
npm error     dev agent-bundle@"https://pkg.pr.new/ScriptedAlchemy/agent-bundle/agent-bundle@ab5ae66e1d9c2829a092640c586e2b3eacc4be88" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry this command with --force or --legacy-peer-deps to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /runner/cache/others/npm/_logs/2026-09-17T20_51_54_596Z-eresolve-report.txt
npm error A complete log of this run can be found in: /runner/cache/others/npm/_logs/2026-09-17T20_51_54_596Z-debug-0.log

@changeset-bot

changeset-bot Bot commented Sep 17, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 6794093

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants