package-lock.json是否应该提交到npm包的存储库



这类似于我是否提交由npm 5创建的package-lock.json文件?或者package-lock.json也应该发布吗?

但对于npm封装。有人告诉我,不建议将此文件提交到repo(只建议用于应用程序(,但我现在找不到这些信息来确认。

来自npm文档:

package-lock.json的一个关键细节是它无法发布,如果在顶层以外的任何地方发现,它都将被忽略包装

https://docs.npmjs.com/configuring-npm/package-lock-json.html

这是否意味着我是否提交文件就无关紧要了?我这么问是因为github刚刚在我的repo(npm包(中(再次(发现了漏洞,它说漏洞在package-lock.json中(其中一个是由dependency bot-by PR自动修复的(。如果锁定文件不在npm存储库中,这是否意味着npm包也存在漏洞。

关于npm包的锁文件有什么建议?有这些信息的好的参考网站也会很好。

在repo中保持包锁定很有用,因为这意味着无论谁下载并安装项目,都将获得与您完全相同的子依赖项。

GitHub已经对不推荐使用的依赖项感到挑剔,这可能很有用,所以你不必重新安装它们就可以知道。

在某些情况下,您下载旧的回购,并且希望应用程序与上次更新时一样。如果一揽子计划锁定不在回购中,那么几乎不可能做到这一点。

通常,如果依赖项发生了重大更新,则必须更改项目中的代码才能跟上。包锁保护您不必为具有许多不推荐使用的依赖项的旧项目同时进行大量更改。

最新更新