diff --git a/package.json b/package.json index 2d63190e..b1b00b7f 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,9 @@ "preview": "vite preview", "test": "vitest run --coverage", "test:integration": "vitest run -c vitest.config.integration.ts", - "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", - "seed": "ts-node-dev scripts/seed.ts" + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "seed": "ts-node-dev scripts/seed.ts", + "start:server": "ts-node server.ts" }, "dependencies": { "@google/genai": "^1.30.0", diff --git a/src/tests/setup/integration-global-setup.ts b/src/tests/setup/integration-global-setup.ts index 7e1538af..5ac1b265 100644 --- a/src/tests/setup/integration-global-setup.ts +++ b/src/tests/setup/integration-global-setup.ts @@ -14,8 +14,18 @@ export async function setup() { // Start the backend server as a background process. console.log('Starting backend server for integration tests...'); - // We use ts-node-dev to run the TypeScript server directly. - const serverProcess = exec('npx ts-node-dev --transpile-only --quiet --notify=false server.ts'); + // Use the dedicated npm script to start the server. This is cleaner and more reliable for CI. + // We also capture stdout and stderr to help debug server startup issues. + const serverProcess = exec('npm run start:server'); + + serverProcess.stdout?.on('data', (data) => { + console.log(`[SERVER STDOUT]: ${data}`); + }); + + serverProcess.stderr?.on('data', (data) => { + // Log server errors to the console for visibility in CI. + console.error(`[SERVER STDERR]: ${data}`); + }); // Wait for the server to be ready by polling the health check endpoint. const maxRetries = 10;