Должны ли файлы package.json и package-lock.json быть в .gitignore?
Добавляете ли package.json и package-lock.json в список игнорируемых файлов git?
Или у каждого разработчика он должен быть свой и его стоит игнорировать в репозитории?
package-lock.json должен быть обязательно в репе. Бывает, что в используемых библиотеках обновдянтся дочерний модуль и всё, проект перестает собираться. Тогда приходится лезть в lock файл, указывая зависимости.