Skip to content

chore: upgrade Bun to 1.4.3 and type check with bun check - #598

Merged
kianbazza merged 1 commit into
canaryfrom
ui-653-upgrade-bun-to-143-and-type-check-with-bun-check
Oct 10, 2026
Merged

kianbazza merged 1 commit into
canaryfrom
ui-653-upgrade-bun-to-143-and-type-check-with-bun-check

Conversation

@kianbazza

@kianbazza kianbazza commented Oct 10, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Bun 1.4.3 ships bun check, a type checker ported from TypeScript 7.0.2 (the version the repo pins). It reads the same tsconfig.json and reports the same errors as tsc. This moves the repo and CI to 1.4.3 and swaps the type-check scripts over.

 .prototools                  bun = "1.3.11"  →  "1.4.3"
 package.json                 "packageManager": "bun@1.3.11"  →  "bun@1.4.3"
 .github/workflows/*.yml      bun-version: 1.3.11  →  bun-version-file: package.json
 */package.json               "type-check": "tsc --noEmit"  →  "bun check"
 apps/web/package.json        "type-check": "tsc --noEmit"  →  "bun --check"

apps/web has its own check script (Biome), and bun check runs a package's check script when one exists. bun --check always means the type checker. typescript stays installed for editors and the .d.ts builds.

Evidence

Same result as tsc in every package, measured on canary before the switch (wall time):

Package tsc --noEmit bun check
apps/playground-nextjs 0.20 s 0.04 s
apps/web 1.10 s cold, 0.30 s warm 0.34 s
packages/filters 0.29 s 0.07 s
packages/react 0.47 s 0.12 s
tooling/lint (TS 5.9) 0.45 s 0.04 s

apps/web and apps/playground-nextjs set incremental, so a warm local tsc reuses tsconfig.tsbuildinfo and is about as fast as bun check, which keeps no cache. CI always starts cold.

A type error still fails the script, including in apps/web:

$ echo 'export const __probe: number = "x"' >> apps/web/next.config.ts
$ bun run --cwd apps/web type-check
Found 1 error in 1 file, checked 280 files [230.96ms]
error: script "type-check" exited with code 1

Merge Danger

Door: two-way

Reverting the commit restores tsc and Bun 1.3.11.

Blast Radius: releases

The publish workflows run bun publish on 1.4.3 from the next canary. ci:publish and ci:publish:canary end each bun publish with || true, so a failed publish would not fail the job. Check that the first canary after this merge reaches npm.

Closes UI-653

@vercel

vercel Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
ui-canary Ready Ready Preview Oct 10, 2026 1:20pm UTC

Request Review

@linear-code

linear-code Bot commented Oct 10, 2026

Copy link
Copy Markdown

UI-653

@kianbazza kianbazza self-assigned this Oct 10, 2026
@kianbazza
kianbazza marked this pull request as ready for review October 10, 2026 16:39
@kianbazza
kianbazza merged commit 86e4cd9 into canary Oct 10, 2026
5 checks passed

This branch was successfully deployed

1 active deployment
Preview – ui-canary — 4c4acc1a Deployed Oct 10, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant