package-lock.json и воспроизводимые сборки фронтенда
Зачем коммитить lockfile, как `npm ci` отличается от `npm install` в CI и что делать при конфликте версий.
Lockfile фиксирует точное дерево зависимостей; без него `npm install` на CI и у разработчика может тянуть разные патчи и ломать сборку «ни с того ни с сего».
`npm ci` удаляет node_modules и ставит строго по lock — правильный выбор для pipeline.
- package-lock.json — npm docs — Назначение и формат.
- npm ci — npm docs — Чистая установка для CI.
Политика команды
Запретите ручное удаление lockfile «для починки» без PR-обсуждения; обновляйте зависимости отдельными коммитами с changelog.
Для монорепо документируйте, какой менеджер (npm/pnpm) каноничен — смешение lock-файлов недопустимо.