Как часть моей разработки, я хотел бы проверить, что версии зависимостей в node_modules
соответствуют ожидаемым в соответствии с тем, что указано в package.json
, и файлом блокировки package-lock.json
.
В пряже вы можете сделать это с помощью yarn check
yarn check
проверяет package.json
соответствует файл блокировки
yarn check --verify-tree
проверяет, что package.json
соответствует тому, что действительно присутствует в node_modules
Я пытаюсь добиться того же, используя npm (версия 6+).
В настоящее время я использую npm ci
( docs ), который работает, в том смысле, что он полностью переустанавливает node_modules
из того, что находится в файле блокировки, и затем выдает ошибки, если версии в package.json
не совпадают
Но, это кажется немного тяжелым. Мне интересно, существует ли чисто статический способ запуска этих проверок с помощью npm, который не включает очистку и переустановку всего?
Это не просто неинтересно, хотя отчасти это так. Я на самом деле хочу, чтобы он тоже был быстрее, так как он работает на каждой сборке разработчика. Даже с небольшим количеством зависимостей две вышеуказанные команды пряжи выполняются за ~ 3/4 времени npm ci
на моей машине. Я предполагаю, что это станет более выраженным только при большем количестве зависимостей, поскольку запись на диск, вероятно, является здесь узким местом.