🚀 turborepo-lib-rolldown
基于 Turbo 和 Rolldown 的 Monorepo 工具库开发模板,让你在开发工具库/SDK 时效率翻倍!
🔥 为什么选择这个模板?
-
构建速度快到离谱
- 使用 Rust 编写的 Rolldown 打包器,比传统 Rollup 快 10 倍以上
- Turbo 智能缓存 + 并行构建,一行代码增量构建秒级完成
- 本地开发时可同时运行文档站和打包,实时预览,丝滑体验
-
完备的工具链配置,一次上手即可安心开发
- 代码检查:ESLint(可按需开启 OxLint)
- 代码格式化:Prettier
- 类型安全:TypeScript 全家桶 + 共享 tsconfig
- Git 提交流程:Husky + lint-staged + Commitizen,自动格式化、自动校验、规范化提交信息
-
多种输出格式,开箱即用
一次构建即可产出:- ESM(
dist/es) - CJS(
dist/cjs) - UMD(
dist/umd) - TypeScript 类型声明(
types)
- ESM(
-
文档和 CI/CD 一条龙
- 集成 Docusaurus 3,写文档和开发工具库无缝衔接
- 内置 GitHub Actions:自动测试、自动构建、自动发布
- 使用 Changesets 管理版本,发版只需
pnpm changeset+pnpm release
🛠️ 快速开始
# 使用此模板创建新项目
npx create-turbo@latest -e https://github.com/JsonLee12138/turborepo-lib-rolldown my-library
cd my-library
安装依赖
pnpm install
### 常用脚本
```bash
# 启动文档站 (http://localhost:3000)
pnpm dev:docs
# 监听模式构建工具库
pnpm --filter @jsonlee/core build --watch
# 运行一次性构建(生成 dist/es, dist/cjs, dist/umd, types)
pnpm build
# 代码检查
pnpm lint
# 代码格式化
pnpm format
# 生成版本并发版
pnpm changeset
pnpm release
📂 项目结构
.
├── apps
│ └── docs # Docusaurus 文档站
├── packages
│ └── core # 你的工具库核心代码
├── .eslintrc.js # ESLint 配置
├── .prettierrc # Prettier 配置
├── pnpm-workspace.yaml # pnpm 工作区定义
├── turbo.json # Turbo 配置
└── rollup.config.ts # Rolldown 打包配置
💬 贡献与反馈
欢迎提交 Issue、Pull Request,或在项目主页留下你的建议和问题!
项目地址:
github.com/JsonLee1213…
如果觉得有用,别忘了给个 ⭐️!