Files
colbymchenry--codegraph/vitest.config.ts
Ran 02935d777a test(vitest): unblock subprocess MCP tests on Node >= 25 dev machines (#478) (#479)
Vitest already inherits process.env into every spawned `codegraph serve --mcp`
child, but on Node >= 25 the CLI's hard-block (src/bin/codegraph.ts) kills the
child before it can respond. Set CODEGRAPH_ALLOW_UNSAFE_NODE=1 via test.env so
the test suite is green regardless of the contributor's Node version; the
runtime guard itself is unchanged for end users.
2026-05-26 23:38:28 -05:00

28 lines
1.1 KiB
TypeScript

import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
globals: true,
environment: 'node',
include: ['__tests__/**/*.test.ts'],
/**
* Several MCP integration tests (mcp-daemon, mcp-initialize, mcp-ppid-watchdog,
* mcp-roots) spawn `dist/bin/codegraph.js serve --mcp` with `process.execPath`
* and rely on the child inheriting `process.env`. On a Node >= 25 dev machine
* the CLI's hard-block (src/bin/codegraph.ts) would otherwise exit the child
* before it ever responds, so every spawn-based test times out — see #478.
*
* Setting the override here keeps the CLI's runtime guard intact for end
* users (it's still enforced when `codegraph` is invoked directly) while
* letting the test suite run on whatever Node the contributor happens to
* have installed. CI on Node 22/23 is unaffected — the guard doesn't fire
* there, so the variable is a no-op.
*/
env: { CODEGRAPH_ALLOW_UNSAFE_NODE: '1' },
coverage: {
provider: 'v8',
reporter: ['text', 'json', 'html'],
},
},
});