Skip to content

Update to Vite 8 with rolldown#2151

Open
dan-lee wants to merge 4 commits intomainfrom
chore/vite-8
Open

Update to Vite 8 with rolldown#2151
dan-lee wants to merge 4 commits intomainfrom
chore/vite-8

Conversation

@dan-lee
Copy link
Contributor

@dan-lee dan-lee commented Mar 12, 2026

Update vite@8 integration for faster builds via rolldown: https://vite.dev/guide/rolldown

Changes

  • Vite 7.3.1 → 8.0.0 (rolldown-powered bundler)
  • Parallel client/SSR environment builds via createBuilder
  • Per-environment build config (environments.client/environments.ssr) replaces top-level build.ssr
  • rolldownOptions replaces rollupOptions
  • Shiki resolve alias migrated from deprecated customResolver to resolveId hook with rolldown hook filters
  • Schema processing moved to plugin creation time to avoid races in parallel builds
  • erasableSyntaxOnly enabled in tsconfigs (required by Vite 8's strip-types)
  • Removed esbuildOptions from optimizeDeps, removed rollup dependency

Breaking changes

  • Minimum Node.js version: 22.7+ → 22.12+ (Node 20.19+ unchanged)
  • Default browser target updated:
    • Chrome 87 → 111
    • Edge 88 → 111
    • Firefox 78 → 114
    • Safari 14.0 → 16.4

See: https://main.vite.dev/guide/migration

@dan-lee dan-lee added the dependencies Pull requests that update a dependency file label Mar 12, 2026
Copilot AI review requested due to automatic review settings March 12, 2026 11:32
@dan-lee dan-lee added the dependencies Pull requests that update a dependency file label Mar 12, 2026
@vercel
Copy link

vercel bot commented Mar 12, 2026

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

Project Deployment Actions Updated (UTC)
zudoku-cosmo-cargo Ready Ready Preview, Comment Mar 13, 2026 1:49pm
zudoku-dev Ready Ready Preview, Comment Mar 13, 2026 1:49pm

Request Review

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates Zudoku’s Vite integration to Vite 8 (rolldown-powered) and adjusts build/config tooling to support per-environment builds and parallel client/SSR builds, along with required ecosystem and documentation updates.

Changes:

  • Upgrade to vite@8.0.0-beta.16 (rolldown) and update related workspace/lockfile entries.
  • Switch build pipeline to Vite 8’s createBuilder with environments.client / environments.ssr and rolldownOptions.
  • Migrate Shiki resolution from deprecated Vite alias customResolver to a resolveId hook; adjust schema processing timing for parallel builds; update Node/TS configs/docs.

Reviewed changes

Copilot reviewed 17 out of 18 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
pnpm-workspace.yaml Excludes Vite/rolldown/oxc packages from minimum release age gating.
pnpm-lock.yaml Locks upgraded Vite/rolldown/oxc dependency graph and removes direct rollup dependency from zudoku importer.
packages/zudoku/tsconfig.node.json Enables erasableSyntaxOnly for Node TS config.
packages/zudoku/tsconfig.app.json Enables erasableSyntaxOnly for app TS config.
packages/zudoku/src/vite/prerender/prerender.ts Passes --no-deprecation to worker pool processes.
packages/zudoku/src/vite/plugin.ts Switches to new combined Shiki plugin export.
packages/zudoku/src/vite/plugin-shiki-register.ts Adds dedicated Shiki resolveId plugin and exports combined viteShikiPlugin() plugin option.
packages/zudoku/src/vite/plugin-api.ts Moves schema processing to plugin creation time to avoid parallel-build races.
packages/zudoku/src/vite/dev-server.ts Updates config env creation to match new build/environment model (removes isSsrBuild).
packages/zudoku/src/vite/config.ts Migrates to Vite 8 per-environment build config and rolldownOptions; adjusts optimizeDeps/future flags.
packages/zudoku/src/vite/build.ts Reworks build flow to use createBuilder and parallel client/SSR builds.
packages/zudoku/src/lib/authentication/errors.ts Removes TS parameter property (compatible with erasableSyntaxOnly) and assigns explicitly.
packages/zudoku/src/config/validators/icon-types.ts Adds new Lucide icon names to the allowlist.
packages/zudoku/src/config/loader.ts Updates config-loader typing to use Vite build result types (but currently has a type-query issue).
packages/zudoku/package.json Upgrades Vite to v8 beta and removes direct rollup dependency.
packages/zudoku/cli.js Updates Node version requirement messaging/check to >=22.12.0 (or >=20.19.0).
examples/with-vite-config/vite.config.ts Updates example config from rollupOptions to rolldownOptions.
docs/pages/docs/quickstart.md Updates documented Node prerequisite version to 22.12.0+.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link

github-actions bot commented Mar 12, 2026

Preview build of published Zudoku package for commit d641510.

See the deployment at: https://24968a08.cosmocargo-public-package.pages.dev

Note

This is a preview of the Cosmo Cargo example using the Zudoku package published to a local registry to ensure it'll be working when published to the public NPM registry.

Last updated: 2026-03-13T13:51:36.045Z

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file feature Feature maintenance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants