Une violation de la rétrocompatibilité dans un paquet NPM populaire a entraîné des erreurs dans divers projets.

Un nouvel échec massif des projets est observé dans le dépôt NPM en raison de problèmes survenus dans la nouvelle version d'une des dépendances populaires. La source des problèmes est la nouvelle version du paquet mini-css-extract-plugin 2.5.0, destiné à extraire le CSS dans des fichiers séparés. Ce paquet compte plus de 10 millions de téléchargements hebdomadaires et est utilisé comme dépendance directe dans plus de 7 000 projets.

La nouvelle version a apporté des modifications qui rompent la compatibilité rétroactive lors de l'importation de la bibliothèque, entraînant une erreur lors de l'utilisation d'une structure précédemment valide et décrite dans la documentation : « const MiniCssExtractPlugin = require(‘mini-css-extract-plugin’) », qui a dû être remplacée par « const MiniCssExtractPlugin = require(« mini-css-extract-plugin »).default » lors de la transition vers la nouvelle version.

Le problème s'est manifesté dans des projets qui n'appliquent pas de lien explicite vers un numéro de version lors de la connexion des dépendances. Comme solution de contournement, il est recommandé de fixer la dépendance à l'ancienne version 2.4.5 en ajoutant ‘»overrides»: {«mini-css-extract-plugin»: «2.4.5»}’ dans Yarn ou en utilisant la commande « npm i -D —save-exact mini-css-extract-plugin@2.4.5 » dans NPM.

Parmi les utilisateurs touchés se trouvent ceux du paquet create-react-app développé par Facebook, qui connecte mini-css-extract-plugin en tant que dépendance. En raison de l'absence de lien vers un numéro de version mini-css-extract-plugin, les tentatives de lancement de create-react-app échouaient avec l'erreur « TypeError: MiniCssExtractPlugin is not a constructor ». Le problème a également affecté les paquets @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore, etc.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster