有时人们改变package.json
并忘记运行npm i
哪个会更新package-lock.json
,或者package.json
不package-lock.json
同步。这是一个不在这里讨论/质疑的假设。我正在寻找一种有助于检测此类情况的工具。
您知道可以进行完整性检查的 npm 功能或第三方工具package-lock.json
吗?例如,它应该解析所有传递依赖,并检查它们是否都在锁定文件中提及,并且版本在正确的 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
(或类似),但这很脏。