介绍
tsdown 是优雅的库构建工具。它以简洁和高效为设计理念,为您的 TypeScript 和 JavaScript 库提供无缝且高效的打包方式。无论您正在构建小型工具库还是复杂的功能库,tsdown
都能让您专注于核心代码开发,同时以优雅的方式处理打包流程。
为什么选择 tsdown?
tsdown
基于 Rolldown 构建,这是一款采用 Rust 编写的前沿打包工具。尽管 Rolldown 本身就是功能强大的通用型工具,但 tsdown
更进一步,为库开发者提供了完整的开箱即用解决方案。
tsdown 与 Rolldown 的主要区别
- 简化的配置:
tsdown
提供了针对库开发的合理默认配置,减少了复杂配置的需求。它提供了简洁的使用体验,让您专注于代码,而不是打包过程。 - 面向库的特性:与作为通用打包器的 Rolldown 不同,
tsdown
专为构建库而优化。它包括自动生成 TypeScript 声明文件和支持多种输出格式等功能。 - 前瞻准备:作为 Rolldown 的官方项目,
tsdown
深度融入于其生态系统体系,并将随着 Rolldown 的发展不断演进。依托 Rolldown 的技术前沿突破,tsdown
致力于探索库开发的新可能性。此外,tsdown
被定位为 Rolldown Vite 库模式 的核心基座,为库开发者提供长期稳定、功能完备的开发体验。
插件生态系统
tsdown
支持整个 Rolldown 插件生态系统,使您可以轻松扩展和自定义构建过程。此外,它还兼容大多数 Rollup 插件,为您提供了丰富的现有工具库。
有关更多详细信息,请参阅 插件 文档。
它能打包什么?
tsdown
专为现代库开发设计,能够处理所有必要的任务:
- TypeScript 和 JavaScript:无缝打包
.ts
和.js
文件,支持现代语法和特性。 - TypeScript 声明文件:自动为您的库生成声明文件(
.d.ts
)。 - 多种输出格式:生成
esm
、cjs
和iife
格式的包,确保兼容不同的运行环境。 - 资源文件:支持包含和处理非代码资源文件,如
.json
或.wasm
。
通过内置的除屑优化、压缩和源映射支持,tsdown
确保您的库为生产环境做好了充分优化。
快速且优雅
tsdown
的设计目标是快速。借助 Rolldown 基于 Rust 的高性能,即使对于大型项目,它也能提供极快的构建速度。同时,它也非常优雅——提供了一个干净直观的配置系统,最大限度地减少样板代码并提升生产力。
快速上手
准备好开始了吗?查阅 快速上手 指南,构建您的第一个 tsdown
项目。
致谢
tsdown
是站在巨人肩膀上的成果。它由 Rolldown 提供支持,并受到 tsup 等工具的启发。特别感谢开源社区和贡献者们,让这样的项目成为可能。