Skip to content

chore(deps): upgrade next to 16.3.0 and clean up the TypeScript toolchain - #6235

Merged
waleedlatif1 merged 1 commit into
stagingfrom
chore/nextjs-16.3.0
Aug 4, 2026
Merged

chore(deps): upgrade next to 16.3.0 and clean up the TypeScript toolchain#6235
waleedlatif1 merged 1 commit into
stagingfrom
chore/nextjs-16.3.0

Conversation

@waleedlatif1

Copy link
Copy Markdown
Collaborator

Summary

  • 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
  • Pins experimental.useTypeScriptCli: true — TypeScript 7 ships no JavaScript compiler API until 7.1, so Next's default checker can't run and needs the project-local tsc CLI. 16.2.12 was silently skipping build-time type checking entirely: it detected @typescript/native-preview and short-circuited the stage (Finished TypeScript in 138ms). Builds now actually type-check, so a build can fail where it previously passed
  • Records that experimental.turbopackFileSystemCacheForBuild's default flipped false -> true for stable in 16.3.0, which makes our explicit false load-bearing rather than defensive — without it this bump would have silently re-enabled a build cache measured 3.2x slower on this codebase ([EXPERIMENT — do not merge] Is the Turbopack FS build cache a net win? #6078)
  • Drops @typescript/native-preview from apps/sim and apps/docs. It was the pre-release channel for TS 7, is superseded by typescript@7 (nightlies now ship as typescript@next), and its presence is what suppressed build type checks
  • Aligns 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 deliberately 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.

Type of Change

  • Chore / dependency upgrade

Testing

  • 23/23 packages type-check; next build succeeds
  • 18366/18367 tests pass. The single failure (cloud-review-tools.test.ts, FileNotFoundError: 'rg') is environmental and reproduces identically on a 16.2.12 baseline — CI installs ripgrep explicitly for it
  • bun run check:api-validation passes, biome clean
  • Benchmarked build and dev:full 3x per version on a byte-identical tree: performance-neutral (build median 100s -> 99s, dev:full warm 10s -> 9s)

Two things reviewers should know:

  1. Nine experimental defaults turn on in 16.3.0 that we don't pin. validateRSCRequestHeaders (a CDN cache-poisoning fix) and varyParams both change RSC Vary/caching behavior — worth watching on staging since we sit behind an ALB. cacheComponents is off, so the cacheComponents-gated defaults don't apply
  2. next dev in 16.3.0 now writes a managed agent-rules block into AGENTS.md/CLAUDE.md, with no env or config opt-out. It's kept out of this PR, so expect an uncommitted change locally after running dev

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@waleedlatif1
waleedlatif1 requested a review from a team as a code owner August 4, 2026 01:07
@vercel

vercel Bot commented Aug 4, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Aug 4, 2026 1:20am

Request Review

@cursor

cursor Bot commented Aug 4, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Build-time type checking behavior changes (failures may surface where 16.2.12 passed silently), and Next 16.3.0 enables several experimental defaults and RSC caching header changes worth watching on staging behind the ALB.

Overview
Upgrades Next.js from 16.2.12 to 16.3.0 across the monorepo (next, @next/env, @next/swc-* overrides and lockfile).

In apps/sim/next.config.ts, pins experimental.useTypeScriptCli: true so next build runs the project tsc instead of Next’s in-process checker, which cannot load TypeScript 7 until 7.1—on 16.2.12 the type-check stage was effectively skipped. turbopackFileSystemCacheForBuild: false stays explicit because 16.3.0 flipped that default to true on stable, which would re-enable a build cache measured as much slower on this app.

Removes @typescript/native-preview from apps/sim and apps/docs (superseded by typescript@^7.0.2) and aligns packages/browser-protocol and packages/terminal-protocol to the same TS 7 devDependency. apps/sim still keeps @typescript/typescript6 for the function sandbox transpiler.

Reviewed by Cursor Bugbot for commit 676acd2. Configure here.

@greptile-apps

greptile-apps Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR upgrades Next.js and its associated environment and SWC packages to 16.3.0 while consolidating workspaces on TypeScript 7.

  • Enables Next’s project-local TypeScript CLI checker in the Sim app.
  • Removes the superseded TypeScript native-preview package.
  • Aligns the browser and terminal protocol packages with the repository’s TypeScript version.
  • Preserves the explicit disabled build-cache setting after its upstream default changed.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
apps/sim/next.config.ts Enables Next’s TypeScript CLI checker and documents why the build filesystem cache must remain disabled.
apps/sim/package.json Upgrades Next to 16.3.0 and removes the obsolete TypeScript native-preview dependency while retaining the separate TypeScript 6 runtime compiler.
apps/docs/package.json Upgrades Next and removes the obsolete TypeScript native-preview development dependency.
package.json Aligns root Next environment, framework, and platform-specific SWC dependency versions at 16.3.0.
packages/browser-protocol/package.json Aligns the package’s development compiler with the repository-wide TypeScript 7 toolchain.
packages/terminal-protocol/package.json Aligns the package’s development compiler with the repository-wide TypeScript 7 toolchain.
packages/emcn/package.json Upgrades the component package’s Next development dependency to 16.3.0.
bun.lock Records dependency resolutions consistent with the changed manifests and removes obsolete native-preview resolutions.

Reviews (2): Last reviewed commit: "chore(deps): upgrade next to 16.3.0 and ..." | Re-trigger Greptile

…hain

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).
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cursor review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 676acd2. Configure here.

Comment thread apps/docs/package.json
@waleedlatif1
waleedlatif1 merged commit ed17bb2 into staging Aug 4, 2026
30 checks passed
@waleedlatif1
waleedlatif1 deleted the chore/nextjs-16.3.0 branch August 4, 2026 01:30
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