Skip to content

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

InputTypeRequired / defaultDescription
rulesRejectUnknownRuleNames<Rules>RequiredRule record to use in eslintrc.

Returns

ValueTypeDescription
configsRules & Linter.RulesRecordSame object reference with Linter.RulesRecord compatibility.