Обновление NPM и устаревшие с локальными путями, используя файл: - PullRequest
0 голосов
/ 11 февраля 2019

Запуск npm update --depth=9999 или npm outdated --depth=9999 пропуск локальный путь зависимости.

Я предполагал, что они будут действовать как любые другие опубликованные пакеты.

Мы запускаем команды изкорень monorepo:

@org/
  app/
    package.json
package.json
package-lock.json
package.json

"dependencies": {
  "@org/app": "file:@org/app"
},
"devDependencies": {
  "prettier": "^1.16.3",
}
@org/app/package.json

"dependencies": {
  "react": "^16.8.0"
}

Кроме того, при запуске npm outdated из директории подпакета NPM не использует root node_modules.

Package                Current   Wanted   Latest  Location
react                  MISSING   16.8.0   16.8.1  @org/app

Я нашел похожие вопросы: 1 , 2

  • работает npm i не является решением, так как мы используем package-lock
  • Я хочу сохранить зависимости в подпакетах, а не в корне package.json

Я что-то не так делаю, или в данный момент это не поддерживается, и нужно просто использовать что-то вроде npm-check ?

npm-check не может обновить подчиненные зависимости, поэтому для полного обновления всего дерева зависимостей нам необходимо:

  • rm package-lock
  • rm -rf node_modules
  • npm cache clean
  • изменение версий вручную в корне и вложенных пакетах
  • npm i
  • совершить новый package-lock

Isэто правильно или есть лучший способ справиться с этим?

...