postcss 7.0.0 - 8.2.9 Уровень серьезности: средний отказ в обслуживании регулярным выражением

При создании нового проекта create-react-app вы сразу получаете предупреждения об уязвимости, обнаруженной в postcss .

О проблеме сообщил npm: https://www.npmjs.com/advisories/1693

Связанные открытые вопросы можно найти здесь:

Проблема исправлена postcss v8.2.10, но она все еще присутствует при создании новых проектов, поскольку react-scripts еще не обновила зависимость.

Итак, моя проблема в том, что я больше не могу запускать сборки, поскольку они не работают из-за уязвимости.

Поскольку я не могу дождаться, пока они исправят это, прежде чем продолжить работу над моими материалами (кажется, они знают об этом еще год назад), есть ли какое-то обходное решение, которое можно было бы применить для решения этой проблемы?

Я пробовал добавить postcss разрешение на package.json :

  "resolutions": {
    "postcss": "^8.2.10"
  },

но это не привело меня далеко.

Любая идея?

Ответов (2)

Решение

Эта статья мне помогла. https://www.npmjs.com/package/npm-force-resolutions . Чтобы использовать написанные вами разрешения, вы должны заставить их, добавив этот скрипт в package.json

"scripts": {
  "preinstall": "npx npm-force-resolutions"
}

после этого запуска, npm install и он должен перезаписать все вложенные зависимости

В любом случае это не сработает из-за множества зависимостей. Хорошая новость заключается в том, что поддержка postcss 8 уже объединена и, вероятно, скоро будет выпущена https://github.com/facebook/create-react-app/issues/9664

В качестве альтернативы вы можете решить эту проблему с помощью аудита пряжи вместо npm.

yarn audit --groups postcss

Эта команда будет игнорировать только пакет postcss из проверки безопасности.