fe-js-utils
Version:
前端代码质量检测js脚本工具
96 lines (83 loc) • 3.88 kB
Markdown
前端代码质量检测 js 脚本工具
```bash
npm install fe-js-utils --save-dev
yarn add fe-js-utils -D
```
在 `package.json` 中添加以下 scripts:
```json
{
"scripts": {
"checkAny": "fe-js-utils checkAny",
"cleanComments": "fe-js-utils cleanComments",
"extractChinese": "fe-js-utils extractChinese"
}
}
```
1. 在项目根目录创建 `fe-js-utils.config.js`
2. 使用以下基础模板:
```javascript
// fe-js-utils.config.js
const path = require('path');
module.exports = {
checkAny: {
targetDir: './src',
outputFile: path.join(process.cwd(), 'check-any-results.js'),
skipSet: [],
extFiles: ['.ts', '.vue']
},
cleanComments: {
targetDir: './src',
extFiles: ['.js', '.ts', '.vue']
},
extractChinese: {
targetDir: './src',
outputFile: path.join(process.cwd(), 'extract-chinese-results.js'),
extFiles: ['.js', '.ts', '.vue'],
excludeFiles: []
}
};
```
**功能**:扫描项目中的 `any` 类型的使用
**使用场景**:
- 代码质量检查
- TypeScript类型规范审计
| 配置项 | 类型 | 默认值 | 说明 |
| ---------- | -------- | --------------------------------------- | ------------------------------------------------------ |
| targetDir | string | './src' | 需要扫描的源码目录 |
| outputFile | string | `${process.cwd()}/check-any-results.js` | 结果输出文件路径 |
| skipSet | string[] | [] | 需要跳过的代码模式(包含这些字符串的代码行将不被检测) |
| extFiles | string[] | ['.ts', '.vue'] | 需要扫描的文件扩展名 |
**功能**:清理无用的JSDoc注释
**清理规则**:
- 自动清理`/** ... */`格式没有描述的`@param`及`@returns`
| 配置项 | 类型 | 默认值 | 说明 |
| --------- | -------- | ---------------------- | ---------------------- |
| targetDir | string | './src' | 需要清理注释的源码目录 |
| extFiles | string[] | ['.js', '.ts', '.vue'] | 需要处理的文件扩展名 |
**功能**:提取项目中的中文字符
**使用场景**:
- 方便快速国际化的适配
| 配置项 | 类型 | 默认值 | 说明 |
| ------------ | -------- | ---------------------------------------------------- | -------------------- |
| targetDir | string | './src' | 需要扫描的源码目录 |
| outputFile | string | `${process.cwd()}/extract-chinese-results.js` | 结果输出文件路径 |
| extFiles | string[] | ['.js', '.jsx', '.ts', '.tsx', '.vue', '.html'] | 需要扫描的文件扩展名 |
| excludeDirs | string[] | ['node_modules', 'dist', 'build', 'locales'] | 需要排除的目录 |
| excludeFiles | string[] | ['extract-chinese-results.js', 'extract-chinese.js'] | 需要排除的特定文件 |
| verbose | boolean | true | 是否显示处理过程日志 |
1. 入参超过2个没有定义成对象的
2. 有多个if else、以及if else 嵌套的
3. 没有被使用的引用定义
4. 检测项目中重复使用某一个字符串定义的地方
5. 魔法数字的检测,以及重复的魔法数字