@shivaedev/vitest-rerun 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0 - 2026-11-02
4
+
5
+ ### Fixed
6
+
7
+ - Invalid Vitest command-line arguments fail attempts with `VitestRerunError` and a diagnostic naming the argument.
8
+
9
+ ### Breaking
10
+
11
+ - `runAttempt` requires `VitestRunner`; provide `VitestRunner.layer` from `/adapters/VitestRunner.ts` alongside the existing Node services. Move imports of `Files` and `Task` from `/internal/snapshot.ts` to `/adapters/tasks.ts`, `junitClassname` from `/internal/junit.ts` to `/internal/junitClassname.ts`, and `RerunJunitReporter` from `/internal/junit.ts` to `/adapters/RerunJunitReporter.ts`. Reporter, coverage and snapshot-summary adapters now live under `/adapters/` instead of `/internal/adapters/`.
12
+
3
13
  ## 0.3.0 - 2026-11-02
4
14
 
5
15
  ### Fixed
package/README.md CHANGED
@@ -32,7 +32,7 @@ The final JUnit and JSON reports still describe the whole run, so CI, coverage a
32
32
 
33
33
  `vitest-rerun` runs `vitest run` once in a child process with Vitest's project retry set to `0`. If tests failed, it starts a new process that runs only the failed tests: tests that passed are skipped by their Vitest test IDs, including passing tests in a failed file. A file that failed to load runs again in full. A failed `beforeAll` or `afterAll`, at file level or in a nested suite, also reruns the whole file so its hooks run again. Tests that passed in that file run again too; any new failure counts. A hook that fails again keeps the run failed and its diagnostic in the final JUnit report. A hook skipped by the rerun keeps its earlier failure and diagnostic. Each rerun is one more attempt, and only tests still failing take part in the next one. The run ends when every test passes or the reruns are used up, and its exit code is the last attempt's: `0` when everything passed, `1` when a test is still failing, and `2` for invalid options.
34
34
 
35
- An unhandled error, such as an exception thrown after a test finished, cannot be fixed by running a test again, so a run with one is not rerun and fails.
35
+ An unhandled error, such as an exception thrown after a test finished, cannot be fixed by running a test again, so a run with one is not rerun and fails. A crashed worker or a failure in setup outside a test file, such as `globalSetup`, also fails the run without a rerun, even when it would succeed on another attempt. A crashed worker also prevents other failed tests from being rerun.
36
36
 
37
37
  Retries are global only, and every recovery is recorded in `flaky-tests.json`. Per-test and per-suite retry options that enable Vitest retries are refused: after an attempt, the run fails with a message naming every affected file and test, including tests that inherit a suite's retry. Remove those retry options and use `--reruns` to set the global fresh-process retry policy.
38
38
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shivaedev/vitest-rerun",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Reruns failed Vitest tests in a fresh process and reports which tests were flaky",
5
5
  "homepage": "https://github.com/ShivaeDev/platform/tree/main/packages/vitest-rerun#readme",
6
6
  "bugs": {
@@ -49,9 +49,9 @@
49
49
  "@effect/platform-node": "4.0.6",
50
50
  "@effect/platform-node-shared": "4.0.6",
51
51
  "@effect/vitest": "4.0.6",
52
- "@shivaedev/quality": "0.55.0",
53
- "@shivaedev/test": "0.12.1",
54
- "@shivaedev/test-story": "0.33.0",
52
+ "@shivaedev/quality": "0.56.0",
53
+ "@shivaedev/test": "0.13.0",
54
+ "@shivaedev/test-story": "0.34.0",
55
55
  "@types/node": "24.19.2",
56
56
  "@vitest/coverage-v8": "5.0.5",
57
57
  "effect": "4.0.6",