krona-staff/tests/e2e
grok 0aaa2f4d2d test(e2e): запуск vitest/tsx/prettier без .cmd-обёрток (Windows)
Зачем: проект разрабатывается под Windows, а стенд там не стартовал:
spawn('npx') и spawn('node_modules/.bin/tsx') без shell падают с ENOENT,
потому что в Windows это .cmd-файлы (приёмка владельца, TASK-GROK-2 п.1).

Что: scripts/test/node-commands.mjs находит JS-точки входа через
require.resolve (tsx/cli, vitest.mjs, prettier.cjs) и всегда запускает их
текущим node (process.execPath). Сервер запускается одним процессом
`node --import tsx src/server.ts`: CLI tsx порождает дочерний node, и под
Windows kill() родителя оставил бы сервер-сироту на порту. baseEnv()
передаёт дочерним процессам PATH и под win32 системные переменные
(SystemRoot, TEMP и др.), без которых node на Windows не работает с сетью,
но не наследует секреты родителя.

Проверка на Linux: tests/e2e/harness/node-commands.test.ts (входит в
npm test) — команды начинаются с process.execPath, без .cmd/.bin/npx,
файлы существуют; исходники стенда не вызывают npx и node_modules/.bin.
Реальный прогон на Windows 11 — не проверено (нет Windows-раннера).
2026-09-26 15:19:47 +07:00
..
evidence docs(e2e): REPORT.md (описание PR) и свежие evidence прогона 2026-09-26 15:18:31 +07:00
harness test(e2e): запуск vitest/tsx/prettier без .cmd-обёрток (Windows) 2026-09-26 15:19:47 +07:00
00-harness.e2e.ts test(e2e): стенд с реальным сервером и PostgreSQL 17 2026-09-26 15:18:31 +07:00
10-core-defects.e2e.ts test(e2e): сценарии дефектов основного API (N1-N4, N9-N12, F2-F4, F7, F10) 2026-09-26 15:18:31 +07:00
20-sync-defects.e2e.ts test(e2e): сценарии офлайн-синхронизации (/sync/*) 2026-09-26 15:18:31 +07:00
30-owner-decisions.e2e.ts test(e2e): сценарии решений владельца (OWN-01..11) и заметки исполнителям 2026-09-26 15:18:31 +07:00
40-compose-pilot.e2e.ts test(e2e): проверка deploy/pilot/compose.yaml (PILOT-1..3) 2026-09-26 15:18:31 +07:00
known-defects.json test(e2e): сценарии решений владельца (OWN-01..11) и заметки исполнителям 2026-09-26 15:18:31 +07:00
NOTES-FOR-EXECUTORS.md docs(e2e): REPORT.md (описание PR) и свежие evidence прогона 2026-09-26 15:18:31 +07:00
REPORT.md docs(e2e): REPORT.md (описание PR) и свежие evidence прогона 2026-09-26 15:18:31 +07:00
vitest.e2e.config.ts test(e2e): стенд с реальным сервером и PostgreSQL 17 2026-09-26 15:18:31 +07:00