Что находится в файле package-lock.json

Ответ

Файл package-lock.json автоматически генерируется npm при установке зависимостей. Он фиксирует точные версии всех пакетов и их зависимостей, включая вложенные, чтобы гарантировать идентичные установки в разных окружениях.

Ключевые особенности:

  • Содержит дерево зависимостей с точными версиями (в отличие от package.json, где могут быть диапазоны).
  • Обеспечивает воспроизводимость сборок (npm ci использует именно его).
  • Автоматически обновляется при изменении node_modules или package.json.

Пример структуры:

{
  "name": "project",
  "version": "1.0.0",
  "dependencies": {
    "lodash": {
      "version": "4.17.21",
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
      "integrity": "sha512-..."
    }
  }
}

Не рекомендуется редактировать его вручную!