Run Vitest in the browser shell - #351
vanilla-wave wants to merge 35 commits into
Conversation
|
Netlify preview: https://pr-351--rifty-playground.netlify.app |
|
| if (at <= 0) { | ||
| return requestedName && !target.startsWith('npm:') | ||
| ? { name: requestedName, range: str } | ||
| : { name: str, range: null }; | ||
| } |
There was a problem hiding this comment.
Bare substitutions stop working
A user override that names a replacement package without a version, such as { "left-pad": "replacement-package" }, is now treated as a version range for left-pad. The installer searches for left-pad@replacement-package instead of applying the previously supported substitution, so the install fails.
| handle.stdout().on('data', (chunk) => { | ||
| this.stdout.push(chunk); | ||
| this.emitToOwner('stdout', chunk); | ||
| }); | ||
| handle.stderr().on('data', (chunk) => { | ||
| this.stderr.push(chunk); | ||
| this.emitToOwner('stderr', chunk); |
There was a problem hiding this comment.
Vitest 4.1.11 / Vite 8.0.16 запускает TypeScript config/tests в браузерной shell: forks и threads, настоящий fail/fix reporter, exit1/0, npm test и verbose. Обычная конфигурация проекта, без rifty-патчей Vitest.
Реализованы process/Worker lifecycle, MessagePort keepalive, child startup preloads/conditions, VM offsets и builtin exports. Advanced IPC делает один native clone; бинарные serialized graphs явно отклоняются
child_process.serialization.advanced.binary. Getter exceptions сохраняют identity; intrinsic clone errors имеют platform DataCloneError. Удалены custom Buffer codec, Promise probe и глобальный Proxy tracking (ADR-0467).Исправлена найденная в CI гонка Workbench.close: owner shutdown теперь начинается после pre-close hooks и запуска teardown сессии. Реальный browser regression RED→GREEN, откат прежнего порядка возвращает RED (ADR-0468).
Гарантия: заявленный vitest run на точной паре; другие версии/режимы вне гарантии, без искусственных запретов. QuickJS Proxy-backed mirrors ограничены native cloning. Остальные VM/async Worker gaps сохранены отдельно.
Проверено на исходном commit 1179ddf:
Эпик и 15 выполненных items закрыты. Доказательства и bound verdict:
docs/backlog/runtime-js/reference/vitest-delivery-evidence.md,workbench-close-admission-evidence.md,vitest-delivery-final-green.json. Финальный head daf823b содержит только записи проверки. Ready-PR CI36143100599: 19/19 PASS; pass-binding OK; merge state CLEAN. Один PR, без merge.