Run vitest 4.1.11 in the browser shell (goal vitest-run-in-browser) - #353
vanilla-wave wants to merge 161 commits into
Conversation
|
Netlify preview: https://pr-353--rifty-playground.netlify.app |
…otes and compat rows
…etire its listeners
… the invocation scope
…int refs, keep goal record
|
| import { tmpdir } from 'node:os'; | ||
| import { join } from 'node:path'; | ||
|
|
||
| const REGISTRY = 'https://registry.npmjs.org/'; |
There was a problem hiding this comment.
Hardcoded npm registry URL The new probe fixes the registry to
https://registry.npmjs.org/ and passes that value to every spawned npm process, overriding any configured registry or mirror. The repository requires external URLs to come from environment configuration. This requirement must be satisfied before merging.
Context Used: CLAUDE.md (source)
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Comments Outside DiffThese findings sit on lines the diff does not cover, so they could not be posted inline. Each one leaves this list once its file changes.
|
Delivered
npm install+vitest runfor vitest 4.1.11 / vite 8.0.16 in the rifty shell, with the project's ownvitest.config.tsand TypeScript tests. Both pools work (forksdefault,threads), the reporter prints real pass/fail lines, counts and the assertion diff, and the process exits with Node's code (fail → 1, fix → 0).npm testand--reporter=verbosebehave the same. Compat page:docs/public/compat/vitest.md.Every wall is fixed as a generic Node contract. There are no vitest/vite/cac-shaped patches.
overrides("vite": "8.0.16")node:path/posixbuiltinprocessmembers as named ESM importsfs.statfsSync/child_process.spawnSync/process.memoryUsage'Function')Readable.pipe(process.stdout)never ends stdiouncaughtException/unhandledRejection/'exit'/exit()↔exitCodeWorker= keepalive handle; run-to-completion exit; Nodeunrefshapefork(..., {serialization:'advanced'})as native structured clonevmlineOffset/columnOffsetvia one owned stack hookWorker.stdout/stderr;--require/--conditions/--experimental-import-meta-resolveon fork + WorkerMessagePortkeepalive (emnapi holds rolldown async work this way)tests/e2e/vitest-run.spec.ts; loudvm.constants/http.Agentceilings for unclaimed modesOutside the claim, modes fail loudly: jsdom/happy-dom, coverage, browser mode and vm pools each hit a named⚠️ unclaimed, with the observed boundary stated (user amendment, 2026-09-23).
NotImplementedError. Watch mode and other vite versions areProcess
docs/backlog/*/reference/*-{contract-red,final-green}.json.goal_complete: true, 18/18 coverage. Binding verdict:docs/backlog/runtime-js/reference/vitest-run-in-browser-final-green.json@ 57f6117. An independent codex review found the runBin blocker, which is fixed.docs/backlog/runtime-js/reference/vitest-run-in-browser-evidence.md§Goal record:browser-unitCI Node is pinned to 24.16.0, the version of the frozen oracle rows (PR-4, reviewed).Prior draft attempts #349, #351 and #352 were used as evidence only; no code was taken from them.
Test plan
pnpm pr:check25/25 on the reviewed treevitest-run.spec.ts), prod, hostedpnpm check:pass-bindingOK🤖 Generated with Claude Code