Summary
home-tsc exits with signal-derived status 139 and no diagnostic when either supported TypeScript CLI option --skipLibCheck or --ignoreConfig is passed. A no-option control over the same valid file exits 0 in 0.03 seconds.
Found while refreshing the pinned TypeScript oracle for #639. This is separate from, but related to, #486: that issue tracks the missing TS5112 decision when positional files coexist with a config; this issue tracks the crash when the documented escape hatch is used.
Minimal reproduction
// /tmp/home-cli-option-repro.ts
const value: number = 1;
void value;From the repository root:
./zig-out/bin/home-tsc --noEmit --strict /tmp/home-cli-option-repro.ts
# exit 0 in 0.03 s
./zig-out/bin/home-tsc --noEmit --strict --skipLibCheck /tmp/home-cli-option-repro.ts
# exit 139 after about 30 s; stdout/stderr empty
./zig-out/bin/home-tsc --noEmit --strict --ignoreConfig /tmp/home-cli-option-repro.ts
# exit 139 after about 30 s; stdout/stderr emptyThe flags fail independently. The same behavior occurs with the exact post-#634 parent binary and the #639 candidate, so it is not caused by the recursive-default change.
Provenance
- post-#634 parent commit:
773af2405 - parent ReleaseFast SHA-256:
0ae28e7b700ac0effb7e6ec6ee7012ee23bc9387077a61d123bdc3260d4de163 - #639 candidate commit:
a8b99ecfa - candidate ReleaseFast SHA-256:
a201e6d7c5c20f046a9b591ef43d8c47f9679653981d61027d6340fd5ebaab80 - host: macOS arm64
Acceptance criteria
--skipLibCheckcompletes normally and applies the option.--ignoreConfigcompletes normally and performs explicit-file checking without loading the nearby config.- CLI tests cover each flag independently, their combination, and the no-option control.
- #486's TS5112 behavior remains independently testable.