From 972ee32dc8db6619f3abfaefb9dd322cdaaa2ba7 Mon Sep 17 00:00:00 2001 From: KingDarBoja Date: Tue, 28 Apr 2020 21:51:00 -0500 Subject: [PATCH 1/2] Add codelyzer component-class-suffix converter --- .../codelyzer/component-class-suffix.ts | 15 ++++++++ .../tests/component-class-suffix.test.ts | 34 +++++++++++++++++++ src/rules/rulesConverters.ts | 4 +++ 3 files changed, 53 insertions(+) create mode 100644 src/rules/converters/codelyzer/component-class-suffix.ts create mode 100644 src/rules/converters/codelyzer/tests/component-class-suffix.test.ts diff --git a/src/rules/converters/codelyzer/component-class-suffix.ts b/src/rules/converters/codelyzer/component-class-suffix.ts new file mode 100644 index 000000000..e2937945d --- /dev/null +++ b/src/rules/converters/codelyzer/component-class-suffix.ts @@ -0,0 +1,15 @@ +import { RuleConverter } from "../../converter"; + +export const convertComponentClassSuffix: RuleConverter = (tslintRule) => { + return { + rules: [ + { + ...(tslintRule.ruleArguments.length !== 0 && { + ruleArguments: tslintRule.ruleArguments, + }), + ruleName: "@angular-eslint/component-class-suffix", + }, + ], + plugins: ["@angular-eslint/eslint-plugin"], + }; +}; diff --git a/src/rules/converters/codelyzer/tests/component-class-suffix.test.ts b/src/rules/converters/codelyzer/tests/component-class-suffix.test.ts new file mode 100644 index 000000000..2e2ff86ae --- /dev/null +++ b/src/rules/converters/codelyzer/tests/component-class-suffix.test.ts @@ -0,0 +1,34 @@ +import { convertComponentClassSuffix } from "../component-class-suffix"; + +describe(convertComponentClassSuffix, () => { + test("conversion without arguments", () => { + const result = convertComponentClassSuffix({ + ruleArguments: [], + }); + + expect(result).toEqual({ + rules: [ + { + ruleName: "@angular-eslint/component-class-suffix", + }, + ], + plugins: ["@angular-eslint/eslint-plugin"], + }); + }); + + test("conversion with arguments", () => { + const result = convertComponentClassSuffix({ + ruleArguments: ["Component", "View"], + }); + + expect(result).toEqual({ + rules: [ + { + ruleArguments: ["Component", "View"], + ruleName: "@angular-eslint/component-class-suffix", + }, + ], + plugins: ["@angular-eslint/eslint-plugin"], + }); + }); +}); diff --git a/src/rules/rulesConverters.ts b/src/rules/rulesConverters.ts index b9bfabcec..206f02b00 100644 --- a/src/rules/rulesConverters.ts +++ b/src/rules/rulesConverters.ts @@ -137,6 +137,9 @@ import { convertUseDefaultTypeParameter } from "./converters/use-default-type-pa import { convertUseIsnan } from "./converters/use-isnan"; import { convertVariableName } from "./converters/variable-name"; +// Codelyzer converters +import { convertComponentClassSuffix } from "./converters/codelyzer/component-class-suffix"; + /** * Keys TSLint rule names to their ESLint rule converters. */ @@ -154,6 +157,7 @@ export const rulesConverters = new Map([ ["callable-types", convertCallableTypes], ["class-name", convertClassName], ["comment-format", convertCommentFormat], + ["component-class-suffix", convertComponentClassSuffix], ["curly", convertCurly], ["cyclomatic-complexity", convertCyclomaticComplexity], ["deprecation", convertDeprecation], From 4713460da868a9b1d006ce8c328b619e6cfa79ad Mon Sep 17 00:00:00 2001 From: KingDarBoja Date: Mon, 4 May 2020 08:19:07 -0500 Subject: [PATCH 2/2] Pass suffixes object to component class rule --- src/rules/converters/codelyzer/component-class-suffix.ts | 6 +++++- .../codelyzer/tests/component-class-suffix.test.ts | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/rules/converters/codelyzer/component-class-suffix.ts b/src/rules/converters/codelyzer/component-class-suffix.ts index e2937945d..d253a6399 100644 --- a/src/rules/converters/codelyzer/component-class-suffix.ts +++ b/src/rules/converters/codelyzer/component-class-suffix.ts @@ -5,7 +5,11 @@ export const convertComponentClassSuffix: RuleConverter = (tslintRule) => { rules: [ { ...(tslintRule.ruleArguments.length !== 0 && { - ruleArguments: tslintRule.ruleArguments, + ruleArguments: [ + { + suffixes: tslintRule.ruleArguments, + }, + ], }), ruleName: "@angular-eslint/component-class-suffix", }, diff --git a/src/rules/converters/codelyzer/tests/component-class-suffix.test.ts b/src/rules/converters/codelyzer/tests/component-class-suffix.test.ts index 2e2ff86ae..69019e0de 100644 --- a/src/rules/converters/codelyzer/tests/component-class-suffix.test.ts +++ b/src/rules/converters/codelyzer/tests/component-class-suffix.test.ts @@ -24,7 +24,11 @@ describe(convertComponentClassSuffix, () => { expect(result).toEqual({ rules: [ { - ruleArguments: ["Component", "View"], + ruleArguments: [ + { + suffixes: ["Component", "View"], + }, + ], ruleName: "@angular-eslint/component-class-suffix", }, ],