This commit is contained in:
2026-06-25 12:24:51 -05:00
parent b58e50e423
commit f31fcd9e84
4 changed files with 52 additions and 4 deletions

13
scripts/ensure-build.mjs Normal file
View File

@@ -0,0 +1,13 @@
import fs from 'node:fs';
import { spawnSync } from 'node:child_process';
if (fs.existsSync('dist/index.html')) {
process.exit(0);
}
const result = spawnSync('npm', ['run', 'build'], {
stdio: 'inherit',
shell: process.platform === 'win32'
});
process.exit(result.status ?? 1);

20
scripts/start-api.mjs Normal file
View File

@@ -0,0 +1,20 @@
import { spawn } from 'node:child_process';
const mode = process.argv[2] || 'development';
const watch = process.argv.includes('--watch');
const command = watch ? 'nodemon' : 'node';
const args = watch ? ['server/index.js'] : ['server/index.js'];
const child = spawn(command, args, {
stdio: 'inherit',
shell: process.platform === 'win32',
env: {
...process.env,
NODE_ENV: mode
}
});
child.on('exit', (code, signal) => {
if (signal) process.kill(process.pid, signal);
process.exit(code ?? 0);
});

15
scripts/start-ui-prod.mjs Normal file
View File

@@ -0,0 +1,15 @@
import { spawn } from 'node:child_process';
const child = spawn('vite', ['preview', '--host', '0.0.0.0', '--port', '3000', '--strictPort'], {
stdio: 'inherit',
shell: process.platform === 'win32',
env: {
...process.env,
NODE_ENV: 'production'
}
});
child.on('exit', (code, signal) => {
if (signal) process.kill(process.pid, signal);
process.exit(code ?? 0);
});