father
链接:umijs/father: NPM package development tool (github.com)
father 是一款 NPM 包研发工具,能够帮助开发者更高效、高质量地研发 NPM 包、生成构建产物、再完成发布。它主要具备以下特性:
特征
- ⚔️ 双模式构建: 支持 Bundless 及 Bundle 两种构建模式,ESModule 及 CommonJS 产物使用 Bundless 模式,UMD 产物使用 Bundle 模式
- 🎛 多构建核心: Bundle 模式使用 Webpack 作为构建核心,Bundless 模式支持 esbuild、Babel 及 SWC 三种构建核心,可通过配置自由切换
- 🔖 类型生成: 无论是源码构建还是依赖预打包,都支持为 TypeScript 模块生成
.d.ts类型定义 - 🚀 持久缓存: 所有产物类型均支持持久缓存,二次构建或增量构建只需『嗖』的一下
- 🩺 项目体检: 对 NPM 包研发常见误区做检查,让每一次发布都更加稳健
- 🏗 微生成器: 为项目追加生成常见的工程化能力,例如使用 jest 编写测试
- 📦 依赖预打包: 开箱即用的依赖预打包能力,帮助 Node.js 框架/库提升稳定性、不受上游依赖更新影响(实验性)
tsx
tsx 通过esbuild增强以运行TypeScript和ESM文件
特征
- 超快的按需 TypeScript 和 ESM 编译
- 适用于 CommonJS 和 ESM 软件包
- 支持下一代 TypeScript 扩展 (
.cts&.mts) - 支持导入前缀
node: - 隐藏实验性功能警告
- TypeScript REPL
- 解析
路径tsconfig.json - 在 Linux 和 Windows 上使用 Node.js v12~18 进行测试
cross-spawn
cross-spawn 包就是提供了关于 spawn 函数的跨平台写法,不用开发者处理跨平台的逻辑
特征
在Windows上使用spawn时,Node出现问题
yargs-parser
强大的命令行参数选项解析器
链接:Yargs/YARGS-parser:Yargs 使用的强大选项解析器 (github.com)