aae2399631
- Use globalThis singleton guards for DB connection, HealthCheck timers, console interceptor, and graceful shutdown to survive Webpack HMR re-evaluation (fixes 485+ leaked DB connections per session) - Split instrumentation.ts into instrumentation-node.ts with computed import path to prevent Turbopack Edge bundler from tracing Node.js modules (eliminates 10+ spurious warnings per hot compile) - Parallelize startup imports in instrumentation-node.ts (3 batch Promise.all instead of 9 serial awaits) - Add OMNIROUTE_USE_TURBOPACK=1 env switch in run-next.mjs (default behavior unchanged) - Replace node:crypto with crypto in proxies.ts and errorResponse.ts to fix UnhandledSchemeError - Add unlinkFileWithRetry with EBUSY/EPERM retry for Windows file handle timing in backup restore - Fix pre-restore backup to await completion before closing DB - Fix bootstrap-env, domain-persistence, and fixes-p1 test stability on Windows Made-with: Cursor
28 lines
838 B
JavaScript
28 lines
838 B
JavaScript
#!/usr/bin/env node
|
|
|
|
import {
|
|
resolveRuntimePorts,
|
|
withRuntimePortEnv,
|
|
spawnWithForwardedSignals,
|
|
} from "./runtime-env.mjs";
|
|
import { bootstrapEnv } from "./bootstrap-env.mjs";
|
|
|
|
const mode = process.argv[2] === "start" ? "start" : "dev";
|
|
|
|
const runtimePorts = resolveRuntimePorts();
|
|
const { dashboardPort } = runtimePorts;
|
|
|
|
// Auto-generate secrets on first run, merge .env + process.env
|
|
const env = bootstrapEnv();
|
|
|
|
const args = ["./node_modules/next/dist/bin/next", mode, "--port", String(dashboardPort)];
|
|
// Default: use webpack (stable). Set OMNIROUTE_USE_TURBOPACK=1 to use Turbopack (faster dev).
|
|
if (mode === "dev" && process.env.OMNIROUTE_USE_TURBOPACK !== "1") {
|
|
args.splice(2, 0, "--webpack");
|
|
}
|
|
|
|
spawnWithForwardedSignals(process.execPath, args, {
|
|
stdio: "inherit",
|
|
env: withRuntimePortEnv(env, runtimePorts),
|
|
});
|