Останутся ли эффекты выборочного разрешения версии в yarn.lock после удаления поля `olutions`? - PullRequest
0 голосов
/ 26 января 2019

Я выполняю yarn audit для моего проекта. Даже после обновления доступных пакетов до последней версии и запуска yarn upgrade, многие ошибки и предупреждения сохраняются. Пример низкого риска:

┌───────────────┬──────────────────────────────────────────────────────────────┐
│ low           │ Prototype Pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ lodash                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=4.17.5                                                     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ @storybook/addon-knobs                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ @storybook/addon-knobs > react-color > reactcss > lodash     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/577                       │
└───────────────┴──────────────────────────────────────────────────────────────┘

Так как с lodash есть много ошибок, я собираюсь их исправить, используя выборочные разрешения версий: https://yarnpkg.com/lang/en/docs/selective-version-resolutions/ Я сделаю следующее, потому что 4.17.11 - это версия lodash что мой проект использует, и это также приводит к отсутствию предупреждений во время установки.

  "resolutions": {
    "lodash": "4.17.11"
  },

Я очень не хочу, чтобы решения оставались всегда. Поскольку я не получал предупреждений во время установки, я предполагаю следующее: После запуска yarn install я могу удалить lodash из resolutions, не понижая его до предыдущей уязвимой версии. Я прав насчет этого?

Я рассуждаю так: если бы я разработал алгоритм разрешения, я бы не стал понижать его пакет, если бы существующее разрешение было совместимо со спецификациями версий всех пакетов, которым оно требуется. Но быть вероятным - это не то же самое, что быть правдой. Я очень открыт для того, чтобы меня застрелили.

...