/posts/whats-new-aug-2025.md
Welcome to another edition of What’s new in ViteLand! Every month, we recap the project updates for Vite, Vitest, Oxc, Rolldown and what’s happening in our community.
Oxlint is meant to be a full-fledged linting replacement that runs at native speed. In other words, it has to cover existing linting rules, plugins, and use cases. Otherwise, users will need both Oxlint and another linter. This month, Oxlint made 2 big progress updates towards being a comprehensive replacement:
Type-aware linting released. Type-aware linting has been a big feature gap for native linters because they require reading multiple files to infer type, which negates performance gains. However, Oxlint was able to maintain fast performance by building on TypeScript’s native Go port and tsgolint
. The official preview of Oxlint’s type-aware linting supports 40 type-aware rules, including no-floating-promises
.
Custom JS plugins support roadmap. Oxlint’s custom JS plugin support is a "have my cake and eat it too" solution that provides an ESLint-compatible API and fast performance. After months of researching and prototyping, the team has found a way to run existing ESLint plugins from NPM and offer an ESLint-compatible API for custom rules and plugins. In the future, almost all ESLint plugins will work with Oxlint without modification, while maintaining the strong performance characteristics that Oxlint is known for.
@vitejs/plugin-rsc
. The goal is to offer a unified solution for every vite-based React framework.@vitejs/plugin-react
version 5 has been released. It now integrates @vitejs/plugin-react-oxc
directly when rolldown-vite
is detected, so no different plugin is needed anymore.vite-plugin-pwa
(and other Vite plugins) are in place now, speeding them up when using rolldown-vite
.inlineConst
feature, which inlines imported constant values during bundling (instead of referencing them). It reduces bundle size and improves runtime performance due to fewer variable lookups. This optimization will be applied by default from version 1.0.0-beta.35
on.tsconfig
option. You can point it to your project's tsconfig path, allowing the resolver to respect aliases from compilerOptions.paths
and setting defaults for transform settings. This supersedes the previously introduced resolve.tsconfigFilename
option.styled-components
, your builds can become even faster as Oxc now supports most of its features as native transform. It can be easily enabled in Rolldown too as this example shows.tsgolint
can benefit everyone! Team member Cameron sent multiple PRs to the typescript-go
repository to improve its performance in various cases, helping the whole ecosystem.Stay tuned for these exciting events where VoidZero team members will be sharing insights and giving talks:
rolldown-vite
in their latest Web Dev News episode.oxc-minify
, the bundle size improved by 18%, cutting down 463 KiB.tsup
is not actively maintained anymore. Luckily you can switch to tsdown
easily with a simple command.tsdown
and Rolldown.rolldown-vite
out of the box: After SvelteKit, Nuxt also joined the ranks with their PR.rolldown-vite
's ecosystem CI, meaning it is fully compatible with the rolldown-powered Vite version.rolldown-vite
? Now, with all native plugins enabled, their build time got reduced by 7x, from 2.5 minutes of Vite to 22s with rolldown-vite
. That is also 43x faster than their existing Webpack build.CallToAction.vue