homecheck v0.9.5
homecheck
项目简介
该项目(homecheck)专为提升代码质量而设计,能高效识别代码缺陷并提出方案;其核心功能是对应用工程项目执行静态代码分析,评估代码在安全性、性能等方面上的表现,精准定位问题及其在代码中的位置。
目录
homecheck
├─config/ # 项目配置
├─document/ # 项目文档
├─resources/ # 依赖库
├─src/
│ ├─checker/ # 项目检测规则功能代码
│ ├─codeFix/ # 修复
│ ├─matcher/ # 匹配类型
│ ├─model/ # 模块
│ ├─utils/ # 公共接口
│ └─run.ts # 项目入口
└─test/ # 测试目录
项目主体流程
1.读取配置文件projectConfig.json和ruleConfig.json
2.使用ArkAnalyzer项目构建sence
3.根据配置文件参数,获取需要检测的文件
4.前处理
5.进行检测
6.后处理
QuickStart
1.下载本项目
2.进入项目根目录,打开终端
cmd
3.安装依赖库
npm install
4.修改配置
config\projectConfig.json中修改项目配置 示例:
{
"projectName": "TestProject",
"projectPath": "/path/to/project",
"logPath": "./HomeCheck.log",
"ohosSdkPath": "/path/to/ohosSdk",
"hmsSdkPath": "/path/to/hmsSdk",
"checkPath": "",
"sdkVersion": 14,
"fix": "true",
"npmPath": "",
"sdksThirdParty": [
{
"name": "thirdParty",
"path": "./resources/thirdPartyModules",
"moduleName": ""
}
]
}
字段说明:
projectName:需要检测工程的名字
projectPath:需要检测工程的路径
logPath:日志输出路径
ohosSdkPath:ohossdk路径,比如DevEco Studio安装目录下的sdk\default\openharmony\ets,请使用绝对路径
hmsSdkPath:hmssdk路径,比如DevEco Studio安装目录下的sdk\default\hms\ets,请使用绝对路径
checkPath:解析指定的文件
sdkVersion:sdk版本
fix:是否修复
npmPath:自定义规则npm路径
sdksThirdParty:sdk三方库,name:库名称,path:库路径,moduleName:模块名称
config\ruleConfig.json中修改规则配置 示例:
{
"files": [
"**/*.ets",
"**/*.ts"
],
"ignore": [
"**/ohosTest/**/*",
"**/node_modules/**/*",
"**/build/**/*",
"**/hvigorfile/**/*",
"**/oh_modules/**/*",
"**/.preview/**/*"
],
"rules": {
"@performance/foreach-args-check":3
},
"ruleSet": [
"plugin:@performance/all",
"plugin:@correctness/all"
],
"overrides": [],
"extRuleSet": []
}
字段说明:
files:待检测文件类型
ignore:过滤文件
rules:可以基于ruleSet配置的规则集,新增额外规则项
ruleSet:规则集
overrides:定制化检查的规则
extRuleSet:自定义规则
extRuleSet:自定义规则,参考自定义规则
5.启动项目
注意修改projectConfig.json和ruleConfig.json文件路径
5.1 命令行启动,示例:
根目录下执行
node -r ts-node/register ./src/run.ts --projectConfigPath=./config/projectConfig.json --configPath=./config/ruleConfig.json
5.2 vscode启动:
根目录新建.vscode目录,并新建launch.json文件,内容参考.vscode_sample\launch.json
点击左侧运行和调试按钮,点击启动程序,开始运行,运行结束查看HomeCheck.log
5.3 webstorm启动:
新增规则
自定义规则
参考:自定义规则开发指南
检测规则
参考:新增检测规则开发指南
api
参考:api说明
打包
根目录下执行命令:
npm pack
产物,根目录下:
homecheck-1.0.0.tgz
安装与使用
安装
工程根目录下执行命令:
npm install homecheck
安装成功示例:
$ npm install homecheck
added 3 packages in 9s
39 packages are looking for funding
run `npm fund` for details
node_modules目录下新增文件夹homecheck
配置文件
config目录下新建projectConfig.json和ruleConfig.json,内容参考修改配置
run文件
在根目录下新建run.js文件,内容示例:
const { start } = require("homecheck/lib/Index");
start();
运行
参考启动项目
- 命令行启动,示例:
根目录下执行
node ./run.js --projectConfigPath=./config/projectConfig.json --configPath=./config/ruleConfig.json
- vscode启动:
根目录新建.vscode目录,并新建launch.json文件,内容示例:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "启动程序",
"runtimeArgs": ["-r", "ts-node/register"],
"args":[
"run.js",
"--projectConfigPath=./config/projectConfig.json",
"--configPath=./config/ruleConfig.json"
]
}
]
}
点击左侧运行和调试按钮,点击启动程序,开始运行
日志
运行结果请查看根目录下的HomeCheck.log
代码上库
遵守openharmony-sig代码上库规范, 操作方法请参考:创建pr指南
Issues
提交Issues请参考:Issues指南。
添加自验证测试用例
自验证用例请参考: