🚀 用这个模板开发工具库,效率直接翻倍!基于 Turbo+Rolldown 的 Monorepo 方案

75 阅读2分钟

🚀 turborepo-lib-rolldown

基于 Turbo 和 Rolldown 的 Monorepo 工具库开发模板,让你在开发工具库/SDK 时效率翻倍!

🔥 为什么选择这个模板?

  1. 构建速度快到离谱

    • 使用 Rust 编写的 Rolldown 打包器,比传统 Rollup 快 10 倍以上
    • Turbo 智能缓存 + 并行构建,一行代码增量构建秒级完成
    • 本地开发时可同时运行文档站和打包,实时预览,丝滑体验
  2. 完备的工具链配置,一次上手即可安心开发

    • 代码检查:ESLint(可按需开启 OxLint)
    • 代码格式化:Prettier
    • 类型安全:TypeScript 全家桶 + 共享 tsconfig
    • Git 提交流程:Husky + lint-staged + Commitizen,自动格式化、自动校验、规范化提交信息
  3. 多种输出格式,开箱即用
    一次构建即可产出:

    • ESM(dist/es
    • CJS(dist/cjs
    • UMD(dist/umd
    • TypeScript 类型声明(types
  4. 文档和 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…

如果觉得有用,别忘了给个 ⭐️!