Иногда люди меняют package.json
и забывают запустить npm i
, что обновит package-lock.json
, или package.json
и package-lock.json
в противном случае не синхронизированы c. Это предположение не подлежит обсуждению / сомнению здесь. Я ищу инструмент, который помогает обнаруживать такие случаи.
Вам известна функция npm или сторонний инструмент, который может проверять исправность package-lock.json
? Например, он должен разрешить все транзитивные зависимости и убедиться, что все они упоминаются в файле блокировки с версией в правильном диапазоне семиверов. Должно быть указано, имеет ли смысл запускать npm i
для обновления вашего файла блокировки, или же npm ci
получит вам все необходимые зависимости, как определено в package.json
(учитывая транзитивность).
Я думал, что npm --loglevel verbose install --dry-run
будет разумным кандидатом, но в его выводе не указано, что он будет делать с package-lock.json
в случае, если он будет работать без --dry-run
. Конечно, один из вариантов - запустить npm i
, а затем git diff package-lock.json
(или аналогичный), но это грязно.