专为程序员定制的垃圾清理工具(Node Cli实现)

简介: 专为程序员定制的垃圾清理工具(Node Cli实现)

前言



image.png


就是这个恶毒的提示,太让我烦恼了,一开始我用了腾讯的 lemon 清理工具,但是发现他并不能很好地解决我的问题,没有办法完全找出我的缓存文件。由于本人是 256G Mac (穷....),真的,256G 太不够用了(当然不是因为我....的原因),俗话说贫穷限制了我的想象力,但是没有限制我的创造力。另一点,就是本人是个写前端的,通过对本地的node_modulesnpmyarn cache 等缓存的分析,发现让我大吃一惊,几十G的缓存。


基于以上前提,我就开发了一个工具,名字叫 shark-cleaner,寓意就是想让它想鲨鱼一样,快速!能够快速找出我本地文件中的软件开发缓存。


这是它已经为我清理出的node_modules垃圾。


image.png


技术方案



社区现状


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.png


功能实现



image.png

:53

自定义目录扫描


如果你的项目都在一个目录下,建议填写你的项目主目录,这样会大大加快扫描的速度。


image.png

image.png

image.png


支持静态目录扫描


由于一些目录是固定的,因此为静态列表扫描方式。


image.png


支持详情查看


获取 package.json 中的 authordescription 进行展示,以及标注完整路径,可以帮助回忆,来确定是否删除。


image.png


支持多选


文件太多了?shift + click 来支持多选模式。


image.png


i18n支持


国外用户也可以轻松享受到这个工具带来的遍历


image.png

image.png


如何使用




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

相关文章
|
22天前
|
JavaScript
如何使用内存快照分析工具来分析Node.js应用的内存问题?
需要注意的是,不同的内存快照分析工具可能具有不同的功能和操作方式,在使用时需要根据具体工具的说明和特点进行灵活运用。
39 3
|
2月前
|
存储 JavaScript 前端开发
Node.js 常用工具
10月更文挑战第6天
29 2
|
2月前
|
Web App开发 JavaScript 前端开发
Node.js:JavaScript世界的全能工具
Node.js:JavaScript世界的全能工具
|
3月前
|
存储 JavaScript 前端开发
Node 版本控制工具 NVM 的安装和使用(Windows)
本文介绍了NVM(Node Version Manager)的Windows版本——NVM for Windows的安装和使用方法,包括如何安装Node.js的特定版本、列出已安装版本、切换使用不同版本的Node.js,以及其他常用命令,以实现在Windows系统上对Node.js版本的便捷管理。
Node 版本控制工具 NVM 的安装和使用(Windows)
|
2月前
|
JavaScript 网络协议
Node.js 工具模块
10月更文挑战第7天
21 0
|
3月前
|
JavaScript Linux 开发者
一个用于管理多个 Node.js 版本的安装和切换开源工具
【9月更文挑战第14天】nvm(Node Version Manager)是一个开源工具,用于便捷地管理多个 Node.js 版本。其特点包括:版本安装便捷,支持 LTS 和最新版本;版本切换简单,不影响开发流程;多平台支持,包括 Windows、macOS 和 Linux;社区活跃,持续更新。通过 nvm,开发者可以轻松安装、切换和管理不同项目的 Node.js 版本,提高开发效率。
109 4
|
4月前
|
JavaScript 小程序 Java
【工具】用nvm管理nodejs版本切换,真香!
本文详细介绍了如何使用 nvm(node.js 版本管理工具)解决在不同项目间频繁切换 Node.js 版本的问题。通过实例展示了 A、B 两个项目分别依赖 v14.19.1 和 v16.15.0 版本时的解决方案,并提供了 nvm 的下载、安装及常用命令等实用信息,帮助读者轻松管理 Node.js 版本。文章还包括了卸载已安装的 Node.js、配置环境变量等步骤,确保切换顺畅无阻。
220 0
【工具】用nvm管理nodejs版本切换,真香!
|
4月前
|
JavaScript IDE 前端开发
前端开发工具配置 nodejs & git & IDE
前端开发工具配置 nodejs & git & IDE
|
5月前
|
JavaScript 数据安全/隐私保护
node.js 命令行的命令注册和配置工具(最新版) commander.js 实用教程(含自研脚手架的创建流程)
node.js 命令行的命令注册和配置工具(最新版) commander.js 实用教程(含自研脚手架的创建流程)
195 0
|
5月前
|
JavaScript 数据安全/隐私保护 索引
node.js 命令行交互工具(最新版) inquirer.js 实用教程
node.js 命令行交互工具(最新版) inquirer.js 实用教程
160 0