Skip to content
This repository was archived by the owner on Oct 3, 2024. It is now read-only.

Commit d5a1f12

Browse files
Make the exported rules a typed record (#469)
1 parent 1efe2da commit d5a1f12

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

src/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ import * as preferObjectLiteral from './rules/prefer-object-literal';
5252
import * as preferSingleBooleanReturn from './rules/prefer-single-boolean-return';
5353
import * as preferWhile from './rules/prefer-while';
5454

55-
export const rules: Record<string, TSESLint.RuleModule<string, Array<unknown>>> = {
55+
export const rules = {
5656
'cognitive-complexity': cognitiveComplexity,
5757
'elseif-without-else': elseifWithoutElse,
5858
'max-switch-cases': maxSwitchCases,
@@ -98,7 +98,7 @@ const recommendedConfig: FlatConfig.Config = {
9898
};
9999

100100
for (const key in rules) {
101-
const rule = rules[key];
101+
const rule = rules[key as keyof typeof rules];
102102
const recommended = rule.meta.docs?.recommended;
103103

104104
recommendedConfig.rules![`sonarjs/${key}`] = recommended === undefined ? 'off' : 'error';

tests/index.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ it('should document all rules', () => {
4848
existingRules.forEach(rule => {
4949
expect(README.includes(rule)).toBe(true);
5050
expect(fs.existsSync(`${root}/docs/rules/${rule}.md`)).toBe(true);
51-
expect(rules[rule].meta.docs!.url).toBe(
51+
expect(rules[rule as keyof typeof rules].meta.docs!.url).toBe(
5252
`https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/${rule}.md`,
5353
);
5454
});

0 commit comments

Comments
 (0)