Skip to content

Commit ed17bb2

Browse files
authored
chore(deps): upgrade next to 16.3.0 and clean up the TypeScript toolchain (#6235)
Bumps next, @next/env and the @next/swc-* optional deps to 16.3.0 across the root overrides, apps/sim, apps/docs and packages/emcn. Two config notes worth keeping: - `experimental.turbopackFileSystemCacheForBuild`'s default flipped false -> true for stable in 16.3.0, so our explicit `false` is now load-bearing rather than defensive. Without it this bump would have silently re-enabled a build cache measured 3.2x slower on this codebase (#6078). Comment updated to say so. - `experimental.useTypeScriptCli: true` is now pinned. TypeScript 7 ships no JavaScript compiler API until 7.1, so Next's default checker cannot run and needs the project-local `tsc` CLI instead. 16.2.12 was silently skipping build-time type checking entirely because it detected @typescript/native-preview and short-circuited the stage ("Finished TypeScript in 138ms"); pinning the flag keeps that from drifting back. TypeScript toolchain cleanup that the upgrade makes possible: - Drop @typescript/native-preview from apps/sim and apps/docs. It was the pre-release channel for TS 7 and is superseded by typescript@7 (nightlies now ship as typescript@next), and its presence is what suppressed build type checks. - Align packages/browser-protocol and packages/terminal-protocol from typescript ^5.7.3 to ^7.0.2 so every workspace is on one compiler version. apps/sim keeps @typescript/typescript6 as a production dependency: the function sandbox at app/api/function/execute dynamically imports the TS 6 compiler API to transpile user code, and TS 7 has no API to replace it yet. Build and dev were benchmarked 3x per version on a byte-identical tree; the upgrade is performance-neutral (build median 100s -> 99s, dev:full warm 10s -> 9s).
1 parent f210a6e commit ed17bb2

8 files changed

Lines changed: 52 additions & 114 deletions

File tree

apps/docs/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"fumadocs-openapi": "10.8.1",
3232
"fumadocs-ui": "16.8.5",
3333
"lucide-react": "^0.511.0",
34-
"next": "16.2.12",
34+
"next": "16.3.0",
3535
"next-themes": "^0.4.6",
3636
"react": "19.2.4",
3737
"react-dom": "19.2.4",
@@ -50,7 +50,6 @@
5050
"@types/node": "24.2.1",
5151
"@types/react": "^19.1.2",
5252
"@types/react-dom": "^19.0.4",
53-
"@typescript/native-preview": "7.0.0-dev.20260707.2",
5453
"postcss": "^8.5.3",
5554
"tailwindcss": "^4.0.12",
5655
"typescript": "^7.0.2"

apps/sim/next.config.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,12 +219,17 @@ const nextConfig: NextConfig = {
219219
* it lives. Restoring across commits is separately undocumented-as-supported
220220
* (vercel/next.js#87283 reports stale HTML from a cache built elsewhere).
221221
*
222-
* Pinned explicitly rather than left to the Next default: upstream already
223-
* flips this default to true in canary/preview builds (vercel/next.js#94616),
224-
* so relying on the default would let a version bump silently re-enable a
225-
* config we measured as harmful.
222+
* The explicit pin is load-bearing: 16.3.0 flipped this default to true for
223+
* stable (vercel/next.js#94616), so dropping it re-enables the slower cache.
226224
*/
227225
turbopackFileSystemCacheForBuild: false,
226+
/**
227+
* TypeScript 7 ships no JavaScript compiler API until 7.1, so Next's default
228+
* checker cannot load it — this shells out to the project-local `tsc` instead.
229+
* Pinned because the failure mode is not slower type checking but none at all:
230+
* 16.2.12 skipped the stage silently in 138ms.
231+
*/
232+
useTypeScriptCli: true,
228233
preloadEntriesOnStart: false,
229234
/**
230235
* Under Turbopack this is not a no-op: the list feeds

apps/sim/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@
193193
"mongodb": "6.19.0",
194194
"mysql2": "3.14.3",
195195
"neo4j-driver": "6.0.1",
196-
"next": "16.2.12",
196+
"next": "16.3.0",
197197
"next-mdx-remote": "^6.0.0",
198198
"next-runtime-env": "3.3.0",
199199
"next-themes": "^0.4.6",
@@ -260,7 +260,6 @@
260260
"@types/react-dom": "^19",
261261
"@types/ssh2": "^1.15.5",
262262
"@types/three": "0.177.0",
263-
"@typescript/native-preview": "7.0.0-dev.20260707.2",
264263
"@vitejs/plugin-react": "^4.3.4",
265264
"@vitest/coverage-v8": "^4.1.0",
266265
"postcss": "^8",

bun.lock

Lines changed: 32 additions & 97 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@
7979
"overrides": {
8080
"react": "19.2.4",
8181
"react-dom": "19.2.4",
82-
"next": "16.2.12",
83-
"@next/env": "16.2.12",
82+
"next": "16.3.0",
83+
"@next/env": "16.3.0",
8484
"drizzle-orm": "^0.45.2",
8585
"postgres": "^3.4.5",
8686
"minimatch": "^10.2.5",
@@ -89,10 +89,10 @@
8989
"e2b": "^2.36.1"
9090
},
9191
"optionalDependencies": {
92-
"@next/swc-darwin-arm64": "16.2.12",
93-
"@next/swc-darwin-x64": "16.2.12",
94-
"@next/swc-linux-arm64-gnu": "16.2.12",
95-
"@next/swc-linux-x64-gnu": "16.2.12"
92+
"@next/swc-darwin-arm64": "16.3.0",
93+
"@next/swc-darwin-x64": "16.3.0",
94+
"@next/swc-linux-arm64-gnu": "16.3.0",
95+
"@next/swc-linux-x64-gnu": "16.3.0"
9696
},
9797
"devDependencies": {
9898
"@biomejs/biome": "2.0.0-beta.5",

packages/browser-protocol/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@
2626
"devDependencies": {
2727
"@sim/tsconfig": "workspace:*",
2828
"@types/node": "24.2.1",
29-
"typescript": "^5.7.3"
29+
"typescript": "^7.0.2"
3030
}
3131
}

packages/emcn/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484
"framer-motion": "^12.5.0",
8585
"input-otp": "^1.4.2",
8686
"lucide-react": "^0.511.0",
87-
"next": "16.2.12",
87+
"next": "16.3.0",
8888
"prismjs": "^1.30.0",
8989
"react": "19.2.4",
9090
"react-dom": "19.2.4",

packages/terminal-protocol/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@
2626
"devDependencies": {
2727
"@sim/tsconfig": "workspace:*",
2828
"@types/node": "24.2.1",
29-
"typescript": "^5.7.3"
29+
"typescript": "^7.0.2"
3030
}
3131
}

0 commit comments

Comments
 (0)