JavaScript

package.json | package-lock.json

package.json

Файл package.json это сердце node.js
Это манифест любого node.js проекта который содержит его метаданные такие как:

package-lock.json

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

Этот файл должен быть закоммичен в репозиторий для следующих задач:

Есть еще npm-shrinkwrap.json, он имеет такой же синтаксис как package-lock.json и решает похожии проблемы, но в отличие от package-lock.json он может быть опубликован (имеется ввиду вместе с пакетом)

Бывают "скрытые" локфайлы - node_modules/.package-lock.json. Они нужны чтобы избежать полной повторяющейся обработки папки node_modules