Performance: Enable React Compiler

With the React Compiler, our component code is transformed at build time to automatically apply various forms of memoization. This changes the runtime semantics of our code a little bit and therefore could surface new bugs in the next release cycle in case any components fail to follow the rules of React. See https://react.dev/learn/react-compiler for more information.

This results in a small bundle size increase and modest performance gains, but I think it's worth it given the potential for larger performance gains once we tune the component structure a bit more.
This commit is contained in:
Robin
2026-08-04 12:49:53 +02:00
parent a08a577e18
commit 608695fc95
4 changed files with 65 additions and 12 deletions

View File

@@ -7,7 +7,7 @@ Please see LICENSE in the repository root for full details.
import {
loadEnv,
PluginOption,
type PluginOption,
searchForWorkspaceRoot,
type ConfigEnv,
type UserConfig,
@@ -19,8 +19,8 @@ import { codecovVitePlugin } from "@codecov/vite-plugin";
import { sentryVitePlugin } from "@sentry/vite-plugin";
import { nodePolyfills } from "vite-plugin-node-polyfills";
import wasm from "vite-plugin-wasm";
import react from "@vitejs/plugin-react";
import babel from "@rolldown/plugin-babel";
import react, { reactCompilerPreset } from "@vitejs/plugin-react";
import { realpathSync } from "fs";
import * as fs from "node:fs";
@@ -29,6 +29,9 @@ export const vitePluginsConfig = ({
}: Pick<ConfigEnv, "mode">): UserConfig => {
const env = loadEnv(mode, process.cwd());
const plugins: PluginOption[] = [
babel({
presets: [reactCompilerPreset()],
}),
react(),
wasm(),
nodePolyfills({