extension/run-vitest.mjs
Rama main · réplica de lectura del repositorio original.
/**
* Runs extension Vitest via Node on `web/node_modules/vitest/vitest.mjs` (same pattern as agent/).
*/
import { spawnSync } from 'node:child_process';
import fs from 'node:fs';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
const extensionDir = path.dirname(fileURLToPath(import.meta.url));
const rootDir = path.dirname(extensionDir);
const config = path.join(extensionDir, 'vitest.config.mjs');
const vitestEntry = path.join(rootDir, 'web', 'node_modules', 'vitest', 'vitest.mjs');
const passthrough = process.argv.slice(2);
let vitestArgs = passthrough.length ? passthrough : ['run'];
if (vitestArgs[0] !== 'run' && vitestArgs[0] !== '--watch') {
vitestArgs = ['run', ...vitestArgs];
}
if (!fs.existsSync(vitestEntry)) {
console.error(
`Missing Vitest at ${vitestEntry}. From the repo root run: pnpm install\n` +
'(Vitest is a devDependency of web/; extension tests reuse that binary.)'
);
process.exit(1);
}
const r = spawnSync(
process.execPath,
[vitestEntry, ...vitestArgs, '--config', config],
{ cwd: rootDir, stdio: 'inherit', shell: false, env: process.env }
);
process.exit(r.status === null ? 1 : r.status);