Выбор ответа Junior Пакеты и зависимости обновлено
Коммитить ли package-lock.json
Вопрос
Нужно ли коммитить package-lock.json в репозиторий приложения?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Да: он фиксирует версии всего дерева, включая транзитивные. Lock-файл единственный способ зафиксировать транзитивные зависимости.
Варианты ответа
- Нет, он генерируется автоматически и только засоряет историю
- Нет, достаточно указать точные версии в package.json
- Да: он фиксирует версии всего дерева, включая транзитивныеправильный ответ
- Только если в проекте нет devDependencies
Разбор
Lock-файл единственный способ зафиксировать транзитивные зависимости. Без него npm install через месяц может поставить другие версии, и баг воспроизведётся только у части команды.
- То, что файл генерируется, не делает его лишним: важен именно зафиксированный результат.
- Точные версии в package.json фиксируют только прямые зависимости.
- devDependencies на это не влияют.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.