把一个真实的 TypeScript 开源库从 tsup 迁移到 tsdown
来源:dev.to — 2026-10-07
📋 概述
is-kit 是一个零依赖的运行时类型守卫库,构建配置本来无聊而正确。作者把打包器从 tsup 换到 tsdown,本以为只是改改配置,结果第一次构建成功的同时,却悄悄改掉了已经属于这个包公开契约的文件。所以文章的重点不在于介绍 tsdown,而在于迁移之后如何验证使用方拿到的包没有变。
🔑 核心要点
- 原包只有单一入口,输出 ESM 与 CJS,带打包后的声明文件、显式 exports 和打包冒烟测试。
- 配置迁移本身确实很小,真正的风险在于产出契约被静默改变。
- 验证方式是比对构建产物与既有的 package contract,而不是只看「构建成功」四个字。
- 给同类迁移的启示是:把公开契约本身当作需要被测试保护的对象。
💡 金句
第一次 tsdown 构建成功了,同时静默地改变了那些已经属于包公开契约的文件。
👍 0
👎 0
← 返回 Dev.to 首页