Эквивалент проверки пряжи в нпм

В рамках моей разработки я хотел бы проверить, что версии зависимостей в 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 ( документы), который работает, в том смысле, что он полностью переустанавливает node_modules от того, что находится в файле блокировки, а затем ошибки, если версии в package.json не совпадают

Но это кажется немного тяжелым. Мне интересно, существует ли чисто статический способ запуска этих проверок с помощью npm, который не включает очистку и переустановку всего?

Это не просто из интереса, хотя это отчасти так. Я на самом деле хочу, чтобы он тоже был быстрее, так как он работает на каждой сборке разработчика. Даже с небольшим количеством зависимостей две вышеуказанные команды пряжи выполняются в ~3/4 времени npm ci на моей машине. Я предполагаю, что это станет более выраженным только при большем количестве зависимостей, поскольку запись на диск, вероятно, является здесь узким местом.

2 ответа

Полагаю npm prune( документы) - это то, что вы ищете.

просто попробуй npm install --check-files

Другие вопросы по тегам