Зависимости

Dependencies (зависимости) в файле package.json являются объектом, содержащим ключ-значение.

dependencies - то, что необходимо в продакшене (плагины, библиотеки).

devDependencies - то, что необходимо для сборки проекта (минификаторы, транпиляторы, компиляторы).

peerDependencies - используются для указания зависимостей, которые должны быть установлены совместно с вашим пакетом.

Значение версий - комбинация из 3-ех цифр, разделенныйй точками a.b.c.

Первая цифра - определяет мажорную версию пакета. Это означает, что такая версия содержит значительные модификации кода, способные привести к критическим изменениям API.

Вторая цифра - определяет минорную версию пакета, которая содержит незначительные изменения, не приводящие к изменения API.

Третья цифра - определяет версию патча, который обычно содержит исправления ошибок.

Коретка (^) - этот символ означает, что при обновлении пакетов, упомянутых в package.json, с помощью npm update обновятся только патчи и минорные изменения.

Тильда (~) - этот символ означает, что для пакета разрешены только обновления патча.

Для установки последней доступной версии пакета используется npm i ...@latest.