2019-8-7 seo達(dá)人
如果您想訂閱本博客內(nèi)容,每天自動發(fā)到您的郵箱中, 請點這里
如果說 npm 的大新聞,莫過于之前的 left-pad 撤包事件,event-stream 投毒事件,Ant Design 彩蛋事件。使得很多前端開發(fā)者又開始重新思考 npm 生態(tài)時候真的存在問題?
今天我們文章的主角是 memwatch,一個用來幫助我們檢查 Node.js 是否存在內(nèi)存泄漏的庫,和這個庫傳奇的一生。
2012 年 02 月 06 日,一位 Mozilla 的工程師 lloyd 創(chuàng)建了這個庫,并寫了一篇博文“Is My NodeJS Program Leaking?”(我的 Node.js 程序是否存在內(nèi)存泄漏?)。這個包最初被命名為 gcstats,代碼上傳到了 github。
6 月 27 日,npm 包改名為 memwatch,發(fā)布 0.1.1 版。
7 月 4 日,lloyd 為這個庫添加了開源許可協(xié)議:WTFPL,發(fā)布 0.1.2 版。很多人對這個開源許可協(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。隨后這個庫再也沒有更新過。
從作者的博文和推文可以看到,作者在 2014 年離開了 Mozilla。而從作者的 github 動態(tài)更可以看出,作者應(yīng)該是轉(zhuǎn)入了 golang 陣營。
2014 年 6 月 28 日,作者的一位前同事 deepak1556 fork 了這個庫,增加了對 Node.js 0.11 的支持,并發(fā)起了合并請求。但是作者并沒有回復(fù),也沒有合并此次請求。此時距離原作者放棄這個庫也已經(jīng)過去一年多了。
2015 年 2 月 7 日,marcominetti 又 fork 了 deepak1556 的庫,增加了對 Node.js 0.12 的支持,并向原庫發(fā)起了合并請求,同樣沒有得到作者的任何回復(fù)。于是 marcominetti 決定自立門戶,于是將 memwatch 改名為 memwatch-next 發(fā)布到了 npm。
2017 年 1 月 27 日,如同前兩位維護(hù)者一樣,marcominetti 也最終放棄了繼續(xù)更新這個庫。到此時,此庫支持的 Node.js 版本為 4、5、6。
2018 年 5 月 6 日,eduardbcom 又 fork 了 marcominetti 的庫,增加了 Node.js 9 的支持,并且放棄了對 Node.js 9 以下所有版本的支持。改名為 node-memwatch 并發(fā)布到了 npm。隨后再也沒有更新過代碼。
2018 年 7 月 17 日,一位開發(fā)者 dyatko 又 fork 了 eduardbcom 的庫,增加了對 Node.js 8 的支持,并向原庫發(fā)起了合并請求,同樣沒有得到作者的任何回復(fù)。
但在此次 pr 的評論中,另一位開發(fā)者說,airbnb 也 fork 了 marcominetti 的庫,并改名為 @airbnb/node-memwatch 發(fā)布到了 npm。
有了大廠接手,也算是這個庫最終的歸宿吧。
藍(lán)藍(lán)設(shè)計( tweetduck.com )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 、平面設(shè)計服務(wù)。
藍(lán)藍(lán)設(shè)計的小編 http://tweetduck.com