npm-check-updates обновляет ваши зависимости package.json до последних версий, игнорируя указанные версии.

  • поддерживает существующие семантические политики управления версиями, то есть от "express": "^4.0.0" до "express": "^5.0.0".
  • изменяет только файл package.json. Запустите npm install для обновления установленных пакетов и package-lock.json.
npm-check-updates
  • Красный = значительное обновление
  • Голубой = незначительное обновление
  • Зеленый = обновление патча

Вы также можете рассмотреть npm-check. Схожие цели, разные функции.

к содержанию ↑

Установка

npm install -g npm-check-updates

Использование

Показать все новые зависимости для проекта в текущем каталоге:

$ ncu
Checking package.json
[====================] 5/5 100%

 express           4.12.x  →   4.13.x
 multer            ^0.1.8  →   ^1.0.1
 react-bootstrap  ^0.22.6  →  ^0.24.0
 react-a11y        ^0.1.1  →   ^0.2.6
 webpack          ~1.9.10  →  ~1.10.5

Run ncu -u to upgrade package.json

Обновится файл пакета проекта:

Убедитесь, что файл вашего пакета находится под контролем версий и все изменения были зафиксированы. Команда перезапишет файл вашего пакета.

$ ncu -u
Upgrading package.json
[====================] 1/1 100%

 express           4.12.x  →   4.13.x

Run npm install to install new versions.

$ npm install      # Обновить установленные пакеты и файл package-lock.json

Проверить глобальные пакеты:

$ ncu -g           # Добавьте -u чтобы получить однострочную команду для обновления

Вы можете включать или исключать определенные пакеты, используя опции --filter и --reject. Они принимают строки, разделенные запятыми или пробелами списки или регулярные выражения:

$ ncu mocha             # сокращенная -f mocha (or --filter)
$ ncu one, two, three

# exclude packages
$ ncu -x nodemon        # короткая команда для ncu --reject nodemon

# пакеты начинающиеся с "gulp-"
$ ncu "/^gulp-.*$/"

# Пакеты не начинающиеся на  "gulp-"
$ ncu '/^(?!gulp-).*$/' # mac/linux
$ ncu "/^(?!gulp-).*$/" # windows
к содержанию ↑

Опции

--concurrency            максимальное количество одновременных HTTP-запросов к реестру npm 
                         (default: 8)
--configFilePath         путь к файлу конфигурации rc (по умолчанию: каталог `packageFile` или ./ в противном случае)
--configFileName         Имя файла конфигурации rc (по умолчанию: .ncurc. {json, yml, js}) --cwd Используется в качестве текущего рабочего каталога для `spawn` в npm 

--dep                    проверить только определенный раздел (ы) зависимостей:
                         prod|dev|peer|optional|bundle (разделены запятой)
--engines-node           включать только пакеты, которые удовлетворяют Engine.Node как указано в файле пакета
-e, --error-level        установить уровень ошибки. 1: выход с кодом ошибки 0, если ошибок нет. 2: выход с кодом ошибки 0, если пакеты не нуждаются в обновлении (полезно для непрерывной интеграции)
-f, --filter             включать только имена пакетов, соответствующие заданной строке, списку, разделенному запятыми или пробелами, или / regex /
-g, --global             проверять глобальные пакеты, а не в текущем проекте
-i, --interactive        Включить интерактивные подсказки для каждой зависимости; Подразумевает -u, если не установлен один из параметров json
-j, --jsonAll            вывести новый файл пакета вместо понятного человеку сообщения
--jsonDeps               возвращает вывод наподобие `jsonAll`, но содержит только списки` dependencies`, `devDependencies` и` optionDependencies` данных нового пакета.
--jsonUpgraded           выводить обновленные зависимости в json
-l, --loglevel           какой уровень журналов для отчета: молчание, ошибка, предупреждение, информация, подробный, глупый (по умолчанию: предупреждение)
-m, --minimal            не обновляйте до более новых версий, которые уже удовлетворены существующим диапазоном версий (поведение v2).
-n, --newest             найти новейшие опубликованные версии вместо последних стабильных версий
-p, --packageManager     npm или bower (default: npm)
--packageData            включить файл пакета в виде строки (используйте вместо него стандартный ввод)
--packageFile            расположение файла пакета (по умолчанию: ./package.json)
--pre                    включают -альфа, -бета, -rc. (по умолчанию: 0; по умолчанию
--prefix                 Используется как текущий рабочий каталог в бауэре и npm
-r, --registry           указать сторонний реестр NPM
--removeRange            удалить диапазоны версий из окончательной версии пакета
-s, --silent             ничего не выводить (--loglevel silent)
--semverLevel            найти самую высокую версию в «основных» или «малых»
-t, --greatest           найти самые высокие доступные версии вместо последних стабильных версий
--timeout               глобальное время ожидания в миллисекундах. (по умолчанию: без глобального тайм-аута и 30 секунд на npm-registry-fetch)
-u, --upgrade            перезаписать файл пакета
-v, --version            получить версию
-V                       получить версию
-x, --reject             исключить пакеты, соответствующие заданной строке, разделенному запятыми списку или регулярному выражению
к содержанию ↑

Как определяются обновления зависимостей

  • Прямые зависимости будут увеличены до последней стабильной версии:
    • 2.0.12.2.0
    • 1.21.3
    • 0.1.01.0.1
    • с --semverLevel major
      • 0.1.00.2.1
    • с --semverLevel minor
      • 0.1.00.1.2
  • Семантические политики управления версиями для уровней поддерживаются, в то же время удовлетворяя последней версии:
  • ^1.2.0^2.0.0
  • 1.x2.x
  • «Любая версия» поддерживается:
    • **
  • «Больше чем» поддерживается:
    • >0.2.0>0.3.0
  • Закрытые диапазоны заменяются подстановочными знаками:
    • 1.0.0 < 2.0.0^3.0.0
к содержанию ↑

Конфигурационные файлы

Используйте файл .ncurc. {json, yml, js} для указания информации о конфигурации. Вы можете указать имя файла и путь, используя параметры командной строки --configFileName и --configFilePath.

К примеру, .ncurc.json:

{
  "upgrade": true,
  "filter": "express",
  "reject": [
    "@types/estree",
    "ts-node"
  ]
}

Использование модуля

npm-check-updates может потребоваться:

const ncu = require('npm-check-updates');

ncu.run({
    // Здесь можно указать любую опцию командной строки.
    // Они установлены по умолчанию:
    jsonUpgraded: true,
    packageManager: 'npm',
    silent: true
}).then((upgraded) => {
    console.log('dependencies to upgrade:', upgraded);
});

Известные вопросы

  • Windows: Если npm-check-updates зависает, запустите ncu --loglevel verbose, чтобы увидеть, ожидает ли он stdin. Если это так, попробуйте явно установить файл пакета: ncu -g --packageFile package.json.

Скачать

npm-check-updates

Значок
Размер: 167kb
Скачано (раз): 1604
Версия: Latest
ФайлДействие
npm-check-updatesСкачать 
Плагин рейтинга создан автором этого блога. Буду очень признателен, если вы сможете его поддержать (ссылка)

p.s. Если статья была полезной и вас переполняет чувство благодарности, можете поддержать меня долларом на патреоне

Об авторе

Web Developer. I have expirience in FrontEnd, Backend, Devops. PHP, Python, Javascript (Vue.js, React.js)

Смотреть посты