@vitejs/plugin-react

The official Vite plugin for React with Babel-powered Fast Refresh and JSX transforms

Tool
npm
v6.1.1
1,167 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
93 /100 Excellent
Development Activity 100
Maintenance 100
Community 80
Maturity 52
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
83 /100 Excellent
Architecture 80
Code Quality 85
Innovation 75
Learning Curve 90

@vitejs/plugin-react is the default, officially maintained Vite plugin for React projects, enabling JSX/TSX compilation and Babel-based Fast Refresh so component edits update in the browser instantly without losing component state. It is scaffolded automatically by create-vite for every React template and is the plugin most React + Vite projects depend on without ever needing to configure directly.

The plugin lives in the vite-plugin-react monorepo alongside @vitejs/plugin-react-swc (an SWC-based alternative optimized for faster cold starts) and experimental React Server Components tooling (@vitejs/plugin-rsc). @vitejs/plugin-react itself uses Babel, which trades a small amount of transform speed for broader plugin/preset compatibility (including optional React Compiler integration), making it the default recommendation for most projects.

What You Get

  • Automatic JSX/TSX transformation for .jsx/.tsx files using Babel during both dev and build
  • Babel-powered React Fast Refresh, preserving component state across hot module reloads in development
  • Configurable Babel plugin/preset injection for custom transforms (e.g. styled-components, emotion)
  • Optional integration with the React Compiler (babel-plugin-react-compiler) via a dedicated preset
  • Zero-config setup as the default plugin scaffolded by create-vite’s React templates

Common Use Cases

  • Standard React + Vite application development, added automatically via create-vite --template react
  • Enabling Fast Refresh so component state survives edits during local development
  • Adding custom Babel plugins/presets (e.g. for CSS-in-JS libraries) to a Vite-based React build
  • Opting a React codebase into the React Compiler’s automatic memoization via the plugin’s compiler preset

Under The Hood

Architecture: The plugin (packages/plugin-react/src/index.ts) implements Vite’s Plugin interface, transforming matched .[tj]sx? files with Babel and injecting a refresh-runtime.js preamble plus a virtual preamble plugin from the shared @vitejs/react-common package (also used by the SWC sibling plugin-react-swc) so both variants share Fast Refresh wiring logic; a separate reactCompilerPreset.ts composes an optional Babel preset that layers in babel-plugin-react-compiler for projects opting into the compiler. Tech Stack: TypeScript throughout, built as an ESM package consumed by Vite’s plugin pipeline, tested with Vitest, and versioned as one package among several (plugin-react, plugin-react-swc, plugin-rsc, common) in a pnpm-workspace monorepo maintained by the core Vite team (Evan You among the listed authors). Code Quality: The compiler preset ships its own dedicated test file (reactCompilerPreset.test.ts) and the plugin is exercised indirectly by Vite’s own extensive e2e suite across the ecosystem given its status as the default React integration; the small, focused src/ surface (three files) keeps the reviewable footprint minimal for a project this widely depended upon. API Design: The Options interface documents every knob (include/exclude patterns, jsxImportSource, jsxRuntime) with inline JSDoc and sensible defaults, so the overwhelming majority of consumers add react() to their vite.config.ts plugins array with zero configuration.

Used by 211 apps in this directory

Go
90%
AGPL 3.0

Pyroscope

Developer Tools · Devops · Monitoring

11,678

An open-source, horizontally scalable continuous profiling platform that pinpoints CPU, memory, and I/O bottlenecks down to the exact line of code, built by Grafana Labs alongside Loki, Tempo, and Mimir.

View details
91
Repo Health
89
Technical
65
Dependency
Built with
Go 90%
Updated 2 weeks ago
TypeScript
96%
Apache 2.0

rakazo

AI Agents · AI Assistants

3,009

An open-source platform for persistent AI teammates that own their own conversations, memory, routines, and computers — self-hosted, model-agnostic, and available on web, desktop, and mobile.

View details
80
Repo Health
91
Technical
83
Dependency
Built with
TypeScript 96%
Updated 1 weeks ago
TypeScript
95%
AGPL 3.0

Rallly

Scheduling

5,277

Self-hostable group scheduling polls that eliminate back-and-forth emails and find the best meeting time for everyone.

View details
91
Repo Health
75
Technical
66
Dependency
Built with
TypeScript 95%
Updated 1 weeks ago
TypeScript
99%
MIT

React Cosmos

Developer Tools

8,686

An open-source sandbox for developing and testing React and React Native UI components in isolation, with pluggable bundler support for Vite and Webpack.

View details
74
Repo Health
69
Technical
73
Dependency
Built with
TypeScript 99%
Updated 2 weeks ago
Rust
68%
MIT

Readur

Bookmarks Archiving · File Storage · Knowledge Management

797

A self-hosted document management system that OCRs, indexes, and makes every PDF, scan, and Office file instantly searchable.

View details
81
Repo Health
78
Technical
67
Dependency
Built with
Rust 68%
TypeScript 30%
Updated 1 weeks ago
TypeScript
83%
AGPL 3.0

Recordly

Design Tools · Developer Tools · Productivity

31,588

Free, open-source screen recorder and editor for macOS, Windows, and Linux that auto-adds zooms, cursor polish, webcam overlays, and styled frames to your screen captures without any motion-design skills.

View details
83
Repo Health
82
Technical
70
Dependency
Built with
TypeScript 83%
Updated 2 weeks ago
Rust
72%
Apache 2.0

Rivet

AI Agents · Developer Tools

6,195

Stateful actors as a primitive for AI agents, real-time collaboration, and durable execution — with in-memory state, WebSockets, queues, and scheduling built in.

View details
86
Repo Health
81
Technical
64
Dependency
Built with
Rust 72%
TypeScript 25%
Updated 1 weeks ago
TypeScript
97%
Other

Rocket.Chat

Team Chat

46,180

The secure, self-hosted team communications platform for organizations that cannot compromise on data sovereignty.

View details
96
Repo Health
79
Technical
66
Dependency
Built with
TypeScript 97%
Updated 1 weeks ago
TypeScript
98%
Apache 2.0

rowboat

AI Assistants · AI Development

17,983

Build, test, and deploy multi-agent AI workflows with a visual editor, RAG data sources, MCP tool integration, and a production-ready REST API.

View details
85
Repo Health
72
Technical
65
Dependency
Built with
TypeScript 98%
Updated 2 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers