Se ha observado otra falla masiva en los proyectos en el repositorio de NPM debido a problemas en una nueva versión de una de las dependencias más populares. La fuente de los problemas fue el nuevo lanzamiento del paquete mini-css-extract-plugin 2.5.0, diseñado para extraer CSS en archivos separados. Este paquete cuenta con más de 10 millones de descargas semanales y es utilizado como dependencia directa en más de 7,000 proyectos.
En la nueva versión se realizaron cambios que rompen la compatibilidad hacia atrás al importar la biblioteca, lo que resultó en un error al intentar utilizar una construcción previamente permitida y descrita en la documentación: «const MiniCssExtractPlugin = require(‘mini-css-extract-plugin’)», que al actualizar a la nueva versión debe ser reemplazada por «const MiniCssExtractPlugin = require(«mini-css-extract-plugin»).default».
El problema se manifestó en proyectos que no aplican un vínculo explícito al número de versión al conectar dependencias. Como solución alternativa, se recomendó fijar el vínculo a la versión anterior 2.4.5 agregando ‘»overrides”: {«mini-css-extract-plugin»: «2.4.5»}’ en Yarn o usando el comando «npm i -D —save-exact mini-css-extract-plugin@2.4.5» en NPM.
Entre los afectados se encuentran los usuarios del paquete create-react-app, desarrollado por Facebook, que conecta mini-css-extract-plugin como dependencia. Debido a la falta de un vínculo al número de versión de mini-css-extract-plugin, los intentos de iniciar create-react-app daban como resultado el error «TypeError: MiniCssExtractPlugin is not a constructor». El problema también afectó a los paquetes @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore, etc.
Fuente: opennet.ru
