fix(dev): resolve local stack ports before startup
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
2026-05-09 21:49:25 +08:00
committed by kdletters
parent 46a254f142
commit f74717c415
8 changed files with 428 additions and 37 deletions

View File

@@ -1,6 +1,11 @@
import {spawn} from 'node:child_process';
import {existsSync, readFileSync} from 'node:fs';
import {resolve} from 'node:path';
import {
findAvailablePort,
formatPortDecision,
normalizePort,
} from './dev-stack-port-utils.mjs';
const repoRoot = process.cwd();
const shellEnvKeys = new Set(Object.keys(process.env));
@@ -121,9 +126,24 @@ const mergedEnv = {
console.log(`[dev:web] backend=rust target=${mergedEnv.GENARRATIVE_RUNTIME_SERVER_TARGET}`);
const webHost = '0.0.0.0';
const preferredWebPort = normalizePort(fileEnv.WEB_PORT, 3000);
const webPort = await findAvailablePort({
host: webHost,
preferredPort: preferredWebPort,
});
console.log(
formatPortDecision({
name: 'web',
host: webHost,
preferredPort: preferredWebPort,
resolvedPort: webPort,
}),
);
const child = spawn(
'node',
['scripts/vite-cli.mjs', '--port=3000', '--host=0.0.0.0', '--strictPort'],
['scripts/vite-cli.mjs', `--port=${webPort}`, `--host=${webHost}`, '--strictPort'],
{
cwd: process.cwd(),
env: mergedEnv,