javascript

Представляем «npm ci» для быстрых и более надёжных сборок

  • суббота, 10 марта 2018 г. в 03:13:22
https://habrahabr.ru/post/350762/
  • JavaScript


С сегодняшнего дня все пользователи npm могут использовать преимущество новой команды установки, называемой «npm ci». Команда предоставляет массивные улучшения в производительности и надёжности сборок для процессов непрерывной интеграции и непрерывного деплоя, предоставляя последовательный и быстрый опыт для разработчиков, использующих CI/CD в своей работе.

Что это за ботва такая?


npm ci игнорирует package.json пакета и устанавливает модули руководствуясь локфайлом (package-lock.json). Это позволяет создавать воспроизводимые сборки: вы получаете именно то, что ожидаете при каждой установке.

Ранее, разработчики, которые желали получить синхронизированные node_mobules и package.json, архивировали свою папку node_modules. npm ci заменяет этот процесс единственной командой.

Почему?


Это быстро.





npm ci быстрый — в некоторых случаях, в два раза быстрее npm i. Он предоставляет значительное увеличение производительности для всех разработчиков, использующих непрерывную интеграцию.

Эти увеличенные скорость и надежность сокращают время и способствуют лучшим практикам разработки. Это быстрее и проще для запуска тестов, разработчики могут запускать их чаще и активнее перехватывать ошибки.

npm ci обещает, что наибольшее преимущество получат большие команды. Возможность давать разработчикам «подписываться» на файл блокировки способствует более эффективной совместной работе в больших командах, и возможность установки именно того, что описано в файле блокировки, потенциально может сохранить десятки, если не тысячи, рабочих часов в месяц, позволяя командам тратить больше своего времени на создание и поддержку прекрасных вещей.

Это увеличивает надёжность


npm ci также предоставляет дополнительные варианты улучшения надёжности билдов вашего приложения. Как дополнительная инсталляционная команда, npm ci может быть использована для возвращения к изначальному состоянию, если npm i завершился с ошибкой, и наоборот. Это значительно снижает вероятность неудачной установки.

Как?


npm ci доступен сразу же после обновления на самую последнюю версию npm: выполните npm install -g npm@latest. Для больших подробностей о релизе обратитесь к логу изменений.

Что вы думаете?


Мы желаем знать как это работает для вас в том числе. Вопросы? Результаты? Хотите поделиться тем, что вы и ваша команда создали? Пишите нам.