fix(launcher): route direct Node launch paths through launcher (#1363)

Ensures package.json scripts (dev, start), scripts/provider-launch.ts,
and Dockerfile route node executions through the bin/openclaude launcher
rather than calling node directly on dist/cli.mjs.

This resolves PR feedback:
1. Preserves the robust launcher relaunch guard, GC exposure, and test
   coverage already merged on main (from #1242).
2. Prevents hardcoded heap caps (--max-old-space-size=8192) from overriding
   user-provided NODE_OPTIONS or OPENCLAUDE_NODE_MAX_OLD_SPACE_SIZE_MB
   settings during development, start, or containerized runs.

Co-authored-by: daltoncoder <daltoncoder@example.com>
This commit is contained in:
Neodius
2026-05-27 08:19:27 +08:00
committed by GitHub
co-authored by daltoncoder
parent 8513178934
commit 363583faf5
3 changed files with 4 additions and 4 deletions
+1 -1
View File
@@ -46,4 +46,4 @@ RUN apt-get update && apt-get install -y --no-install-recommends git ripgrep \
# Run as non-root user
USER node
ENTRYPOINT ["node", "/app/dist/cli.mjs"]
ENTRYPOINT ["node", "/app/bin/openclaude"]
+2 -2
View File
@@ -26,7 +26,7 @@
"build": "bun run scripts/build.ts",
"integrations:generate": "bun run scripts/generate-integrations-artifacts.ts",
"integrations:check": "bun run scripts/generate-integrations-artifacts.ts --check",
"dev": "bun run build && node dist/cli.mjs",
"dev": "bun run build && node bin/openclaude",
"dev:profile": "bun run scripts/provider-launch.ts",
"dev:profile:fast": "bun run scripts/provider-launch.ts auto --fast --bare",
"dev:codex": "bun run scripts/provider-launch.ts codex",
@@ -45,7 +45,7 @@
"dev:code": "bun run profile:code && bun run dev:profile",
"dev:grpc": "bun run scripts/start-grpc.ts",
"dev:grpc:cli": "bun run scripts/grpc-cli.ts",
"start": "node dist/cli.mjs",
"start": "node bin/openclaude",
"web:dev": "bun run --cwd web dev",
"web:build": "bun run --cwd web build",
"web:preview": "bun run --cwd web preview",
+1 -1
View File
@@ -261,7 +261,7 @@ async function main(): Promise<void> {
process.exit(buildCode)
}
const devCode = await runProcess('node', ['dist/cli.mjs', ...options.passthroughArgs], env)
const devCode = await runProcess('node', ['bin/openclaude', ...options.passthroughArgs], env)
process.exit(devCode)
}