Skip to content

./rules

导出 defineRulesRuleOptions,以及 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",
		}),
	},
]);

输入

输入值输入值类型必填/默认值输入值说明
rulesRejectUnknownRuleNames<Rules>需要验证的 ESLint 规则记录;未知规则名和无效规则选项会产生类型错误。

返回

返回值返回值类型返回值说明
configsRules & Linter.RulesRecord原样返回传入的规则记录,并补充 ESLint RulesRecord 兼容类型。