一個(gè) npm 包的坎坷“續(xù)命”之生

2019-8-7    seo達(dá)人

如果您想訂閱本博客內(nèi)容,每天自動(dòng)發(fā)到您的郵箱中, 請(qǐng)點(diǎn)這里

如果說 npm 的大新聞,莫過于之前的 left-pad 撤包事件,event-stream 投毒事件,Ant Design 彩蛋事件。使得很多前端開發(fā)者又開始重新思考 npm 生態(tài)時(shí)候真的存在問題?

今天我們文章的主角是 memwatch,一個(gè)用來幫助我們檢查 Node.js 是否存在內(nèi)存泄漏的庫,和這個(gè)庫傳奇的一生。

2012 年 02 月 06 日,一位 Mozilla 的工程師 lloyd 創(chuàng)建了這個(gè)庫,并寫了一篇博文“Is My NodeJS Program Leaking?”(我的 Node.js 程序是否存在內(nèi)存泄漏?)。這個(gè)包最初被命名為 gcstats,代碼上傳到了 github。

6 月 27 日,npm 包改名為 memwatch,發(fā)布 0.1.1 版。

7 月 4 日,lloyd 為這個(gè)庫添加了開源許可協(xié)議:WTFPL,發(fā)布 0.1.2 版。很多人對(duì)這個(gè)開源許可協(xié)議可能比較陌生,WTFPL 的全稱是 Do What The Fuck You Want To Public License,中文譯名:你他媽的想干嘛就干嘛公共許可證。也許就是這份協(xié)議開啟了 memwatch 庫不尋常的一生。

2013 年 3 月 14 日,作者 lloyd 提交了最后一次代碼,發(fā)布了 0.2.2 版本。支持的 Node.js 版本為 0.6.0。隨后這個(gè)庫再也沒有更新過。

從作者的博文和推文可以看到,作者在 2014 年離開了 Mozilla。而從作者的 github 動(dòng)態(tài)更可以看出,作者應(yīng)該是轉(zhuǎn)入了 golang 陣營(yíng)。

2014 年 6 月 28 日,作者的一位前同事 deepak1556 fork 了這個(gè)庫,增加了對(duì) Node.js 0.11 的支持,并發(fā)起了合并請(qǐng)求。但是作者并沒有回復(fù),也沒有合并此次請(qǐng)求。此時(shí)距離原作者放棄這個(gè)庫也已經(jīng)過去一年多了。

2015 年 2 月 7 日,marcominetti 又 fork 了 deepak1556 的庫,增加了對(duì) Node.js 0.12 的支持,并向原庫發(fā)起了合并請(qǐng)求,同樣沒有得到作者的任何回復(fù)。于是 marcominetti 決定自立門戶,于是將 memwatch 改名為 memwatch-next 發(fā)布到了 npm。

2017 年 1 月 27 日,如同前兩位維護(hù)者一樣,marcominetti 也最終放棄了繼續(xù)更新這個(gè)庫。到此時(shí),此庫支持的 Node.js 版本為 4、5、6。

2018 年 5 月 6 日,eduardbcom 又 fork 了 marcominetti 的庫,增加了 Node.js 9 的支持,并且放棄了對(duì) Node.js 9 以下所有版本的支持。改名為 node-memwatch 并發(fā)布到了 npm。隨后再也沒有更新過代碼。

2018 年 7 月 17 日,一位開發(fā)者 dyatko 又 fork 了 eduardbcom 的庫,增加了對(duì) Node.js 8 的支持,并向原庫發(fā)起了合并請(qǐng)求,同樣沒有得到作者的任何回復(fù)。

但在此次 pr 的評(píng)論中,另一位開發(fā)者說,airbnb 也 fork 了 marcominetti 的庫,并改名為 @airbnb/node-memwatch 發(fā)布到了 npm。

有了大廠接手,也算是這個(gè)庫最終的歸宿吧。


藍(lán)藍(lán)設(shè)計(jì)sillybuy.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)。

分享本文至:

日歷

鏈接

個(gè)人資料

存檔