介绍
robuild 是零配置的 TypeScript/ESM 包构建器。它以"零配置、极速、全能"为设计理念,让您专注于代码本身,而不是繁琐的构建配置。无论是简单的工具库还是复杂的组件库,robuild 都能以最简洁的方式完成构建。
为什么选择 robuild?
robuild 基于 Rolldown 和 Oxc 构建,这是 JavaScript 生态中最前沿的 Rust 工具链。与其他构建工具不同,robuild 深度整合了 Oxc 的完整能力——解析、转换、压缩一体化,带来真正的极速体验。
robuild 的独特优势
- Oxc 全家桶深度集成:robuild 是少数全面采用 Oxc 工具链的构建器。从
oxc-parser解析、oxc-transform转换到oxc-minify压缩,全链路 Rust 加速,构建速度遥遥领先。 - 双配置风格兼容:同时支持 unbuild 风格的
entries数组配置和 tsup 风格的扁平配置,无论您从哪个工具迁移,都能无缝衔接。 - Transform 模式:独有的 Transform 模式,基于 Oxc 逐文件转换,保留目录结构,适合需要保持模块边界的场景。
- 自动 Exports 生成:智能分析构建产物,自动生成符合规范的
package.jsonexports 字段,告别手动维护的烦恼。 - Stub 开发模式:开发时直接链接源码,无需等待构建,配合 Watch 模式实现极致的开发体验。
技术架构
robuild 的技术选型追求极致性能:
源码 → oxc-parser 解析 → oxc-transform 转换 → rolldown 打包 → oxc-minify 压缩 → 产物
(Rust) (Rust) (Rust) (Rust)全链路 Rust 工具链,构建速度比传统 JavaScript 工具链快 10-100 倍。
它能构建什么?
robuild 专为现代库开发设计,覆盖所有常见场景:
- TypeScript & JavaScript:原生支持
.ts、.tsx、.js、.jsx,自动处理最新语法特性 - 类型声明文件:基于
rolldown-plugin-dts自动生成.d.ts、.d.mts声明文件 - 多格式输出:支持
esm、cjs、iife格式,一次构建覆盖所有运行环境 - 资源文件:支持 JSON、WASM 等资源文件的处理和内联
核心特性
⚡ 极速构建
基于 Rust 的全链路工具链,构建速度比 Babel/Rollup 组合快一个数量级:
- oxc-parser:解析速度比 Babel 快 20 倍以上
- oxc-transform:转换速度比 SWC 更快
- rolldown:打包速度比 Rollup 快 10 倍以上
- oxc-minify:压缩速度比 Terser 快 50 倍以上
🎯 真正的零配置
bash
# 就这么简单,自动检测 src/index.ts
npx robuild- 自动检测项目入口和依赖
- 智能推断输出格式和目标平台
- 合理的默认配置覆盖 90% 场景
📦 双模式构建
Bundle 模式 - 打包成单文件:
ts
{ type: 'bundle', input: './src/index.ts' }Transform 模式 - 保留目录结构:
ts
{ type: 'transform', input: './src' }🔄 双配置风格
unbuild 风格(entries 数组):
ts
export default defineConfig({
entries: [
{ type: 'bundle', input: './src/index.ts', format: ['esm', 'cjs'] }
]
})tsup 风格(扁平配置):
ts
export default defineConfig({
entry: ['./src/index.ts'],
format: ['esm', 'cjs'],
dts: true
})📤 自动 Exports 生成
ts
{
generateExports: true,
exports: { enabled: true, autoUpdate: true }
}自动生成规范的 package.json exports:
json
{
"exports": {
".": {
"types": "./dist/index.d.mts",
"import": "./dist/index.mjs",
"require": "./dist/index.cjs"
}
}
}🚀 Stub 开发模式
开发时直接链接源码,零等待:
bash
npx robuild --stub👀 Watch 模式
文件变化自动重建,开发体验拉满:
bash
npx robuild --watch与其他工具对比
| 特性 | robuild | tsdown | unbuild | tsup |
|---|---|---|---|---|
| 零配置 | ✅ | ✅ | ✅ | ✅ |
| Oxc 全链路 | ✅ | ❌ | ❌ | ❌ |
| Rust 打包器 | ✅ Rolldown | ✅ Rolldown | ❌ Rollup | ❌ esbuild |
| Transform 模式 | ✅ | ❌ | ✅ | ❌ |
| 双配置风格 | ✅ | ❌ | ❌ | ❌ |
| Stub 模式 | ✅ | ❌ | ✅ | ❌ |
| 自动 Exports | ✅ | ✅ | ❌ | ❌ |
| 构建速度 | ⚡⚡⚡ | ⚡⚡⚡ | ⚡ | ⚡⚡ |
快速上手
准备好了吗?三步开始:
bash
# 1. 安装
pnpm add -D robuild
# 2. 构建
npx robuild
# 3. 完成!查阅 快速开始 了解更多。
致谢
robuild 的诞生离不开开源社区的贡献:
- Rolldown:高性能 Rust 打包器,robuild 的核心引擎
- Oxc:极速 JavaScript 工具链,提供解析、转换、压缩能力
- tsup:为零配置构建体验和 CLI 设计提供灵感
- unbuild:为 entries 配置风格和 Stub 模式提供启发
- rolldown-plugin-dts:强大的类型声明生成插件
下一步
- 快速开始 - 安装和基本使用
- CLI 使用 - 命令行工具详解
- 配置 - 配置文件选项
- 构建模式 - Bundle 和 Transform 模式详解
- Exports 生成 - 自动生成 package.json exports
