Skip to content

Commit f1163d0

Browse files
committed
fix(plugin-eslint): parse rule names containing slashes correctly
1 parent 9d6eacf commit f1163d0

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

packages/plugin-eslint/src/lib/meta/parse.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ export type RuleData = {
88
};
99

1010
export function parseRuleId(ruleId: string): { plugin?: string; name: string } {
11-
const i = ruleId.lastIndexOf('/');
11+
const i = ruleId.startsWith('@')
12+
? ruleId.lastIndexOf('/')
13+
: ruleId.indexOf('/');
1214
if (i === -1) {
1315
return { name: ruleId };
1416
}

packages/plugin-eslint/src/lib/meta/parse.unit.test.ts

+5
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ describe('parseRuleId', () => {
3232
plugin: '@angular-eslint/template',
3333
name: 'no-negated-async',
3434
},
35+
{
36+
ruleId: 'n/prefer-promises/fs',
37+
plugin: 'n',
38+
name: 'prefer-promises/fs',
39+
},
3540
])('$ruleId => name: $name, plugin: $plugin', ({ ruleId, name, plugin }) => {
3641
expect(parseRuleId(ruleId)).toEqual({ name, plugin });
3742
});

0 commit comments

Comments
 (0)