Зависимости
Dependencies (зависимости) в файле package.json являются объектом, содержащим ключ-значение.
dependencies - то, что необходимо в продакшене (плагины, библиотеки).
devDependencies - то, что необходимо для сборки проекта (минификаторы, транпиляторы, компиляторы).
peerDependencies - используются для указания зависимостей, которые должны быть установлены совместно с вашим пакетом.
Значение версий - комбинация из 3-ех цифр, разделенныйй точками a.b.c.
Первая цифра - определяет мажорную версию пакета. Это означает, что такая версия содержит значительные модификации кода, способные привести к критическим изменениям API.
Вторая цифра - определяет минорную версию пакета, которая содержит незначительные изменения, не приводящие к изменения API.
Третья цифра - определяет версию патча, который обычно содержит исправления ошибок.
Коретка (^) - этот символ означает, что при обновлении пакетов, упомянутых в package.json, с помощью npm update обновятся только патчи и минорные изменения.
Тильда (~) - этот символ означает, что для пакета разрешены только обновления патча.
Для установки последней доступной версии пакета используется npm i ...@latest.