Skip to content

Commit ff16ef2

Browse files
authored
refactor: make config rules static rather than based off rule metadata (#1506)
1 parent e212f5e commit ff16ef2

File tree

1 file changed

+30
-20
lines changed

1 file changed

+30
-20
lines changed

src/index.ts

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,34 @@ const rules = Object.fromEntries(
6464
.map(rule => [rule, importDefault(join(rulesDir, rule)) as RuleModule]),
6565
);
6666

67-
const recommendedRules = Object.fromEntries(
68-
Object.entries(rules)
69-
.filter(([, rule]) => rule.meta.docs.recommended)
70-
.map(([name, rule]) => [
71-
`jest/${name}`,
72-
rule.meta.docs.recommended as TSESLint.Linter.RuleLevel,
73-
]),
74-
);
67+
const recommendedRules = {
68+
'jest/expect-expect': 'warn',
69+
'jest/no-alias-methods': 'error',
70+
'jest/no-commented-out-tests': 'warn',
71+
'jest/no-conditional-expect': 'error',
72+
'jest/no-deprecated-functions': 'error',
73+
'jest/no-disabled-tests': 'warn',
74+
'jest/no-done-callback': 'error',
75+
'jest/no-export': 'error',
76+
'jest/no-focused-tests': 'error',
77+
'jest/no-identical-title': 'error',
78+
'jest/no-interpolation-in-snapshots': 'error',
79+
'jest/no-jasmine-globals': 'error',
80+
'jest/no-mocks-import': 'error',
81+
'jest/no-standalone-expect': 'error',
82+
'jest/no-test-prefixes': 'error',
83+
'jest/valid-describe-callback': 'error',
84+
'jest/valid-expect': 'error',
85+
'jest/valid-expect-in-promise': 'error',
86+
'jest/valid-title': 'error',
87+
} satisfies Record<string, TSESLint.Linter.RuleLevel>;
88+
89+
const styleRules = {
90+
'jest/no-alias-methods': 'warn',
91+
'jest/prefer-to-be': 'error',
92+
'jest/prefer-to-contain': 'error',
93+
'jest/prefer-to-have-length': 'error',
94+
} satisfies Record<string, TSESLint.Linter.RuleLevel>;
7595

7696
const allRules = Object.fromEntries<TSESLint.Linter.RuleLevel>(
7797
Object.entries(rules)
@@ -122,20 +142,10 @@ const createFlatConfig = (
122142
plugin.configs = {
123143
all: createRCConfig(allRules),
124144
recommended: createRCConfig(recommendedRules),
125-
style: createRCConfig({
126-
'jest/no-alias-methods': 'warn',
127-
'jest/prefer-to-be': 'error',
128-
'jest/prefer-to-contain': 'error',
129-
'jest/prefer-to-have-length': 'error',
130-
}),
145+
style: createRCConfig(styleRules),
131146
'flat/all': createFlatConfig(allRules),
132147
'flat/recommended': createFlatConfig(recommendedRules),
133-
'flat/style': createFlatConfig({
134-
'jest/no-alias-methods': 'warn',
135-
'jest/prefer-to-be': 'error',
136-
'jest/prefer-to-contain': 'error',
137-
'jest/prefer-to-have-length': 'error',
138-
}),
148+
'flat/style': createFlatConfig(styleRules),
139149
'flat/snapshots': {
140150
// @ts-expect-error this is introduced in flat config
141151
files: ['**/*.snap'],

0 commit comments

Comments
 (0)