npm 5 представил package-lock.json, документация которого здесь.
В нем указано, что файл предназначен для включения в управление версиями, поэтому любой клонирующий ваш пакет и его установка будут иметь одинаковые версии зависимостей. Другими словами, вы не должны добавлять его в свой .gitignore файл.
То, что он не заявляет, более или менее, файл предназначен для включения в опубликованный пакет. Этот вопрос можно перефразировать как; должен ли пакет-lock.json быть включен в .npmignore?