Skip to content

Commit dedbc02

Browse files
authored
Add codelyzer component-class-suffix converter (#432)
* Add codelyzer component-class-suffix converter * Pass suffixes object to component class rule
1 parent 665d38f commit dedbc02

File tree

3 files changed

+61
-0
lines changed

3 files changed

+61
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { RuleConverter } from "../../converter";
2+
3+
export const convertComponentClassSuffix: RuleConverter = (tslintRule) => {
4+
return {
5+
rules: [
6+
{
7+
...(tslintRule.ruleArguments.length !== 0 && {
8+
ruleArguments: [
9+
{
10+
suffixes: tslintRule.ruleArguments,
11+
},
12+
],
13+
}),
14+
ruleName: "@angular-eslint/component-class-suffix",
15+
},
16+
],
17+
plugins: ["@angular-eslint/eslint-plugin"],
18+
};
19+
};
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { convertComponentClassSuffix } from "../component-class-suffix";
2+
3+
describe(convertComponentClassSuffix, () => {
4+
test("conversion without arguments", () => {
5+
const result = convertComponentClassSuffix({
6+
ruleArguments: [],
7+
});
8+
9+
expect(result).toEqual({
10+
rules: [
11+
{
12+
ruleName: "@angular-eslint/component-class-suffix",
13+
},
14+
],
15+
plugins: ["@angular-eslint/eslint-plugin"],
16+
});
17+
});
18+
19+
test("conversion with arguments", () => {
20+
const result = convertComponentClassSuffix({
21+
ruleArguments: ["Component", "View"],
22+
});
23+
24+
expect(result).toEqual({
25+
rules: [
26+
{
27+
ruleArguments: [
28+
{
29+
suffixes: ["Component", "View"],
30+
},
31+
],
32+
ruleName: "@angular-eslint/component-class-suffix",
33+
},
34+
],
35+
plugins: ["@angular-eslint/eslint-plugin"],
36+
});
37+
});
38+
});

src/rules/rulesConverters.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,9 @@ import { convertUseDefaultTypeParameter } from "./converters/use-default-type-pa
137137
import { convertUseIsnan } from "./converters/use-isnan";
138138
import { convertVariableName } from "./converters/variable-name";
139139

140+
// Codelyzer converters
141+
import { convertComponentClassSuffix } from "./converters/codelyzer/component-class-suffix";
142+
140143
/**
141144
* Keys TSLint rule names to their ESLint rule converters.
142145
*/
@@ -154,6 +157,7 @@ export const rulesConverters = new Map([
154157
["callable-types", convertCallableTypes],
155158
["class-name", convertClassName],
156159
["comment-format", convertCommentFormat],
160+
["component-class-suffix", convertComponentClassSuffix],
157161
["curly", convertCurly],
158162
["cyclomatic-complexity", convertCyclomaticComplexity],
159163
["deprecation", convertDeprecation],

0 commit comments

Comments
 (0)