兩行代碼構成的npm 包影響到了數百萬項目
一個npm小項目的更新給整個npm生態系統製造了一場混亂,影響到了數百萬JS項目。名叫is-promise的庫包含了兩行代碼,其它項目可通過一行代碼調用使用該庫。它的功能是讓開發者測試一個JS對像是否是Promise。
儘管這個庫只有兩行代碼,但它卻是最流行的 npm 包之一,被超過340 萬個項目使用。
上週末is-promised 釋出了一個更新,結果由於它不符合正確的ES 模塊標準,導致使用該庫的其它項目在構建時出錯。問題並沒有導致現有JS 項目崩潰,而主要無法編譯新版本。
許多知名的JS項目都受到影響,其中包括Facebook的Create React App,Google的Angular.js框架,Google的Firebasse-tools,亞馬遜的AWS Serverless CLI,Nuxt.js等等。npm生態系統的依賴問題早在2016年就引發過廣泛關注。