Skip to content

cli: honor --preserve-symlinks/-main for __filename, make SIGUSR1 inert by default - #35782

Open
robobun wants to merge 8 commits into
mainfrom
farm/5c75b191/node-flag-compat-signals-symlinks
Open

cli: honor --preserve-symlinks/-main for __filename, make SIGUSR1 inert by default#35782
robobun wants to merge 8 commits into
mainfrom
farm/5c75b191/node-flag-compat-signals-symlinks

cli: honor --preserve-symlinks/-main for __filename, make SIGUSR1 ine…

fb2518c
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed Jul 25, 2026 in 19m 44s

Code review found 2 potential issues

Found 5 candidates, confirmed 2. See review comments for details.

Details

Severity Count
🔴 Important 0
🟡 Nit 2
🟣 Pre-existing 0
Severity File:Line Issue
🟡 Nit test/cli/run/node-cli-flags.test.ts:107-127 SIGUSR1 child-inheritance test cannot fail
🟡 Nit src/resolver/resolver.rs:1673-1677 Redundant nested block after let-chain refactor

Annotations

Check warning on line 127 in test/cli/run/node-cli-flags.test.ts

See this annotation in the file changed.

@claude claude / Claude Code Review

SIGUSR1 child-inheritance test cannot fail

This test can't fail for the reason its comment states: Bun's spawn path unconditionally resets every signal to `SIG_DFL` in the child (Linux: `bun-spawn.cpp` startChild's `for(i=0;i<NSIG;i++) sigaction(i,&sa_SIG_DFL,0)` loop; macOS: `POSIX_SPAWN_SETSIGDEF` + `sigfillset`), so even if `bun_initialize_process` used `SIG_IGN`, the spawned `sh` would still get `SIG_DFL` and die on SIGUSR1. Per REVIEW.md, a test that passes both ways is worse than no test — either verify the disposition directly (e.

Check warning on line 1677 in src/resolver/resolver.rs

See this annotation in the file changed.

@claude claude / Claude Code Review

Redundant nested block after let-chain refactor

The let-chain refactor kept the second opening brace from the old nested `if let Some(...) { if let Some(...) {`, leaving a redundant `{ { ... } }` block at lines 1676–1677 that scopes nothing. Delete the inner `{` and its matching `}` so the body sits directly under the let-chain.