介绍
nazi
是一个用于静态检测代码中的敏感词汇和文件名的 npm 包。它提供了一个能够自动在代码库中寻找问题的方式,直接指出代码中的问题和错误,以便于追踪和修复。
nazi 的功能包括:
- 在代码库(e.g. GitHub)中搜索敏感词汇
- 搜索文件名中包含敏感词汇的文件
- 自定义忽略某些类型的文件,提高检测效率
在实际开发中,我们为了保证代码的规范性和合法性都会使用相关的工具进行检测。nazi 成为了这个领域的一个非常有力的工具。
安装
通过 npm 安装 nazi
npm install -g nazi
使用
1. 初始化配置文件
nazi init
该命令用于生成 nazi 配置文件,生成的配置文件包括了检测规则和忽略配置。
2. 配置检测规则
在配置文件中添加以下代码:
-- -------------------- ---- ------- -------- - -------------------- - ----------- - ------ ----- -- ---------- ------- --- -------- ----- - -
sensitiveRuleName
: 规则名称。patterns
: 要检测的敏感关键词,可以是多个。message
: 规则触发时输出的信息。
3. 配置忽略文件类型
在配置文件的 ignore
字段中添加以下代码:
"ignore": [ "**/*.png", "**/*.jpg" ]
该配置表示在检测的时候会忽略所有 .png
和 .jpg
文件。
4. 检测代码
在需要检测的文件夹中执行以下命令:
nazi check
检测命令可以只检测指定的文件,例如:
nazi check app.js main.js
5. 查看检测结果
nazi 会根据你配置的规则输出检查结果。
例如:
✖ main.js - bad variable name → 2 | let foo = true; → 5 | let badVariable = 'bar';
上述示例表示在 main.js
文件中, foo
和 bar
两个敏感词汇都被检测到了。
示例代码
例如我们在 app.js
文件中添加以下代码:
let foo = true; let bar = false; let badVariable = 'secretKey';
那么我们在配置文件中添加以下规则:
-- -------------------- ---- ------- -------- - -------------------- - ----------- - ------ ----- -- ---------- ------- --- -------- ----- -- ---------------------- - ----------- - ----------- -- ---------- --------- --- -------- ----- - -
然后我们在终端运行以下命令:
nazi check app.js
运行后会输出以下信息:
✖ app.js - bad variable name → 5 | let badVariable = 'secretKey';
这表明 app.js
中有一个敏感的变量名,与我们的规则不符。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60065f70238a385564ab66a7