diff --git a/src/converters/lintConfigs/rules/ruleConverters/codelyzer/template-accessibility-label-for.ts b/src/converters/lintConfigs/rules/ruleConverters/codelyzer/template-accessibility-label-for.ts index 83ead7e77..1b820b84f 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/codelyzer/template-accessibility-label-for.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/codelyzer/template-accessibility-label-for.ts @@ -7,13 +7,24 @@ export const convertTemplateAccessibilityLabelFor: RuleConverter = (tslintRule) ...(tslintRule.ruleArguments.length !== 0 && { ruleArguments: [ { - ...(tslintRule.ruleArguments[0]?.controlComponents && { controlComponents: tslintRule.ruleArguments[0]?.controlComponents }), - ...(tslintRule.ruleArguments[0]?.labelAttributes && { labelAttributes: tslintRule.ruleArguments[0]?.labelAttributes }), - ...(tslintRule.ruleArguments[0]?.labelComponents && { labelComponents: tslintRule.ruleArguments[0]?.labelComponents }), + ...(tslintRule.ruleArguments[0]?.controlComponents && { + controlComponents: tslintRule.ruleArguments[0]?.controlComponents, + }), + ...(tslintRule.ruleArguments[0]?.labelComponents && { + labelComponents: tslintRule.ruleArguments[0]?.labelComponents.map( + (selector: string) => { + return { + inputs: + tslintRule.ruleArguments[0]?.labelAttributes || [], + selector, + }; + }, + ), + }), }, ], }), - ruleName: "@angular-eslint/template/accessibility-label-for", + ruleName: "@angular-eslint/template/accessibility-label-has-associated-control", }, ], plugins: ["@angular-eslint/eslint-plugin-template"], diff --git a/src/converters/lintConfigs/rules/ruleConverters/codelyzer/template-no-negated-async.ts b/src/converters/lintConfigs/rules/ruleConverters/codelyzer/template-no-negated-async.ts index 5fb36bc7f..236ae0444 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/codelyzer/template-no-negated-async.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/codelyzer/template-no-negated-async.ts @@ -3,6 +3,9 @@ import { RuleConverter } from "../../ruleConverter"; export const convertTemplateNoNegatedAsync: RuleConverter = () => { return { rules: [ + { + ruleName: "@angular-eslint/template/eqeqeq", + }, { ruleName: "@angular-eslint/template/no-negated-async", }, diff --git a/src/converters/lintConfigs/rules/ruleConverters/codelyzer/tests/template-accessibility-label-for.test.ts b/src/converters/lintConfigs/rules/ruleConverters/codelyzer/tests/template-accessibility-label-for.test.ts index a65c9cb91..6dc66c2a2 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/codelyzer/tests/template-accessibility-label-for.test.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/codelyzer/tests/template-accessibility-label-for.test.ts @@ -9,7 +9,7 @@ describe(convertTemplateAccessibilityLabelFor, () => { expect(result).toEqual({ rules: [ { - ruleName: "@angular-eslint/template/accessibility-label-for", + ruleName: "@angular-eslint/template/accessibility-label-has-associated-control", }, ], plugins: ["@angular-eslint/eslint-plugin-template"], @@ -18,11 +18,44 @@ describe(convertTemplateAccessibilityLabelFor, () => { test("conversion with arguments", () => { const result = convertTemplateAccessibilityLabelFor({ - ruleArguments: [{ - controlComponents: ["app-input", "app-select"], - labelAttributes: ["id"], - labelComponents: ["app-label"], - }], + ruleArguments: [ + { + controlComponents: ["app-input", "app-select"], + labelAttributes: ["id"], + labelComponents: ["app-label"], + }, + ], + }); + + expect(result).toEqual({ + rules: [ + { + ruleArguments: [ + { + controlComponents: ["app-input", "app-select"], + labelComponents: [ + { + inputs: ["id"], + selector: "app-label", + }, + ], + }, + ], + ruleName: "@angular-eslint/template/accessibility-label-has-associated-control", + }, + ], + plugins: ["@angular-eslint/eslint-plugin-template"], + }); + }); + + test("conversion with arguments, missing labelAttributes", () => { + const result = convertTemplateAccessibilityLabelFor({ + ruleArguments: [ + { + controlComponents: ["app-input", "app-select"], + labelComponents: ["app-label"], + }, + ], }); expect(result).toEqual({ @@ -31,11 +64,15 @@ describe(convertTemplateAccessibilityLabelFor, () => { ruleArguments: [ { controlComponents: ["app-input", "app-select"], - labelAttributes: ["id"], - labelComponents: ["app-label"], - } + labelComponents: [ + { + inputs: [], + selector: "app-label", + }, + ], + }, ], - ruleName: "@angular-eslint/template/accessibility-label-for", + ruleName: "@angular-eslint/template/accessibility-label-has-associated-control", }, ], plugins: ["@angular-eslint/eslint-plugin-template"], diff --git a/src/converters/lintConfigs/rules/ruleConverters/codelyzer/tests/template-no-negated-async.test.ts b/src/converters/lintConfigs/rules/ruleConverters/codelyzer/tests/template-no-negated-async.test.ts index df3d0f7e4..af89af5be 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/codelyzer/tests/template-no-negated-async.test.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/codelyzer/tests/template-no-negated-async.test.ts @@ -8,6 +8,9 @@ describe(convertTemplateNoNegatedAsync, () => { expect(result).toEqual({ rules: [ + { + ruleName: "@angular-eslint/template/eqeqeq", + }, { ruleName: "@angular-eslint/template/no-negated-async", },