Skip to content

build: bun-standalone — reduced-footprint --compile runtime - #32262

Open
Jarred-Sumner wants to merge 12 commits into
mainfrom
claude/bun-standalone
Open

build: bun-standalone — reduced-footprint --compile runtime#32262
Jarred-Sumner wants to merge 12 commits into
mainfrom
claude/bun-standalone

docs/test: measured size table + assert -standalone in --revision

dd34b28
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed Jun 15, 2026 in 9m 32s

Code review found 2 important issues

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

Details

Severity Count
🔴 Important 2
🟡 Nit 1
🟣 Pre-existing 0
Severity File:Line Issue
🔴 Important .buildkite/scripts/upload-release.sh:288-296 upload-release.sh: standalone artifacts uploaded twice + bogus derivation
🔴 Important src/bun_core/Global.rs:440-446 STANDALONE_SUFFIX in package_json_version breaks Bun.version and GitHub release URLs
🟡 Nit src/runtime/cli/build_command.rs:76-79 Dead cfg(bun_standalone) branch in build_command.rs

Annotations

Check failure on line 296 in .buildkite/scripts/upload-release.sh

See this annotation in the file changed.

@claude claude / Claude Code Review

upload-release.sh: standalone artifacts uploaded twice + bogus derivation

Two mutually-exclusive approaches for uploading standalone artifacts are both active: line 269 appends `standalone_artifacts` into `artifacts` (so the first loop already uploads them with hard-fail semantics), and the second loop at 292-295 then iterates the same extended array applying `${artifact/bun-/bun-standalone-}`, re-uploading every standalone zip a second time and deriving bogus names like `bun-standalone-standalone-darwin-aarch64.zip` and `bun-standalone-linux-aarch64-android.zip`. Eit

Check failure on line 446 in src/bun_core/Global.rs

See this annotation in the file changed.

@claude claude / Claude Code Review

STANDALONE_SUFFIX in package_json_version breaks Bun.version and GitHub release URLs

Adding `STANDALONE_SUFFIX` to `package_json_version` leaks into surfaces the PR description didn't target: in standalone release builds `Bun.version` / `process.versions.bun` become `"1.4.0-standalone"` (so `semver.gte(Bun.version, '1.4.0')` is **false** in every `--compile` output), and `Bun__githubURL` / `BUN__GITHUB_BASELINE_URL` in `cli/shared.rs` become `.../releases/download/bun-v1.4.0-standalone/...` — a 404, since releases are tagged `bun-v1.4.0`. Consider keeping `package_json_version` 

Check warning on line 79 in src/runtime/cli/build_command.rs

See this annotation in the file changed.

@claude claude / Claude Code Review

Dead cfg(bun_standalone) branch in build_command.rs

nit: `pub mod build_command` is itself gated `#[cfg(not(bun_standalone))]` in `cli/mod.rs`, so this module never compiles under `cfg(bun_standalone)` — the added `#[cfg(bun_standalone)]` arm (and the now-redundant `#[cfg(not(bun_standalone))]` on the return) are dead code. Harmless, but worth removing for clarity.