Repository navigation
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a focused Vite Plus/Vitest tooling upgrade that addresses temporary test-module cleanup; the large lockfile change is generated dependency resolution rather than new application logic. It does not change product defaults, production code, or static-analysis suppressions. You can add or adjust custom eligibility rules. Learn more. |
dd29536 to
2c029f7
Compare
|
Closing as superseded by merged #22716, commit The original reproduction and before/after cleanup evidence remain in this PR's description. |
Problem
Successful test runs leave Vitest's temporary module copies on disk. Even a single contract test file leaves an
ssr/directory after the runner exits, so repeated local and agent test runs accumulate files.Closes #20128.
Change
Update the paired
vite-plusand@voidzero-dev/vite-plus-corecatalog entries from 1.0.0 to 1.2.0. This brings in Vitest 5.0.4, which includes the upstream root-temp-directory cleanup fix in vitest-dev/vitest#11248. Match@vitest/browser-playwrightto 5.0.4, as required by Vite+'s peer dependency, and regenerate the lockfile.Scope and approval
The maintainer triage confirms the leak and requests these paired 1.2.0 catalog updates. The three version pins and their generated lockfile implement that direction. I found no open implementation for this issue before starting or before submitting.
Verification
Linux x64, Node 24.13.1, pnpm 11.10.0. The baseline reproduction used
1451e7cb23. All focused checks below were rerun at2c029f7263, rebased onto main atcb0553ea39; the lockfile was regenerated from that main revision to retain its Markdown dependencies and patches. Each cleanup check used a fresh privateTMPDIR:Both runs passed all 11 tests. Before the update, Vitest 5.0.1 left five transformed-module files totaling 107,848 bytes, in addition to
node-compile-cache. After the update, Vitest 5.0.4 left onlynode-compile-cache; no transformed-module directory remained.The first cleanup attempt during rebase verification failed before running tests with
ENOTEMPTYonnode_modules/.vitest-cachewhile the other Vitest commands ran in parallel. Rerunning the cleanup command on its own passed all 11 tests and left onlynode-compile-cache.Additional focused checks:
apps/server:vp test run src/keybindings.test.ts— 25 passed, including the patched@effect/vitestintegration.apps/web:vp test run --project unit src/keybindings.test.ts— 145 passed using the web Vite config.apps/desktop:vp test run src/window/QuitHold.test.ts— 31 passed.pnpm install --frozen-lockfile --prefer-offline --yes— passed, including repository preparation.vp fmt --check pnpm-workspace.yaml apps/web/package.json,vp lint --report-unused-disable-directives vite.config.ts apps/web/vite.config.ts, andgit diff --check— passed.vp run --filter @t3tools/web typecheck— passed, including the Vite config and browser-test provider types.Not checked: browser automation, production builds, macOS or Windows. No UI changes or screenshots apply. Repo-wide checks were left to CI.
Implemented and verified with GPT-6.1 Sol through the Codex harness in T3 Code.