【发布时间】:2020-05-13 18:02:25
【问题描述】:
有时人们更改package.json 并忘记运行npm i,这将更新package-lock.json,或者package.json 和package-lock.json 否则会不同步。这是一个不在这里讨论/质疑的假设。我正在寻找一种有助于检测此类情况的工具。
您知道可以对package-lock.json 进行完整性检查的 npm 功能或第三方工具吗?例如,它应该解析所有传递依赖,并检查它们是否都在锁定文件中被提及,并且版本在正确的 semver 范围内。它应该告诉您运行npm i 是否有意义以更新您的锁定文件,或者npm ci 是否会为您提供package.json 中定义的所有依赖项(考虑传递性)。
我认为npm --loglevel verbose install --dry-run 是一个合理的候选者,但它的输出没有提到它会对package-lock.json 做什么,以防它在没有--dry-run 的情况下运行。当然,一种选择是运行npm i,然后运行git diff package-lock.json(或类似的),但这很脏。
【问题讨论】:
标签: node.js npm package.json package-lock.json