./rules
导出 defineRules、RuleOptions,以及 Angular、Common、Import、JavaScript、Lodash、React、RegExp、Package/tsconfig 排序、TypeScript、Vue 与 Vue Legacy 规则记录。
ts
import { defineRules, typescriptRules, vueRules } from "@fast-china/eslint-config/rules";
export const rules = defineRules({
...typescriptRules,
...vueRules,
"@typescript-eslint/no-explicit-any": "off",
});规则的启用状态、适用范围、配置值、说明与示例见完整规则手册。规则记录不包含 Parser、Plugin、环境或文件匹配配置。
defineRules 规则定义
定义带有完整规则名与选项类型检查的 ESLint 规则记录。
签名
ts
export const defineRules = <const Rules extends RuleOptions>(rules: RejectUnknownRuleNames<Rules>): Rules & Linter.RulesRecord;示例
js
import { defineRules, vueConfig } from "@fast-china/eslint-config";
import { defineConfig } from "eslint/config";
export default defineConfig([
...vueConfig,
{
name: "project/custom-rules",
rules: defineRules({
eqeqeq: ["error", "always"],
"no-console": "warn",
}),
},
]);输入
| 输入值 | 输入值类型 | 必填/默认值 | 输入值说明 |
|---|---|---|---|
rules | RejectUnknownRuleNames<Rules> | 是 | 需要验证的 ESLint 规则记录;未知规则名和无效规则选项会产生类型错误。 |
返回
| 返回值 | 返回值类型 | 返回值说明 |
|---|---|---|
configs | Rules & Linter.RulesRecord | 原样返回传入的规则记录,并补充 ESLint RulesRecord 兼容类型。 |
