Поддержание ваших зависимостей Javascript в актуальном состоянии может стать работой на полный рабочий день.
Со временем зависимости проекта могут устареть из-за исправления ошибок, новых функций и других обновлений. Если в вашем проекте много зависимостей, может быть сложно следить за этими изменениями.
Использование устаревших пакетов может привести к угрозам безопасности и проблемам с производительностью, поэтому важно поддерживать ваши пакеты в актуальном состоянии.
У нас есть несколько вариантов решения этой проблемы.
- Мы можем просмотреть зависимости одну за другой и выполнить следующую команду.
npm install <package>@latest
Это может быть утомительно и отнимать много времени
2. Команда npm outdated проверит каждую установленную зависимость относительно текущей версии в реестре npm и распечатает таблицу с указанием текущей, желаемой (максимальная версия пакета semvar) и последней версии.
npm outdated Package Current Wanted Latest Location Depended by @bugsnag/js 7.19.0 7.20.0 7.20.0 - crm_api @bugsnag/plugin-express 7.18.0 7.19.0 7.19.0 - crm_api aws-sdk MISSING 2.1333.0 2.1333.0 - crm_api body-parser 1.20.1 1.20.2 1.20.2 - crm_api colors 1.3.2 1.4.0 1.4.0 - crm_api dotenv 8.3.2 8.6.0 16.0.3 - crm_api express 4.17.3 4.18.2 4.18.2 - crm_api
3. npm-check-updates (NCU) — это инструмент командной строки, который позволяет вам обновлять зависимости в вашем файле package.json до их последних версий. Он предоставляет простой способ поддерживать актуальность проекта Node.js с помощью последней версии его зависимостей без ручного редактирования файла package.json.
Установить его несложно. Сначала установите глобально npm-check-updates
npm i -g npm-check-updates
После его установки выполните следующую команду.
ncu @bugsnag/js ^7.6.0 → ^7.20.0 @bugsnag/plugin-express ^7.6.0 → ^7.19.0 aws-sdk ^2.825.0 → ^2.1333.0 body-parser ^1.19.0 → ^1.20.2 dotenv ^8.2.0 → ^16.0.3 express ^4.17.1 → ^4.18.2
Предыдущая команда покажет вам все новые зависимости для проекта в текущем каталоге.
Это все, что вам нужно:
- Перечислите устаревшие зависимости в вашем проекте и их последние версии.
- Обновите файл
package.json
до последних версий ваших зависимостей. - Предварительный просмотр изменений перед их внесением
- Отфильтруйте зависимости, которые вы хотите обновить
Вы можете легко обновить, просмотреть новую рекомендуемую версию и вручную обновить файл package.json до новой версии зависимости.
У вас есть возможность запустить эту команду в интерактивном режиме, что даст вам возможность выбрать определенные пакеты для обновления.
ncu -i
Или, если все выглядит хорошо, и вы хотите обновить все пакеты, вы можете запустить следующую команду, чтобы быстро обновить их все.
ncu -u
Сводка
Регулярное обновление зависимостей вашего пакета важно по нескольким причинам:
- Безопасность: устаревшие пакеты могут содержать известные уязвимости, которыми могут воспользоваться злоумышленники. Обновление до последних версий пакетов может помочь снизить эти риски безопасности.
- Исправления ошибок: обновленные пакеты часто содержат исправления ошибок, которые могут улучшить стабильность и функциональность вашего проекта. Это может помочь вам избежать потенциальных проблем, которые могут возникнуть из-за использования устаревших пакетов.
- Производительность: новые версии пакетов могут иметь оптимизацию производительности, которая может повысить скорость и эффективность вашего проекта.
- Совместимость: зависимости могут зависеть друг от друга, а устаревшие пакеты могут вызывать проблемы совместимости с другими частями вашего проекта. Поддержание всех пакетов в актуальном состоянии может помочь обеспечить бесперебойную работу вашего проекта.
Регулярно обновляя зависимости вашего пакета, вы можете улучшить безопасность, стабильность и производительность вашего проекта, избегая при этом проблем совместимости.