From f648483fe78a29906e7de67e5cb8230f1ef7c54f Mon Sep 17 00:00:00 2001 From: robobun Date: Fri, 30 Jan 2026 13:13:28 -0800 Subject: [PATCH] fix(types): add missing SIMD variants to Bun.Build.CompileTarget type (#26248) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Adds missing SIMD variants to the `Build.Target` TypeScript type - The runtime accepts targets like `bun-linux-x64-modern` but TypeScript was rejecting them - Generalized the type to use `${Architecture}` template where possible ## Test plan - [x] Added regression test in `test/regression/issue/26247.test.ts` that validates all valid target combinations type-check correctly - [x] Verified with `bun bd test test/regression/issue/26247.test.ts` Fixes #26247 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Alistair Smith --- packages/bun-types/bun.d.ts | 6 +++--- test/integration/bun-types/fixture/build.ts | 13 ++++++++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/packages/bun-types/bun.d.ts b/packages/bun-types/bun.d.ts index 4621e9854e..f8b6991e48 100644 --- a/packages/bun-types/bun.d.ts +++ b/packages/bun-types/bun.d.ts @@ -2433,11 +2433,11 @@ declare module "bun" { type SIMD = "baseline" | "modern"; type CompileTarget = | `bun-darwin-${Architecture}` - | `bun-darwin-x64-${SIMD}` + | `bun-darwin-${Architecture}-${SIMD}` | `bun-linux-${Architecture}` | `bun-linux-${Architecture}-${Libc}` - | `bun-linux-x64-${SIMD}` - | `bun-linux-x64-${SIMD}-${Libc}` + | `bun-linux-${Architecture}-${SIMD}` + | `bun-linux-${Architecture}-${SIMD}-${Libc}` | "bun-windows-x64" | `bun-windows-x64-${SIMD}`; } diff --git a/test/integration/bun-types/fixture/build.ts b/test/integration/bun-types/fixture/build.ts index 7c7a7fdfdd..fd8969a5a1 100644 --- a/test/integration/bun-types/fixture/build.ts +++ b/test/integration/bun-types/fixture/build.ts @@ -1,10 +1,21 @@ -import { expectType } from "./utilities"; +import { expectAssignable, expectType } from "./utilities"; Bun.build({ entrypoints: ["hey"], splitting: false, }); +// Build.CompileTarget should accept SIMD variants (issue #26247) +expectAssignable("bun-linux-x64-modern"); +expectAssignable("bun-linux-x64-baseline"); +expectAssignable("bun-linux-arm64-modern"); +expectAssignable("bun-linux-arm64-baseline"); +expectAssignable("bun-linux-x64-modern-glibc"); +expectAssignable("bun-linux-x64-modern-musl"); +expectAssignable("bun-darwin-x64-modern"); +expectAssignable("bun-darwin-arm64-baseline"); +expectAssignable("bun-windows-x64-modern"); + Bun.build({ entrypoints: ["hey"], splitting: false,