Farm is a Rust native web build tool. Its compiler and built-in compilation plugins handle the module graph, transformation, bundling and optimization in Rust. Official Rust plugins extend this pipeline for frameworks, styling, assets and documentation.
Node.js provides configuration, CLI and development-server orchestration. JavaScript plugins, React rendering and application runtimes remain part of the stack where needed. Vite-compatible plugin adapters provide a migration path; they are not the definition of Farm’s architecture.
This branch contains the v2 release candidate. Source versions and plugin implementations do not establish registry availability or completed release acceptance. Use a matching verified candidate for v2 evaluation; @latest commands select the version currently published to the registry.
Farm puts the compiler and compilation extensions on a native Rust foundation, with one plugin architecture for development and production. It combines incremental compilation and configurable bundling with adapters for existing JavaScript tooling. See Why Farm for architecture and migration details.
- Rust native compilation: a Rust compiler and built-in plugins for scripts, CSS, HTML, JSON, resolution and production optimization.
- Official Rust plugin families: React/Vue, Sass/Tailwind CSS, import automation, SVG/icons, data and assets, workers/Wasm, and documentation tooling. See the plugin overview for source scope and candidate status. Feature coverage varies by plugin.
- Incremental workflows: persistent caching, lazy compilation and hot updates; results depend on workload, configuration and cache state.
- Partial bundling: control output grouping while keeping development and production on the same compiler foundation.
- Extensible migration: Rust and JavaScript compilation plugins, runtime plugins and Vite-compatible adapters. Verify the hooks and framework features your project uses instead of assuming every Vite plugin is interchangeable.
V2 package publication, platform payloads and release acceptance are tracked separately from the availability of source code.
Create a new Farm project with your favorite package manager:
# with npm
npm create farm@latest
# with yarn
yarn create farm@latest
# with pnpm
pnpm create farm@latestVisit Farm Documentation to learn more about Farm.
Historical benchmark data and its workload are available in performance-compare. These results are not measurements of this v2 candidate or guarantees for your project. Compare the same content, configuration, hardware and cache state when evaluating v2.
See Contributing Guide.
-
With Discord
-
Wechat group
- QQ group
|
|
|
|---|---|
|
|
|
|
|
|
Thanks to https://github.com/tmm who donated the farm npm package to the Farm team.
Thanks to projects:
-
The SWC project created by @kdy1, which powers Farm's code parsing, transformation and minification.
-
The NAPI-RS project created by @Brooooooklyn, which powers Farm's node-binding implementation.
-
The Rollup project created by @lukastaegert, which inspired Farm's plugin system implementation.
-
The Vite project created by Evan You, which inspired Farm's compatibility design of ecosystem.
Author:
- brightwu(吴明亮),worked at bytedance. Twitter
Maintainer:






