@Intelligent2014

Как правильно обновить зависимости в MEAN stack приложении?

Если NodeJS+AngularJS приложение с 30 зависимостями (+40 devDependencies). Сейчас приложение работает вроде без проблем. Клиент хочет обновить все зависимости до последней версии (minor.patch и до major в идеале). Как правильнее было бы организовать процесс обновления с сохранением работоспособности приложения? Пока приходят такие мысли:
1. разработать кучу тестов для тестирования того куска кода, где используется компонент (я только вникаю в MEAN стек, поэтому возможно не совсем точно представляю как организовано написание тестов).
2. для обновление minor.patch в package.json для всех зависимостей указать '^' (для версий, которые начинаются с нуля ^0.x)
3. выполнить npm update --save и npm update --save-dev.
4. запустить тесты.
Как оценить примерный объем работы при обновлении до последнего minor.patch и до major версий? Насколько я понимаю при обновлении до minor.patch не должно возникать проблем с совместимостью.
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ответы на вопрос 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Когда facebook выкатывает новую версию react, они пишут:
"Мы убрали такую-то штуку... 99% наших тестов прошло успешно, в остальном мы немного подпилили код и вуаля".
То есть, однозначно, с тестами обновиться вам будет проще. Но писать тесты для всего приложения (не своего, да еще и с небольшим опытом) - это объемная и долгая задача.

По сути, если вы оцените время на написание тестов - это будет в худшем случае половина, в лучшем 9/10 общего времени на задачу.

На мой взгялд, если не стоит задачи заработать денег / закрыть критический баг - не стоит вовсе обновляться.

Есть Вредный совет для успокоения души:
Взять проект, создать отдельную ветку, удалить папку node_modules, установить утилиту npm-check-updates и посмотреть для скольких пакетов у вас есть обновления. NCU так же укажет, что "для некоторых пакетов есть новые версии, которые превышают правило в package.json". Если готовы обновить вообще все, используйте ncu -a, а потом npm install. Запускайте приложение и смотрите сколько будет errors/warnings.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы