research: Update Vite configuration and plugins for Rolldown/OXC compatibility #71
Labels
No labels
area:api
area:core
area:docs
area:infra
area:ux
dependencies
documentation
duplicate
good first issue
help wanted
invalid
question
rust
status:complete
status:partial
status:planned
type:bug
type:design
type:feature
type:infra
type:refactor
type:refactor
type:research
type:ux
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
icub3d/decentcom#71
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Migrated from GitHub issue icub3d/decentcom#104
Original Author: @icub3d
Original Date: 2026-04-19T18:45:53Z
Feature: Update Vite configuration and plugins for Rolldown/OXC compatibility
Overview
Update the client's Vite configuration to address deprecation warnings and adopt the recommended transition path to Rolldown/OXC. This includes switching to the OXC-based React plugin for improved performance and updating configuration options that have been deprecated in favor of their Rolldown equivalents.
Background
Vite is transitioning its internal bundling and transformation logic to use Rolldown and OXC. The development logs currently show several deprecation warnings:
esbuildoption invite:react-babelis deprecated in favor ofoxc.optimizeDeps.rollupOptionsis deprecated in favor ofoptimizeDeps.rolldownOptions.@vitejs/plugin-reactto@vitejs/plugin-react-oxc.Note on Implementation
Research revealed that
@vitejs/plugin-react-oxc(latest: 0.4.3) only supports Vite^6.3.0 || ^7.0.0and is incompatible with Vite 8, which this project already uses. With Vite 8,@vitejs/plugin-react@6.xis the correct plugin — it is the Vite 8-native version that uses Rolldown/OXC internally and replaces the older Babel-based pipeline. The OXC plugin was the "future default" for Vite 6/7 era; with Vite 8 it was merged back into the main plugin.Requirements
@vitejs/plugin-react4.x to 6.x (Vite 8 / Rolldown/OXC native).Design
Component Changes
client/package.json: Swap dependencies and update scripts if necessary.client/vite.config.ts: Update plugin imports and configuration structure.Task List
@vitejs/plugin-react-oxcand compatible Vite versions.@vitejs/plugin-react@6.x(Vite 8 compatible replacement) and remove@vitejs/plugin-react@4.x.vite.config.tsto use the new plugin and migrateoptimizeDepsoptions. (No changes needed —optimizeDepswasn't configured, and the plugin API is identical.)@tailwindcss/vite. (None — works cleanly.)Test List
pnpm devand verify the console is free of deprecation warnings.pnpm buildto ensure production assets generate correctly. (Vite bundling works; pre-existing TS type errors intscare unrelated to this issue.)pnpm testto ensure Vitest integration is unaffected. (89/89 tests pass.)Open Questions
@vitejs/plugin-react-oxcfully support all React 19 features used in the project? Moot — using@vitejs/plugin-react@6.xinstead, which is Vite 8 native.