Npm的分阶段发布和新的安装时控件

今天,我们将发布两项更新,重点关注npm的供应链安全:分阶段发布已全面推出。新的--allow- *安装源标志( --allow-file、--allow-remote、--allow-directory )补充了现有的--allow-git标志。两者…… POST分阶段发布和新插件……

今天,我们将发布两项更新,重点关注npm的供应链安全:分阶段发布已全面推出。新的--allow- *安装源标志( --allow-file、--allow-remote、--allow-directory )补充了现有的--allow-git标志。两者均可在npm CLI 11.15.0或更高版本中使用。分阶段发布已全面推出分阶段发布现已在npm上全面推出。

预构建的tarball不是立即向消费者提供包版本的直接发布,而是上传到阶段队列,维护人员必须在可安装之前对其进行显式批准。队列在npmjs.com和npm CLI中均可见。

分阶段发布强化了每次发布的存在证明,包括那些源自非交互式CI/CD工作流的发布,以及那些使用OIDC可信发布的发布。具有2FA质询的人工维护者需要在将暂存包发布到注册表之前对其进行批准。分阶段发布现已上线,文档也已上线。要使用npm stage,需要使用npm CLI 11.15.0或更高版本。

更新CI/CD工作流程,在需要暂存行为的位置使用npm stage publish而不是npm publish。我们建议将分阶段发布与受信任发布(OIDC)配对。受信任的发布配置可以仅限于阶段发布,这意味着来自该工作流程的npm发布将被拒绝,并且仅接受npm阶段发布。

你的CI工作流程继续非交互式运行,维护人员稍后会从网站或CLI批准暂存版本。您还可以在本地运行npm stage publish,但最高值的设置是CI发布到阶段队列,并由维护者从受信任的设备进行审批。如果您已批量管理2026年2月发布的受信任发布配置,则可以使用它将包迁移到分阶段发布。