Согласно
официальной документации package-lock.json предназначен быть в репозитории, чтобы все разработчики проекта работали с одним и тем же набором зависимостей.
Относительно того, что его не нужно включать в код библиотек - неправда:
- Во-первых, когда выполняется npm publish, package-lock.json автоматически исключается из опубликованного пакета (проверьте командой npm archive, например)
- А во-вторых, package-lock.json используется только в корне проекта. В зависимостях он игнорируется. То есть в директории node_modules/your-dependency он может присутствовать невозбранно.
Ответ на ваш вопрос:
никогда не добавляйте package-lock.json в .gitignore