package-lock.json: записывает точную версию каждого установленного пакета, что позволяет вам переустановить их. В будущих установках будет возможно создать идентичное дерево зависимостей.
package.json: записывает минимальную версию, которая нужна вашему приложению. Если вы обновите версии определенного пакета, это изменение не будет отражено здесь.
Оформить заказ в этой теме: Нужны ли мне и package-lock.json, и package.json?