发布前检查说明
命令
也可以通过 GitHub Actions 手动触发 Release Preflight workflow;推送 v* tag 时也会自动执行同一套门禁。
它会做什么
- 检查
package-lock.json是否与当前package.json版本一致,且不包含file:/workspace:/ sibling 本地路径残留。 - 检查当前
package.json版本对应的 changelog 文件是否存在。 - 检查工程治理必需文档是否存在:
docs/support-matrix.mddocs/file-dependency-governance.mddocs/verification-entrypoints.md
- 运行
npm run verify:fast - 运行
npm test - 运行
npm pack --dry-run - 原始
npm publish仍会通过prepublishOnly触发同一套release:preflight,防止绕过门禁 - 仓库发布 workflow 和
npm run release:publish会先显式执行release:preflight,再用npm publish --ignore-scripts发布,避免在发布动作内重复执行完整门禁 - 不会运行
npm run verify:release(后者依赖私有真实环境,属于操作者显式 opt-in 的补充复核)
为什么不是直接 publish
这个脚本的目标是把版本信息、公开验证链、依赖发布边界、打包可消费性先收口,再进入人工确认的 release / tag / publish 阶段。
推荐顺序
若走仓库自动化路径,可先手动运行 GitHub Actions 的
Release Preflight,确认通过后再推送v*tag 或手动运行Publish to npmworkflow。真实 publish step 已跳过重复 lifecycle scripts,因为同一 job 前置步骤已经完成release:preflight。