diff --git a/src/rules/converters/eslint-plugin-react/jsx-equals-spacing.ts b/src/rules/converters/eslint-plugin-react/jsx-equals-spacing.ts new file mode 100644 index 000000000..b23eaad49 --- /dev/null +++ b/src/rules/converters/eslint-plugin-react/jsx-equals-spacing.ts @@ -0,0 +1,15 @@ +import { RuleConverter } from "../../converter"; + +export const convertJsxEqualsSpacing: RuleConverter = (tslintRule) => { + return { + rules: [ + { + ...(tslintRule.ruleArguments.length !== 0 && { + ruleArguments: [tslintRule.ruleArguments[0]], + }), + ruleName: "react/jsx-equals-spacing", + }, + ], + plugins: ["eslint-plugin-react"], + }; +}; diff --git a/src/rules/converters/eslint-plugin-react/tests/jsx-equals-spacing.test.ts b/src/rules/converters/eslint-plugin-react/tests/jsx-equals-spacing.test.ts new file mode 100644 index 000000000..4f6a0a00e --- /dev/null +++ b/src/rules/converters/eslint-plugin-react/tests/jsx-equals-spacing.test.ts @@ -0,0 +1,50 @@ +import { convertJsxEqualsSpacing } from "../jsx-equals-spacing"; + +describe(convertJsxEqualsSpacing, () => { + test("conversion without arguments", () => { + const result = convertJsxEqualsSpacing({ + ruleArguments: [], + }); + + expect(result).toEqual({ + rules: [ + { + ruleName: "react/jsx-equals-spacing", + }, + ], + plugins: ["eslint-plugin-react"], + }); + }); + + test("conversion with 'always' argument", () => { + const alwaysResult = convertJsxEqualsSpacing({ + ruleArguments: ["always"], + }); + + expect(alwaysResult).toEqual({ + rules: [ + { + ruleArguments: ["always"], + ruleName: "react/jsx-equals-spacing", + }, + ], + plugins: ["eslint-plugin-react"], + }); + }); + + test("conversion with 'never' argument", () => { + const neverResult = convertJsxEqualsSpacing({ + ruleArguments: ["never"], + }); + + expect(neverResult).toEqual({ + rules: [ + { + ruleArguments: ["never"], + ruleName: "react/jsx-equals-spacing", + }, + ], + plugins: ["eslint-plugin-react"], + }); + }); +}); diff --git a/src/rules/rulesConverters.ts b/src/rules/rulesConverters.ts index dea85eeb7..8580edaef 100644 --- a/src/rules/rulesConverters.ts +++ b/src/rules/rulesConverters.ts @@ -174,6 +174,7 @@ import { convertUsePipeTransformInterface } from "./converters/codelyzer/use-pip // ESLint-React converters import { convertJsxBooleanValue } from "./converters/eslint-plugin-react/jsx-boolean-value"; +import { convertJsxEqualsSpacing } from "./converters/eslint-plugin-react/jsx-equals-spacing"; import { convertJsxKey } from "./converters/eslint-plugin-react/jsx-key"; /** @@ -213,6 +214,7 @@ export const rulesConverters = new Map([ ["interface-over-type-literal", convertInterfaceOverTypeLiteral], ["jsdoc-format", convertJSDocFormat], ["jsx-boolean-value", convertJsxBooleanValue], + ["jsx-equals-spacing", convertJsxEqualsSpacing], ["jsx-key", convertJsxKey], ["label-position", convertLabelPosition], ["linebreak-style", convertLinebreakStyle],