Skip to content

Commit 2729aae

Browse files
authored
Add codelyzer template-i18n converter (#987)
1 parent 68db509 commit 2729aae

File tree

3 files changed

+61
-0
lines changed

3 files changed

+61
-0
lines changed

src/converters/lintConfigs/rules/ruleConverters.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ import { convertTemplateBananaInBox } from "./ruleConverters/codelyzer/template-
173173
import { convertTemplateClickEventsHaveKeyEvents } from "./ruleConverters/codelyzer/template-click-events-have-key-events";
174174
import { convertTemplateConditionalComplexity } from "./ruleConverters/codelyzer/template-conditional-complexity";
175175
import { convertTemplateCyclomaticComplexity } from "./ruleConverters/codelyzer/template-cyclomatic-complexity";
176+
import { convertTemplateI18N } from "./ruleConverters/codelyzer/template-i18n";
176177
import { convertTemplateMouseEventsHaveKeyEvents } from "./ruleConverters/codelyzer/template-mouse-events-have-key-events";
177178
import { convertTemplateNoAny } from "./ruleConverters/codelyzer/template-no-any";
178179
import { convertTemplateNoAutofocus } from "./ruleConverters/codelyzer/template-no-autofocus";
@@ -394,6 +395,7 @@ export const ruleConverters = new Map([
394395
["template-conditional-complexity", convertTemplateConditionalComplexity],
395396
["template-click-events-have-key-events", convertTemplateClickEventsHaveKeyEvents],
396397
["template-cyclomatic-complexity", convertTemplateCyclomaticComplexity],
398+
["template-i18n", convertTemplateI18N],
397399
["template-mouse-events-have-key-events", convertTemplateMouseEventsHaveKeyEvents],
398400
["template-no-any", convertTemplateNoAny],
399401
["template-no-autofocus", convertTemplateNoAutofocus],
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { RuleConverter } from "../../ruleConverter";
2+
3+
export const convertTemplateI18N: RuleConverter = (tslintRule) => {
4+
return {
5+
rules: [
6+
{
7+
...(tslintRule.ruleArguments.length !== 0 && {
8+
ruleArguments: [
9+
{
10+
...(tslintRule.ruleArguments.includes("check-id") && { checkId: true }),
11+
...(tslintRule.ruleArguments.includes("check-text") && { checkText: true }),
12+
},
13+
],
14+
}),
15+
ruleName: "@angular-eslint/template/i18n",
16+
},
17+
],
18+
plugins: ["@angular-eslint/eslint-plugin-template"],
19+
};
20+
};
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import { convertTemplateI18N } from "../template-i18n";
2+
3+
describe(convertTemplateI18N, () => {
4+
test("conversion without arguments", () => {
5+
const result = convertTemplateI18N({
6+
ruleArguments: [],
7+
});
8+
9+
expect(result).toEqual({
10+
rules: [
11+
{
12+
ruleName: "@angular-eslint/template/i18n",
13+
},
14+
],
15+
plugins: ["@angular-eslint/eslint-plugin-template"],
16+
});
17+
});
18+
19+
test("conversion with arguments", () => {
20+
const result = convertTemplateI18N({
21+
ruleArguments: ["check-id", "check-text"],
22+
});
23+
24+
expect(result).toEqual({
25+
rules: [
26+
{
27+
ruleArguments: [
28+
{
29+
checkId: true,
30+
checkText: true,
31+
},
32+
],
33+
ruleName: "@angular-eslint/template/i18n",
34+
},
35+
],
36+
plugins: ["@angular-eslint/eslint-plugin-template"],
37+
});
38+
});
39+
});

0 commit comments

Comments
 (0)