2.0.11
修复
-
pushoo的 CommonJS 入口指向不存在的文件(#1202,修复 #1194):包内package.json的main与exports["."].require指向./dist/index.cjs,而构建产物其实是dist/index.js(CJS)。于是:Error: Cannot find module '.../node_modules/pushoo/dist/index.cjs'ESM 侧走
exports.import→.mjs,一直是好的,所以这个问题藏在 2.0 系列每一个已发布的版本里(从2.0.0-beta.1到2.0.10)。根因是入口字段与产物扩展名契约不符:非
type: module的包,CJS 侧固定输出.js(.cjs只属于type: module的包,用于与 ESM 侧.mjs区分)。pushoo是全仓唯一没按该契约写的包,现已改正。升级到 2.0.11 即可恢复
require("pushoo")(require("pushoo").default/.notice均已验证可用);在此之前请改用import("pushoo")。
变更
-
npm 可见性 gate 的超时从 10 分钟提到 1 小时(#1201):发布成功后 npm 还可能继续跑自动化审查(包页版本历史显示
Validating),其间版本对外不可见。2.0.10 的@twikoojs/edgeone-makers(7.4 MB 单文件包,内联了完整实现)就是这样 —— 10 分钟超时先到、gate 判失败,导致它下游的 Docker 镜像 / SEA 产物 / 文档站后端重建三个收尾 job 全被跳过(该版本实际在发布约 13 分钟后才通过审查)。现在 gate 等 1 小时,并改为墙钟计时:此前按「累计 sleep 秒数」计数,而每轮还要跑 10 次npm view,实际等待时长比配置值长约 50%,配置值与体感对不上。 -
新增发布包入口契约守卫(#1202):
packages/tsdown-config/test/entry-points.test.ts对全部非 private 包断言三条 —— 入口扩展名符合产物扩展名契约、声明的入口文件真实存在、入口被files白名单覆盖。这类错误以前要到用户装包之后才暴露。
Full Changelog: 2.0.10...2.0.11