Facebook剛剛推出了一款名叫Yarn的開(kāi)源JavaScript包管理器,承諾比各大流行npm包的安裝更可靠,且速度更快。根據(jù)你所選的工作包的不同,該公司稱(chēng)Yarn可以將安裝時(shí)間從數(shù)分鐘減少至幾秒鐘。Yarn還兼容nom注冊(cè)表,但包安裝方法有所區(qū)別。其使用了lockfiles和一個(gè)決定性安裝算法,能夠?yàn)閰⑴c一個(gè)項(xiàng)目的所有用戶維持相同的節(jié)點(diǎn)模塊(node_modules)目錄結(jié)構(gòu),有助于減少難以追蹤的bug和在多臺(tái)機(jī)器上復(fù)制。
Yarn還致力于讓安裝更快速可靠,支持緩存下載的每一個(gè)包和并行操作,允許在沒(méi)有互聯(lián)網(wǎng)連接的情況下安裝(如果此前有安裝過(guò)的話)。此外,Yarn承諾同時(shí)兼容npm和Bower工作流,讓你限制安裝模塊的授權(quán)許可。
Facebook指出,其選用了大量項(xiàng)目上廣泛使用的npm,但在擴(kuò)展內(nèi)部使用時(shí)遇到了性能和安全問(wèn)題。其攜手來(lái)自Exponent、Google和Tilde的工程師,在大型JavaScript框架上打造和測(cè)試了Yarn,以便其盡可能適用于多人開(kāi)發(fā)。
npm幕后團(tuán)隊(duì)在一篇博客文章中指出,其歡迎Yarn加入開(kāi)源npm客戶端陣營(yíng)。Yarn的公共包運(yùn)行得挺不錯(cuò),但私有包還有些問(wèn)題,開(kāi)發(fā)團(tuán)隊(duì)正在修復(fù)。
Yarn是Facebook在2016年度的最新一個(gè)開(kāi)源項(xiàng)目,它發(fā)布了一個(gè)用于打造人工智能機(jī)器人的代碼庫(kù)、一款更易上手的工具、React JavaScript庫(kù)、一個(gè)無(wú)線訪問(wèn)平臺(tái)(用于在連接不好的地區(qū)提供互聯(lián)網(wǎng)接入)、甚至一套360°攝像頭的配置。
由于頻繁為開(kāi)源事業(yè)做貢獻(xiàn),該公司現(xiàn)已成為GitHub上排行第2的開(kāi)源貢獻(xiàn)組織,僅次于軟件巨頭微軟。