專爲程序員定製的垃圾清理工具(Node Cli實現)

前言

1584517625611

就是這個惡毒的提示,太讓我煩惱了,一開始我用了騰訊的 lemon 清理工具,但是發現他並不能很好地解決我的問題,沒有辦法完全找出我的緩存文件。由於本人是 256G Mac (窮....),真的,256G 太不夠用了(當然不是因爲我....的原因),俗話說貧窮限制了我的想象力,但是沒有限制我的創造力。另一點,就是本人是個寫前端的,通過對本地的node_modulesnpmyarn cache 等緩存的分析,發現讓我大吃一驚,幾十G的緩存。

基於以上前提,我就開發了一個工具,名字叫 shark-cleaner,寓意就是想讓它想鯊魚一樣,快速!能夠快速找出我本地文件中的軟件開發緩存。

這是它已經爲我清理出的node_modules垃圾。

1584506218384

技術方案

社區現狀

1.直接命令行

Mac / Linux:

$ cd documents
$ find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' \;

Windows:

$ cd documents
$ FOR /d /r . %d in (node_modules) DO @IF EXIST "%d" rm -rf "%d"

Powershell Users:

Get-ChildItem -Path "." -Include "node_modules" -Recurse -Directory | Remove-Item -Recurse -Force

2.命令行工具

https://github.com/voidcosmos/npkill

我的技術方案

社區有一些相關的方案,但是我想的是能夠提供一個可視化的,跨平臺的,並且有詳細顆粒度信息的工具。

一開始我想的是 electron來做這件事是比較合適的,但是我想等不及想要更加快速的開發,想着是先用命令行代替。(其實核心功能實現後,遷移到 electron 還是很方便的)。

因此我採用了一種 web + node cli  的方式。下面是工具的主架構,有點類似於electron 的思路吧

image-20200323183613601

功能實現

自定義目錄掃描

如果你的項目都在一個目錄下,建議填寫你的項目主目錄,這樣會大大加快掃描的速度。

支持靜態目錄掃描

由於一些目錄是固定的,因此爲靜態列表掃描方式。

image-20200323201436758

支持詳情查看

獲取 package.json 中的 authordescription 進行展示,以及標註完整路徑,可以幫助回憶,來確定是否刪除。

image-20200323201418168

支持多選

文件太多了?shift + click 來支持多選模式。

2020-03-23-20.22.19

i18n支持

國外用戶也可以輕鬆享受到這個工具帶來的遍歷

image-20200323202346856
image-20200323202329590

如何使用

npm install -g shark-cleaner


shark

TODO

1.主流語言的緩存路徑支持(包括但不限GoPythonJava等)

2.Node 緩存部分的完善(包括yarn、npm)

3.Electron客戶端的支持

4.支持按照時間維護來推測清理(例如某個項目1個月未修改來識別需要清理緩存,提高識別垃圾的準確性。)

5.完善的錯誤提示(文件清理失敗等)

6.logo設計

7.統計已經幫助用戶清理的垃圾

8.清理歷史記錄,幫助用戶能夠快速下回刪除的依賴包。

最後

該工具是我斷斷續續寫了一週完成的,不免有許多Bug,如果使用過程有問題請以 Github Issues 方式提給我,我會盡量在第一時間進行介入。初衷是,希望它能成爲一款專爲程序員定製的清理垃圾工具。如果你知道語言緩存目錄,請求 pr 或者 Issues 方式提給我。

感謝大家,如果覺得該工具對你起到了作用,請不要吝嗇你的 star。(當然非常歡迎感興趣的小夥伴來貢獻代碼呀) T T 你們的 star 是對我最大的鼓勵,讓我有足夠的動力去不斷維護它,迭代它,然後,讓你們的開發環境變得更美好,更加整潔。

Github地址: https://github.com/hua1995116/shark-cleaner

關注

看完後有兩件小事要拜託你

1.如果你覺得對你有幫助,請麻煩你點下右下角的在看。

2.歡迎加入交流羣進行交流學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章