在前端开发过程中,我们常常需要使用许多第三方的 npm 包来完成我们的项目需求。但是,如果这些包中存在着不安全的或是不符合规范的代码,那么就会给我们的项目带来潜在的安全风险和维护问题。为了解决这个问题,我们可以使用 npm 包 bully 来分析和检查我们的依赖项中的这些问题。
什么是 npm 包 bully?
npm 包 bully 是一个基于 Node.js 平台的 npm 包,它可以帮助我们检测我们的依赖项中是否存在着不安全的或是不符合规范的代码。它内置了许多检测规则,可以根据我们的需求选择不同的检测规则进行检测,并生成详细的检测报告。
开始使用 npm 包 bully
安装
可以使用以下命令来安装 npm 包 bully:
npm install -g bully
使用
命令行界面
在安装完成后,我们可以在终端中使用以下命令来运行它:
bully [options] [target..]
其中,target
表示要检测的依赖项,可以是一个或多个,多个之间用空格隔开。如果不指定 target
,则将默认检测当前目录下的 node_modules
目录中的依赖项。
options
表示一些可选参数,例如:
-d, --debug
:以 debug 模式运行 bully;-s, --silent
:以安静模式运行 bully,只输出错误信息;-r, --reporter <reporter>
:指定输出格式,默认为text
。
配置文件
bully 支持使用一个名为 .bullyrc
的配置文件来指定一些参数。例如:
{ "rules": [ "no-dev-dependencies", "no-unpublished-dependencies" ], "reporter": "json" }
其中,"rules"
指定了要使用的检测规则,"reporter"
指定了输出格式。
在配置文件中还可以指定特定的检测规则的参数。例如:
-- -------------------- ---- ------- - -------- - ---------------------- - --------- - --------- ------- - - - -
这个配置文件中指定了不检测 eslint
和 mocha
两个依赖项。
示例
我们可以使用以下配置文件来检测一个示例项目的依赖项:
{ "rules": [ "no-dev-dependencies", "no-unpublished-dependencies" ], "reporter": "text" }
然后在终端中运行以下命令:
bully
运行完成后,将生成一个检测报告,内容如下:
Found 2 issues in 2 packages (2 dev, 0 prod): - bootstrap: found 1 issue (0 prod, 1 dev) - no-unpublished-dependencies: package "bootstrap" has 1 unpublished dependency: * popper.js@^1.16.1 - jquery: found 1 issue (0 prod, 1 dev) - no-unpublished-dependencies: package "jquery" has 1 unpublished dependency: * eslint@^4.19.1
这个报告告诉我们,项目依赖中的 bootstrap
和 jquery
两个依赖项中,都存在一个未发布到 npm 仓库的依赖关系。
总结
npm 包 bully 是一个非常方便的工具,它可以帮助我们检测我们的依赖项中是否存在不良代码,并帮助我们提高项目的安全性和可维护性。希望大家能够学会使用它,为我们的项目带来更加稳定和可靠的基础。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066c8eccdc64669dde56e5