{"record":{"id":"1905622f7c09a003","repo":"garrytan/gstack","slug":"server-node-mjs-not-found-run-bun-run-build-to","errorCode":null,"errorMessage":"server-node.mjs not found. Run `bun run build` to generate the Windows server bundle.","messagePattern":"server-node\\.mjs not found\\. Run `bun run build` to generate the Windows server bundle\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"browse/src/cli.ts","lineNumber":87,"sourceCode":"  if (!metaDir.includes('$bunfs')) {\n    const distScript = path.resolve(metaDir, '..', 'dist', 'server-node.mjs');\n    if (fs.existsSync(distScript)) return distScript;\n  }\n\n  // Compiled binary: browse/dist/browse → browse/dist/server-node.mjs\n  if (execPath) {\n    const adjacent = path.resolve(path.dirname(execPath), 'server-node.mjs');\n    if (fs.existsSync(adjacent)) return adjacent;\n  }\n\n  return null;\n}\n\nconst NODE_SERVER_SCRIPT = IS_WINDOWS ? resolveNodeServerScript() : null;\n\n// On Windows, hard-fail if server-node.mjs is missing — the Bun path is known broken.\nif (IS_WINDOWS && !NODE_SERVER_SCRIPT) {\n  throw new Error(\n    'server-node.mjs not found. Run `bun run build` to generate the Windows server bundle.'\n  );\n}\n\ninterface ServerState {\n  pid: number;\n  port: number;\n  token: string;\n  startedAt: string;\n  serverPath: string;\n  binaryVersion?: string;\n  mode?: 'launched' | 'headed';\n  /** Hash of (proxyUrl + headed flag), used by D2 daemon-mismatch check. */\n  configHash?: string;\n  /** Xvfb child PID for cleanup on disconnect. */\n  xvfbPid?: number;\n  xvfbStartTime?: number;\n  xvfbDisplay?: string;","sourceCodeStart":69,"sourceCodeEnd":105,"githubUrl":"https://github.com/garrytan/gstack/blob/94993f74012782fd94416dd44b8314f6363a13a4/browse/src/cli.ts#L69-L105","documentation":"Error \"server-node.mjs not found. Run `bun run build` to generate the Windows server bundle.\" thrown in garrytan/gstack.","triggerScenarios":"Thrown at browse/src/cli.ts:87 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"94993f74012782fd94416dd44b8314f6363a13a4","analyzedAt":"2026-08-12T04:06:23.140Z","schemaVersion":2},"datasetVersion":"2026-08-12T13:17:24.610Z"}