bunfig: load global ~/.bunfig.toml for runtime commands; fall back past $XDG_CONFIG_HOME - #34987
Closed
robobun wants to merge 10 commits into
Closed
bunfig: load global ~/.bunfig.toml for runtime commands; fall back past $XDG_CONFIG_HOME#34987robobun wants to merge 10 commits into
robobun wants to merge 10 commits into
Claude / Claude Code Review
completed
Jul 21, 2026 in 24m 30s
Code review found 2 potential issues
Found 4 candidates, confirmed 2. See review comments for details.
Details
| Severity | Count |
|---|---|
| 🔴 Important | 0 |
| 🟡 Nit | 2 |
| 🟣 Pre-existing | 0 |
| Severity | File:Line | Issue |
|---|---|---|
| 🟡 Nit | src/options_types/command_tag.rs:90-93 |
Global bunfig's jsx.runtime/development clobbered by local bunfig defaults |
| 🟡 Nit | test/config/bunfig/global-bunfig-runtime.test.ts:96-105 |
node-shim test pipes stderr but never drains it |
Annotations
Check warning on line 93 in src/options_types/command_tag.rs
claude / Claude Code Review
Global bunfig's jsx.runtime/development clobbered by local bunfig defaults
The shallow merge this enables is incomplete for `jsx.runtime`/`jsx.development`: the jsx block in `bunfig.rs` initializes those to `Automatic`/`true` and writes them into `ctx.args.jsx` unconditionally in the `as_mut()` arm (unlike `factory`/`fragment`/`import_source`, which are gated on `!is_empty()`), so a local `bunfig.toml` without a `jsx` key resets a global `jsx = "solid"` back to Automatic. Not a regression — pre-PR the global `jsx` never applied at all for these commands, so observable
Check warning on line 105 in test/config/bunfig/global-bunfig-runtime.test.ts
claude / Claude Code Review
node-shim test pipes stderr but never drains it
This spawns with `stderr: "pipe"` but the `Promise.all` only drains `stdout` and `exited`, leaving stderr unread — the pattern REVIEW.md → Subprocess tests calls out ("drain pipes concurrently … an unread pipe fills the ~64KB OS buffer and deadlocks the child"). Output here is tiny so it won't actually deadlock, but it discards stderr on failure and diverges from this file's own `run()` helper (line 33) which drains all three. Add `proc.stderr.text()` to the `Promise.all`, or thread `argv0` thro
Loading