Rsbuild

Rspack-powered build tool that gives web projects fast, zero-config bundling and a rich official plugin ecosystem.

Tool
npm
v2.2.10
3,387 stars
MIT License

Repository Health

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

Technical Analysis

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

Rsbuild is a modern build tool for web applications, built on top of the Rust-based Rspack bundler. It packages Rspack’s raw bundling speed behind a semantic configuration API (source, output, server, dev, html, tools, performance, environments), so teams get out-of-the-box builds for React, Vue, Svelte, Solid, and Preact projects without hand-writing bundler config.

Beyond the config layer, Rsbuild ships its own dev server (HMR, HTTPS, proxying, error overlay), a CLI for dev/build/preview/inspect workflows, and a set of internal plugins that handle asset processing, code splitting, syntax downgrading, and polyfill injection to keep development and production artifacts consistent. It is part of the broader Rstack toolchain (Rspack, Rslib, Rspress, Rsdoctor) from the same maintainers (Bytedance’s web-infra-dev team).

What You Get

  • A CLI (rsbuild dev/build/preview/inspect) plus a programmatic createRsbuild() API for custom tooling and scripts
  • Official framework plugins (@rsbuild/plugin-react, -vue, -svelte, -solid, -preact) for zero-config JSX/SFC support and HMR
  • A built-in dev server with hot module replacement over WebSockets, HTTPS, request proxying, and an in-browser error overlay
  • Rust-based build performance from Rspack and SWC without needing to configure either bundler directly
  • An environments API for building multiple targets (browser, Node.js, worker) from one project config

Common Use Cases

  • Bundling a new web app with zero hand-written Rspack or webpack configuration
  • Migrating an existing webpack or Create React App project to a faster Rust-based build pipeline
  • Building framework-agnostic component libraries that need multiple output targets
  • Composing independently-built micro-frontends together via Module Federation

Under The Hood

Architecture Rsbuild’s core builds around createRsbuild() in src/createRsbuild.ts, which wires roughly thirty internal plugins (pluginAsset, pluginCss, pluginHtml, pluginServer, pluginSwc, pluginModuleFederation, and others under src/plugins/) into a PluginManager (src/pluginManager.ts) that validates plugin shape and orders setup hooks. The CLI (src/cli/) parses commands and delegates to build(), createDevServer(), and startPreviewServer(), which lean on rspackConfig.ts and configChain.ts (a chainable config builder) to translate a resolved RsbuildConfig into an actual Rspack configuration. This cleanly separates “what config means” (initConfigs.ts, defaultConfig.ts, mergeConfig.ts) from “how Rspack builds it” (createCompiler.ts, rspackConfig.ts) and from “how it serves and watches” (src/server/*, restart.ts for HMR) — the plugin registration order and the Rspack adapter layer are the areas with the widest blast radius if changed.

Tech Stack TypeScript makes up over 90% of the codebase, built on @rspack/core (the Rust-based Rspack bundler) and @swc/helpers for fast transforms. The dev server layers connect-next middleware, ws for HMR sockets, chokidar for file watching, sirv for static serving, and http-proxy-middleware/cors for request proxying. Config loading goes through jiti and @rstackjs/load-config to support TypeScript rsbuild.config.ts files, and CSS is processed via postcss/postcss-loader/css-loader/style-loader. The repo is a pnpm workspace with a dozen packages/* (core, create-rsbuild, plugin-react, plugin-vue, plugin-svelte, plugin-solid, plugin-preact, and more) sharing dependency versions through a pnpm catalog, and builds itself using the team’s own “rs” toolchain.

Code Quality The core package alone carries dozens of *.test.ts files covering assets, caching, CSS, environments, externals, and config merging, plus snapshot tests, run through the project’s own rs test task. TypeScript config extends a shared strict base with isolatedDeclarations enabled, and linting/formatting run through the team’s own rs lint/rs fmt tools plus cspell for spell-checking, all gated in GitHub Actions CI. Naming is consistent and every public type is exported from a dedicated types module, giving strong end-to-end type safety across the public API.

API Design Rsbuild’s public surface centers on one semantic RsbuildConfig object (source/output/server/dev/html/tools/performance/environments) that maps directly onto build concerns instead of exposing raw Rspack or webpack config. createRsbuild() plus official framework plugins gives near-zero-config startup for common stacks, while the tools.rspack escape hatch lets existing webpack or Rspack plugins run unmodified alongside Rsbuild’s own plugin system. The environments API lets one config target multiple runtimes from a single project, and the rsbuild inspect command surfaces the fully-resolved config for debugging, meaningfully lowering the learning curve compared to hand-writing Rspack or webpack setups directly.

Used by 9 apps in this directory

Go
92%
AGPL 3.0

BillionMail

Marketing

15,695

Self-hosted email server and marketing platform that gives you unlimited sending, full deliverability control, and AI-assisted campaigns without monthly fees.

View details
52
Repo Health
74
Technical
70
Dependency
Built with
Go 92%
Updated 3 months ago
JavaScript
43%
Other

LimeSurvey

Forms Surveys

3,736

The world's most flexible open-source survey platform with 900+ templates, conditional logic, 80+ languages, and full GDPR compliance for any scale.

View details
86
Repo Health
62
Technical
63
Dependency
Built with
JavaScript 43%
PHP 35%
CSS 12%
Updated 5 days ago
TypeScript
99%
Other

NocoBase

Low Code Platforms · No Code Platforms

24,377

Open-source AI + no-code platform that lets coding agents and people collaborate to build business systems fast on proven infrastructure.

View details
94
Repo Health
81
Technical
63
Dependency
Built with
TypeScript 99%
Updated 5 days ago
TypeScript
85%
GPL 3.0

Notesnook

File Storage · Note Taking · Security

14,660

End-to-end encrypted, open-source note-taking where your data stays yours — even from the server.

View details
90
Repo Health
84
Technical
60
Dependency
Built with
TypeScript 85%
JavaScript 12%
Updated 5 days ago
TypeScript
89%
MIT

Plasmic

CMS · Design Tools · Low Code Platforms

7,048

The open-source visual builder that lets teams design React apps and websites with drag-and-drop while integrating seamlessly with your codebase.

View details
81
Repo Health
78
Technical
64
Dependency
Built with
TypeScript 89%
Updated 5 days ago
TypeScript
96%
Other

Refly

AI Development · Automation · No Code Platforms

7,534

Build deterministic, versioned agent skills from natural language—run them anywhere from Claude Code to Slack.

View details
62
Repo Health
76
Technical
63
Dependency
Built with
TypeScript 96%
Updated 2 months ago
Rust
64%
Apache 2.0

Temps

Analytics · Devops · Monitoring

801

A self-hosted Rust PaaS that replaces Vercel, Sentry, PostHog, Pingdom, Resend, and E2B with one binary — plus 440+ CLI operations agents like Claude Code can drive directly.

View details
81
Repo Health
86
Technical
70
Dependency
Built with
Rust 64%
TypeScript 34%
Updated 4 days ago
JavaScript
75%
AGPL 3.0

Twake Drive

Collaboration · File Storage

987

Open-source, self-hosted file manager with collaborative drives, AI-powered summarization, and OnlyOffice document editing for teams who want full data sovereignty.

View details
90
Repo Health
78
Technical
72
Dependency
Built with
JavaScript 75%
TypeScript 24%
Updated 1 weeks ago
TypeScript
85%
Other

Webiny JS

Blogging · CMS · Ecommerce

8,048

Open-source, self-hosted CMS on AWS serverless — a TypeScript framework you extend with code, not a product you configure through a UI.

View details
90
Repo Health
86
Technical
62
Dependency
Built with
TypeScript 85%
JavaScript 13%
Updated 5 days 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