Constants and rules
./constants exports globs for JavaScript, TypeScript, declarations, Vue, Angular, JSON/JSONC/JSON5, Markdown, YAML, Node tools, tsconfig, and CommonJS.
./rules exports defineRules, RuleName, RuleOptions, and Angular, Common, Import, JavaScript, Lodash, React, RegExp, sorting, TypeScript, Vue 3, and Vue Legacy records.
ts
import { defineRules, vueLegacyRules } from "@fast-china/eslint-config-legacy/rules";
export const rules = defineRules({
...vueLegacyRules,
"vue/multi-word-component-names": "off",
});Rule objects contain no parser, plugin, environment, or file-scope settings. See the rule risk guide.
defineRules Rules
Defines a type-safe ESLint 8 rule record for consumers.
Signature
ts
export const defineRules = <const Rules extends RuleOptions>(rules: RejectUnknownRuleNames<Rules>): Rules & Linter.RulesRecord;Example
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",
}),
};Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rules | RejectUnknownRuleNames<Rules> | Required | Rule record to use in eslintrc. |
Returns
| Value | Type | Description |
|---|---|---|
configs | Rules & Linter.RulesRecord | Same object reference with Linter.RulesRecord compatibility. |
