./constants 与 ./rules
./constants 导出 JavaScript、TypeScript、声明文件、Vue、Angular、JSON/JSONC/JSON5、Markdown、YAML、Node 工具、tsconfig 与 CommonJS glob。
./rules 导出 defineRules、RuleName、RuleOptions,以及 Angular、Common、Import、JavaScript、Lodash、React、RegExp、排序、TypeScript、Vue 3 与 Vue Legacy 规则记录。
ts
import { defineRules, vueLegacyRules } from "@fast-china/eslint-config-legacy/rules";
export const rules = defineRules({
...vueLegacyRules,
"vue/multi-word-component-names": "off",
});这些规则对象不包含 Parser、Plugin、环境和文件范围。规则升级的语义风险见规则风险指南。
defineRules 规则定义
为消费项目定义类型安全的 ESLint 8 规则记录。
签名
ts
export const defineRules = <const Rules extends RuleOptions>(rules: RejectUnknownRuleNames<Rules>): Rules & Linter.RulesRecord;示例
js
const { defineRules } = require("@fast-china/eslint-config-legacy/rules");
module.exports = {
root: true,
extends: ["@fast-china/eslint-config-legacy"],
rules: defineRules({
eqeqeq: ["error", "always"],
"no-console": "warn",
}),
};输入
| 输入值 | 输入值类型 | 必填/默认值 | 输入值说明 |
|---|---|---|---|
rules | RejectUnknownRuleNames<Rules> | 是 | 需要写入 .eslintrc 的规则记录。 |
返回
| 返回值 | 返回值类型 | 返回值说明 |
|---|---|---|
configs | Rules & Linter.RulesRecord | 与传入值引用相同、同时兼容 Linter.RulesRecord 的规则记录。 |
