A quebra de compatibilidade reversa em um popular pacote NPM causou falhas em vários projetos

Um repositório NPM está experimentando uma nova falha em massa em projetos devido a problemas na nova versão de uma das dependências populares. A origem dos problemas foi a nova versão do pacote mini-css-extract-plugin 2.5.0, destinado a extrair CSS em arquivos separados. O pacote conta com mais de 10 milhões de downloads semanais e é usado como dependência direta em mais de 7 mil projetos.

Na nova versão, foram feitas alterações que quebram a compatibilidade retroativa ao importar a biblioteca, resultando na exibição de um erro ao tentar usar a construção previamente aceitável e descrita na documentação 'const MiniCssExtractPlugin = require(‘mini-css-extract-plugin’)', que ao atualizar para a nova versão precisou ser substituída por 'const MiniCssExtractPlugin = require(«mini-css-extract-plugin»).default'.

O problema se manifestou em projetos que não aplicavam uma vinculação explícita ao número da versão ao conectar dependências. Como uma solução alternativa, foi recomendado fixar a vinculação à versão anterior 2.4.5, adicionando '"overrides": {"mini-css-extract-plugin": "2.4.5"}' no Yarn ou usando o comando 'npm i -D --save-exact mini-css-extract-plugin@2.4.5' no NPM.

Entre os afetados estão os usuários do pacote create-react-app, desenvolvido pela Facebook, que conecta o mini-css-extract-plugin como uma dependência. Devido à falta de vinculação ao número da versão do mini-css-extract-plugin, as tentativas de iniciar o create-react-app resultaram no erro 'TypeError: MiniCssExtractPlugin is not a constructor'. O problema também afetou pacotes como @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore, entre outros.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster