Skip to content

Commit 2982f98

Browse files
jeremyyapJosh Goldberg
authored and
Josh Goldberg
committed
Add ruleArguments mapping to indent converter (#255)
1 parent 35ebbe9 commit 2982f98

File tree

2 files changed

+54
-1
lines changed

2 files changed

+54
-1
lines changed

src/rules/converters/indent.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,19 @@
11
import { RuleConverter } from "../converter";
22

3-
export const convertIndent: RuleConverter = () => {
3+
export const convertIndent: RuleConverter = tslintRule => {
4+
let indentSize: number | string = 4; // @typescript-eslint/indent default
5+
6+
if (tslintRule.ruleArguments[0] === "tabs") {
7+
indentSize = "tabs";
8+
} else if (tslintRule.ruleArguments[1] === 2) {
9+
indentSize = 2;
10+
}
11+
412
return {
513
rules: [
614
{
715
ruleName: "@typescript-eslint/indent",
16+
...(indentSize !== 4 && { ruleArguments: [indentSize] }),
817
},
918
],
1019
};

src/rules/converters/tests/indent.test.ts

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,48 @@ describe(convertIndent, () => {
1414
],
1515
});
1616
});
17+
18+
test("conversion with 2 spaces", () => {
19+
const result = convertIndent({
20+
ruleArguments: ["spaces", 2],
21+
});
22+
23+
expect(result).toEqual({
24+
rules: [
25+
{
26+
ruleName: "@typescript-eslint/indent",
27+
ruleArguments: [2],
28+
},
29+
],
30+
});
31+
});
32+
33+
test("conversion with 4 spaces", () => {
34+
const result = convertIndent({
35+
ruleArguments: ["spaces", 4],
36+
});
37+
38+
expect(result).toEqual({
39+
rules: [
40+
{
41+
ruleName: "@typescript-eslint/indent",
42+
},
43+
],
44+
});
45+
});
46+
47+
test("conversion with tabs", () => {
48+
const result = convertIndent({
49+
ruleArguments: ["tabs", 4],
50+
});
51+
52+
expect(result).toEqual({
53+
rules: [
54+
{
55+
ruleName: "@typescript-eslint/indent",
56+
ruleArguments: ["tabs"],
57+
},
58+
],
59+
});
60+
});
1761
});

0 commit comments

Comments
 (0)