Как пакет NPM гарантирует долгосрочную корректность? - PullRequest
1 голос
/ 25 июня 2019

Пакеты NPM не могут блокировать свои зависимости (и зависимости зависимостей), например:

{
  "name": "my-package",
  "version": "1.0.0",
  "dependencies": {
    "someDep": "^1.2.3"
  }
}

my-package@1.0.0 зависит от someDep@^1.2.3 сейчас.

Если когда-нибудь someDep обновляется до 1.9.0, и я запускаю npm install my-package@1.0.0 в проекте без package.lock или yarn.lock, будет установлено someDep@1.9.0.

Возможно, между someDep@1.2.3 и * были внесены некоторые критические изменения1017 *, они приведут к поломке my-package@1.0.0.

Если я установлю версию someDep для 1.2.3 следующим образом:

{
  "name": "my-package",
  "version": "1.0.0",
  "dependencies": {
    "someDep": "1.2.3"
  }
}

Я могу точнозаблокировать версию someDep как 1.2.3, но я не могу принудительно исправить зависимости someDep, чтобы они тоже могли сломать меня.

Что мы можем сделать, чтобы гарантироватьдолгосрочная правильность пакетов NPM?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...