Skip to content

Commit fc91ca7

Browse files
authored
Added jsx-boolean-value converter (#615)
1 parent 48a536d commit fc91ca7

File tree

3 files changed

+65
-0
lines changed

3 files changed

+65
-0
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { RuleConverter } from "../../converter";
2+
3+
export const convertJsxBooleanValue: RuleConverter = (tslintRule) => {
4+
return {
5+
rules: [
6+
{
7+
...(tslintRule.ruleArguments.length !== 0 && {
8+
ruleArguments: tslintRule.ruleArguments,
9+
}),
10+
ruleName: "react/jsx-boolean-value",
11+
},
12+
],
13+
plugins: ["eslint-plugin-react"],
14+
};
15+
};
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import { convertJsxBooleanValue } from "../jsx-boolean-value";
2+
3+
describe(convertJsxBooleanValue, () => {
4+
test("conversion without arguments", () => {
5+
const result = convertJsxBooleanValue({
6+
ruleArguments: [],
7+
});
8+
9+
expect(result).toEqual({
10+
rules: [
11+
{
12+
ruleName: "react/jsx-boolean-value",
13+
},
14+
],
15+
plugins: ["eslint-plugin-react"],
16+
});
17+
});
18+
19+
test("conversion with arguments", () => {
20+
const alwaysResult = convertJsxBooleanValue({
21+
ruleArguments: ["always"],
22+
});
23+
const neverResult = convertJsxBooleanValue({
24+
ruleArguments: ["never"],
25+
});
26+
27+
expect(alwaysResult).toEqual({
28+
rules: [
29+
{
30+
ruleArguments: ["always"],
31+
ruleName: "react/jsx-boolean-value",
32+
},
33+
],
34+
plugins: ["eslint-plugin-react"],
35+
});
36+
expect(neverResult).toEqual({
37+
rules: [
38+
{
39+
ruleArguments: ["never"],
40+
ruleName: "react/jsx-boolean-value",
41+
},
42+
],
43+
plugins: ["eslint-plugin-react"],
44+
});
45+
});
46+
});

src/rules/rulesConverters.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,9 @@ import { convertUseLifecycleInterface } from "./converters/codelyzer/use-lifecyc
172172
import { convertUsePipeDecorator } from "./converters/codelyzer/use-pipe-decorator";
173173
import { convertUsePipeTransformInterface } from "./converters/codelyzer/use-pipe-transform-interface";
174174

175+
// ESLint-React converters
176+
import { convertJsxBooleanValue } from "./converters/eslint-plugin-react/jsx-boolean-value";
177+
175178
/**
176179
* Keys TSLint rule names to their ESLint rule converters.
177180
*/
@@ -208,6 +211,7 @@ export const rulesConverters = new Map([
208211
["interface-name", convertInterfaceName],
209212
["interface-over-type-literal", convertInterfaceOverTypeLiteral],
210213
["jsdoc-format", convertJSDocFormat],
214+
["jsx-boolean-value", convertJsxBooleanValue],
211215
["label-position", convertLabelPosition],
212216
["linebreak-style", convertLinebreakStyle],
213217
["max-classes-per-file", convertMaxClassesPerFile],

0 commit comments

Comments
 (0)