使用 depcheck 清理 package.json 中用不到的依赖
背景
随着时间的推移,项目中 package.json 中的依赖越来越臃肿,安装依赖的速度越来越慢,各种奇奇怪怪的包,不一定都会用到,因此我们可以为项目减负,使用 depcheck 检测项目中不用的依赖包,然后移除它们。
安装
1 | $ npm install -g depcheck |
需要 node.js >= 10
使用
在项目目录下直接执行命令 depcheck,或者 depcheck <你的项目目录>
然后会出来这样的结果:
1 | $> depcheck /path/to/my/project |
Unused 表示没有使用的依赖包,Missing 表示使用到了但是没有在 json 文件中声明的依赖包
需要注意特殊的包。如官网所述:
不过可以使用参数过滤掉不想被检测的文件或者不想检测出来的包
常用的参数:
--skip-missing=[true | false]
:默认 false,表示是否检测 Missing 的依赖包--ignore-bin-package=[true | false]
:默认 false,表示是否忽略包含 bin 条目的包--json
:表示所有包的检测结果以 json 格式输出,大概就是 XX 包在哪些文件使用了,{"包名":["path1","path2"]}
--ignores="eslint,babel-*"
:表示要忽略的包名称(逗号分隔),比如depcheck --ignores="eslint,@babel/*,babel-*"
--ignore-path
:表示要忽略的文件的模式的文件的路径,比如depcheck --ignore-path=.eslintignore
--ignore-dirs
:已经弃用,使用--ignore-patterns
替代,表示要忽略的目录名,逗号分隔--ignore-dirs=dist,coverage
--ignore-patterns
:表示要忽略的用逗号分隔的模式描述文件,比如depcheck --ignore-patterns=build/Release,dist,coverage,*.log
--parsers, --detectors and --specials
:高级的语法使用参考官方文档--config=[filename]
:外部配置文件
注意:也可以创建一个 .depcheckrc
文件(yml/json
格式),然后直接配置
1 | ignores: ['eslint', 'babel-*', '@babel/*'] |
注:结果仅供参考,移除相应依赖一定要小心!!!
参考链接
使用 depcheck 清理 package.json 中用不到的依赖