CYF ESLint 配置
所有 CYF 实例/项目的标准 ESLint 配置 .
版本
此配置使用 交换器,解释如下:
-
补丁 释放(
x.y.z- > (中文)x.y.z+1: bugfixs 和工具更新指以前通过的代码 线性 应 更新后继续通过. -
次要 释放(
x.y.z- > (中文)x.y+1.0:对现有规则的修改意味着先前失败的代码 线性 可能 现在通过,或者说新的配置表示之前通过 linting 的代码 应 继续通过. -
少校 释放(
x.y.z- > (中文)x+1.0.0:新规则,或对现行规则的修改,是指: 先前通过的 linting 不会 再过一次.
在报告任何错误时请铭记这些定义 .
使用量
与 ESLint 本身一起安装此软件包 :
npm install --save-dev eslint @codeyourfuture/eslint-config-standard
然后创建一个 ESLint 配置文件 并添加此配置 :
import cyf from "@codeyourfuture/eslint-config-standard";
export default [...cyf.configs.standard];
或者,对于一些稍稍宽容的规则,你可以使用 cyf.configs.lax。 。 。 .
您也可以打电话 cyf.configure 包含一些要添加/覆盖您自己的设置的规则 :
export default [...cyf.configure({
// ...
})];
原则
- 只出错 - 不要教学习者忽略 任意 输出,所有规则都应该是
"error"或者说"off" - 最大限度的一致性 - 如果有选项(例如单行语句的括号,以箭头函数参数为括号),则与非选项相符合
- 最小化更改设置大小 - 保持承诺小 以便学习者可以专注于重要的变化
规则
此配置从 ESLint 语录 财务报告和审定财务报表 结构化 建议的规则随后增加如下:
| 配置 | 规则 | 设置 | 原则/理由说明 |
|---|---|---|---|
| 标准, 松动 | @stylistic/arrow-parens | 第二条、第三条 | |
| 标准, 松动 | @stylistic/brace-style | "1tbs", { "allowSingleLine": false } | |
| 标准, 松动 | @stylistic/comma-dangle | "always-multiline" | 3个 |
| 标准 | @stylistic/indent | "tab", { "SwitchCase": 1 } | 标签是 更容易获得 |
| 标准 | @stylistic/linebreak-style | "unix" | |
| 标准, 松动 | @stylistic/no-trailing-spaces | ||
| 标准, 松动 | @stylistic/object-curly-spacing | "always" | |
| 标准, 松动 | @stylistic/operator-linebreak | "before" | |
| 标准, 松动 | @stylistic/quote-props | "as-needed" | 3个 |
| 标准, 松动 | @stylistic/quotes | "double", { "avoidEscape": true, "allowTemplateLiterals": false } | 更有可能需要 ' 字符串内比 " |
| 标准, 松动 | @stylistic/semi | 学习者不应该忘记 ASI 规则 | |
| 标准, 松动 | curly | 2个 | |
| 标准, 松动 | no-unused-vars | { "ignoreRestSiblings": true } | |
| 标准, 松动 | no-var | 坚持 let 财务报告和审定财务报表 const 更可预测的行为 |
发展
您可以复制此重播并运行 npm install 安装开发依赖。 提供了两个脚本:
-
lint: 使用 ESLint 版本作为 lint 的 dev 依赖性index.js违背自己的规则. -
test:examples: 运行bin/examples.sh来对照pass.js财务报告和审定财务报表fail.js实例 内examples/。 。 。 .pass.js包含根据配置通过林入的代码,fail.js包含失败的代码 . -
test:install: 运行bin/test.sh创建软件包,安装 ESLint(由需要的版本定义) 环境变量ESLINT_VERSION)和当前版本的这种配置,然后检查是否有 无版本相冲突与插件index.js. e.g. (中文(简体) ).ESLINT_VERSION=9 npm run test:install将测试此 配置与最新版本的ESLint 9.