Нарушение обратной совместимости в популярном NPM-пакете привело к сбоям в различных проектах
Источником проблем стал новый выпуск пакета mini-css-extract-plugin 2.5.0, предназначенного для извлечения CSS в отдельные файлы. Пакет насчитывает более 10 млн еженедельных загрузок и используется в качестве прямой зависимости у более чем 7 тысяч проектов.
В новой версии были внесены изменения, нарушающие обратную совместимость при импорте библиотеки и приводившие к выводу ошибки при попытке использования ранее допустимой и описанной в документации конструкции "const MiniCssExtractPlugin = require('mini-css-extract-plugin')", которую при переходе на новую версию потребовалось заменить на "const MiniCssExtractPlugin = require("mini-css-extract-plugin").default".
Проблема проявилась в проектах, не применяющих явную привязку к номеру версии при подключении зависимостей. В числе пострадавших оказались пользователи развиваемого компанией Facebook пакета create-react-app, подключающего mini-css-extract-plugin в качестве зависимости. Проблема также затронула пакеты @ wordpress/scripts, @ auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore и т.д.