./rules
Exports defineRules, RuleOptions, and rule records for Angular, Common, Import, JavaScript, Lodash, React, RegExp, package/tsconfig sorting, TypeScript, Vue, and 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",
});See the rule handbook for activation, scope, options, explanations, and examples. Rule records contain no parsers, plugins, environments, or file scopes.
defineRules Rules
Defines a fully typed ESLint rule record.
Signature
ts
export const defineRules = <const Rules extends RuleOptions>(rules: RejectUnknownRuleNames<Rules>): Rules & Linter.RulesRecord;Example
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",
}),
},
]);Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rules | RejectUnknownRuleNames<Rules> | Required | Rule record to validate; unknown names and invalid options produce type errors. |
Returns
| Value | Type | Description |
|---|---|---|
configs | Rules & Linter.RulesRecord | Returns the same record with ESLint RulesRecord compatibility typing. |
