[Angular] Vitest 5 follow-ups: fsModuleCache, bounded-memory v8 coverage (re-test 60 GiB host pin), --repeats flake script #1174

Open
opened 2026-10-02 04:44:19 +00:00 by spikerj · 0 comments
Owner

Why

Vitest 5 brings three things that target our pain points. Do these after the Angular 22.2 + Vitest 5 upgrade ticket.

Items

  • fsModuleCache — on-disk cache of transformed modules between runs. Measure the app suite (~7,400 tests) cold vs warm locally and in CI. It may not help under @angular/build:unit-test, which pre-bundles specs; record the numbers either way.
  • Bounded-memory v8 coverage merge — the Sonar coverage job is pinned to the 60 GiB hosts because of coverage OOMs (#873). Re-run it on a 30 GiB host; if it passes with headroom, unpin in .gitea/workflows/sonarqube-scan.yml.
  • --repeats — add a test:flake-hunt script beside test-all:detect-leaks (e.g. --repeats=20 for one spec/project) for the recurring flaky-spec investigations (#830 class of issue).
  • Optional, adopt as needed in new specs: vi.when, toHaveBeenExhausted.

Size: S each.

Links: Blocked by #1165.


Filed from the 2026-10-02 spikersoft-angular pnpm outdated changelog review.

## Why Vitest 5 brings three things that target our pain points. Do these **after** the Angular 22.2 + Vitest 5 upgrade ticket. ## Items - [ ] **`fsModuleCache`** — on-disk cache of transformed modules between runs. Measure the app suite (~7,400 tests) cold vs warm locally and in CI. It may not help under `@angular/build:unit-test`, which pre-bundles specs; record the numbers either way. - [ ] **Bounded-memory v8 coverage merge** — the Sonar coverage job is pinned to the 60 GiB hosts because of coverage OOMs (#873). Re-run it on a 30 GiB host; if it passes with headroom, unpin in `.gitea/workflows/sonarqube-scan.yml`. - [ ] **`--repeats`** — add a `test:flake-hunt` script beside `test-all:detect-leaks` (e.g. `--repeats=20` for one spec/project) for the recurring flaky-spec investigations (#830 class of issue). - [ ] Optional, adopt as needed in new specs: `vi.when`, `toHaveBeenExhausted`. Size: **S** each. **Links:** Blocked by #1165. --- _Filed from the 2026-10-02 spikersoft-angular `pnpm outdated` changelog review._
spikerj added the enhancement label 2026-10-02 04:44:19 +00:00
Sign in to join this conversation.