环境变量
环境变量适合对扫描工具存在更深层次使用诉求的用户,并非扫描方案中的必填项。通常情况下,代码扫描默认的环境变量配置可以满足大部分扫描场景。
基础概念
CODING 代码扫描所使用的环境变量配置工具为 Eslint。由于 JavaScript 语法、 Vue 语法和 TypeScript 语法之间的差异,它们各自使用的语法解析器也有所不同。你可以根据实际需要选择对应工具下的规则进行分析,配置也会基于语法类型的不同而匹配相对应的工具。
工具类型
基于各语法解析器的不同,Eslint 中拆分出来了 Eslint_vue 和 Eslint_typescript 等工具。目前代码分析上 Eslint 类型有:
- JAVASCRIPT 类型
分析 JavaScript 框架以及在此基础上衍生的 React 代码,默认分析文件后缀名为 .js
、.jsx
。
- VUE 类型
分析 Vue 框架代码,默认分析文件后缀名为 .vue
。
- TYPESCRIPT
分析 TypeScript 框架以及在此基础上衍生的 React 代码,默认分析文件后缀名为 .ts
、tsx
。
全局参数
部分场景下项目会用到各式各样的框架,其中部分全局变量 Eslint 无法识别。例如存在 _
或 jtest
等参数从而导致误报。设置全局变量可以减少误报,你可以在代码分析项目中设置对应的全局变量。
环境变量名称 | 描述 |
---|---|
ESLINT_JAVASCRIPT_GLOBALS | 字符串,以分号分割 |
ESLINT_VUE_GLOBALS | 字符串,以分号分割 |
ESLINT_TYPESCRIPT_GLOBALS | 字符串,以分号分割 |
示例:ESLINT_JAVASCRIPT_GLOBALS=_:readonly
, jtest:readonly
。
writable
表示允许重写变量readonly
表示不允许重写变量off
表示禁用该全局变量
指定配置文件
运行扫描方案时支持读取代码库中存储的 eslint 配置文件。配置以下环境变量,指定参数的配置文件后,Eslint 在分析时将自动合并默认配置与参数配置文件。
环境变量名称 | 描述 |
---|---|
ESLINT_JAVASCRIPT_CONFIG | 字符串,相对代码库根目录路径 |
ESLINT_VUE_CONFIG | 字符串,相对代码库根目录路径 |
ESLINT_TYPESCRIPT_CONFIG | 字符串,相对代码库根目录路径 |
Gometalinter
在环境变量中配置相关参数后,例如 GOPATH,代码扫描时将自动拉取 go 工程的依赖。
Pylint
Python 语言的默认分析代码版本为 Python3.X。若要分析 Python2 代码,需指定使用 Python2 环境,示例代码:PYTHON_VERSION=2
。
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。