diff --git a/packages/plugin-eslint/src/lib/meta/parse.ts b/packages/plugin-eslint/src/lib/meta/parse.ts index b3debe9c4..47d1ca6cb 100644 --- a/packages/plugin-eslint/src/lib/meta/parse.ts +++ b/packages/plugin-eslint/src/lib/meta/parse.ts @@ -8,7 +8,9 @@ export type RuleData = { }; export function parseRuleId(ruleId: string): { plugin?: string; name: string } { - const i = ruleId.lastIndexOf('/'); + const i = ruleId.startsWith('@') + ? ruleId.lastIndexOf('/') + : ruleId.indexOf('/'); if (i === -1) { return { name: ruleId }; } diff --git a/packages/plugin-eslint/src/lib/meta/parse.unit.test.ts b/packages/plugin-eslint/src/lib/meta/parse.unit.test.ts index c1b00da9b..2781d64a9 100644 --- a/packages/plugin-eslint/src/lib/meta/parse.unit.test.ts +++ b/packages/plugin-eslint/src/lib/meta/parse.unit.test.ts @@ -32,6 +32,11 @@ describe('parseRuleId', () => { plugin: '@angular-eslint/template', name: 'no-negated-async', }, + { + ruleId: 'n/prefer-promises/fs', + plugin: 'n', + name: 'prefer-promises/fs', + }, ])('$ruleId => name: $name, plugin: $plugin', ({ ruleId, name, plugin }) => { expect(parseRuleId(ruleId)).toEqual({ name, plugin }); });