diff --git a/src/converters/lintConfigs/rules/ruleConverters/align.ts b/src/converters/lintConfigs/rules/ruleConverters/align.ts index 7ae3c8865..d0e22f44e 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/align.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/align.ts @@ -29,6 +29,10 @@ export const convertAlign: RuleConverter = (tslintRule) => { return { rules: [ + { + ruleName: "indent", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/indent", ...{ ruleArguments }, diff --git a/src/converters/lintConfigs/rules/ruleConverters/indent.ts b/src/converters/lintConfigs/rules/ruleConverters/indent.ts index a37c2e4fa..a4cfc2a48 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/indent.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/indent.ts @@ -11,6 +11,10 @@ export const convertIndent: RuleConverter = (tslintRule) => { return { rules: [ + { + ruleName: "indent", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/indent", ...(indentSize !== 4 && { ruleArguments: [indentSize] }), diff --git a/src/converters/lintConfigs/rules/ruleConverters/no-async-without-await.ts b/src/converters/lintConfigs/rules/ruleConverters/no-async-without-await.ts index d521ee646..c8e6d717e 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/no-async-without-await.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/no-async-without-await.ts @@ -3,6 +3,10 @@ import { RuleConverter } from "../ruleConverter"; export const convertNoAsyncWithoutAwait: RuleConverter = () => { return { rules: [ + { + ruleName: "require-await", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/require-await", }, diff --git a/src/converters/lintConfigs/rules/ruleConverters/no-empty.ts b/src/converters/lintConfigs/rules/ruleConverters/no-empty.ts index 5157cb2b5..0b6c84de9 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/no-empty.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/no-empty.ts @@ -1,11 +1,8 @@ -import { isDefined } from "../../../../utils"; -import { RuleConverter, RuleConverterOptions } from "../ruleConverter"; +import { ConvertedRuleChanges, RuleConverter, RuleConverterOptions } from "../ruleConverter"; export const convertNoEmpty: RuleConverter = (tslintRule) => { return { - rules: [convertNoEmptyRule(tslintRule), convertNoEmptyFunctionRule(tslintRule)].filter( - isDefined, - ), + rules: [convertNoEmptyRule(tslintRule), ...convertNoEmptyFunctionRule(tslintRule)], }; }; @@ -22,10 +19,16 @@ const convertNoEmptyRule = (tslintRule: RuleConverterOptions) => { }; }; -const convertNoEmptyFunctionRule = (tslintRule: RuleConverterOptions) => { +const convertNoEmptyFunctionRule = (tslintRule: RuleConverterOptions): ConvertedRuleChanges[] => { return tslintRule.ruleArguments.includes("allow-empty-functions") - ? undefined - : { - ruleName: "@typescript-eslint/no-empty-function", - }; + ? [] + : [ + { + ruleName: "no-empty-function", + ruleSeverity: "off", + }, + { + ruleName: "@typescript-eslint/no-empty-function", + }, + ]; }; diff --git a/src/converters/lintConfigs/rules/ruleConverters/no-shadowed-variable.ts b/src/converters/lintConfigs/rules/ruleConverters/no-shadowed-variable.ts index 12e15f93d..e03c606e0 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/no-shadowed-variable.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/no-shadowed-variable.ts @@ -37,6 +37,10 @@ export const convertNoShadowedVariable: RuleConverter = (tslintRule) => { return { rules: [ + { + ruleName: "no-shadow", + ruleSeverity: "off", + }, { ...(notices.length !== 0 && { notices }), ...(ruleArguments.length !== 0 && { ruleArguments }), diff --git a/src/converters/lintConfigs/rules/ruleConverters/no-string-literal.ts b/src/converters/lintConfigs/rules/ruleConverters/no-string-literal.ts index 25a8550c3..76ab69371 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/no-string-literal.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/no-string-literal.ts @@ -3,6 +3,10 @@ import { RuleConverter } from "../ruleConverter"; export const convertNoStringLiteral: RuleConverter = () => { return { rules: [ + { + ruleName: "dot-notation", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/dot-notation", }, diff --git a/src/converters/lintConfigs/rules/ruleConverters/no-unused-expression.ts b/src/converters/lintConfigs/rules/ruleConverters/no-unused-expression.ts index 2f574dc03..47f46080e 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/no-unused-expression.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/no-unused-expression.ts @@ -3,6 +3,10 @@ import { RuleConverter } from "../ruleConverter"; export const convertNoUnusedExpression: RuleConverter = (tslintRule) => { return { rules: [ + { + ruleName: "no-unused-expressions", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/no-unused-expressions", ...collectNoticesAndArguments(tslintRule.ruleArguments), diff --git a/src/converters/lintConfigs/rules/ruleConverters/no-unused-variable.ts b/src/converters/lintConfigs/rules/ruleConverters/no-unused-variable.ts index 1a4f090c6..1b422d5f9 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/no-unused-variable.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/no-unused-variable.ts @@ -7,6 +7,10 @@ export const NO_UNUSED_VARIABLE_NOTICE = export const convertNoUnusedVariable: RuleConverter = () => { return { rules: [ + { + ruleName: "no-unused-vars", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/no-unused-vars", notices: [NO_UNUSED_VARIABLE_NOTICE], diff --git a/src/converters/lintConfigs/rules/ruleConverters/no-use-before-declare.ts b/src/converters/lintConfigs/rules/ruleConverters/no-use-before-declare.ts index fc1f1751b..40b7e338b 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/no-use-before-declare.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/no-use-before-declare.ts @@ -3,6 +3,10 @@ import { RuleConverter } from "../ruleConverter"; export const convertNoUseBeforeDeclare: RuleConverter = () => { return { rules: [ + { + ruleName: "no-use-before-define", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/no-use-before-define", }, diff --git a/src/converters/lintConfigs/rules/ruleConverters/quotemark.ts b/src/converters/lintConfigs/rules/ruleConverters/quotemark.ts index b32c22463..d79271dd6 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/quotemark.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/quotemark.ts @@ -24,6 +24,10 @@ export const convertQuotemark: RuleConverter = (tslintRule) => { return { rules: [ + { + ruleName: "quotes", + ruleSeverity: "off", + }, { ...(notices.length !== 0 && { notices }), ...(ruleArguments.length !== 0 && { ruleArguments }), diff --git a/src/converters/lintConfigs/rules/ruleConverters/semicolon.ts b/src/converters/lintConfigs/rules/ruleConverters/semicolon.ts index d974cac3c..bf113ee67 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/semicolon.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/semicolon.ts @@ -15,6 +15,10 @@ export const convertSemicolon: RuleConverter = (tslintRule) => { ], }), rules: [ + { + ruleName: "semi", + ruleSeverity: "off", + }, { ruleArguments: [tslintRule.ruleArguments[0]], ruleName: "@typescript-eslint/semi", diff --git a/src/converters/lintConfigs/rules/ruleConverters/tests/align.test.ts b/src/converters/lintConfigs/rules/ruleConverters/tests/align.test.ts index eeabe3abe..c7ec967ea 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/tests/align.test.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/tests/align.test.ts @@ -8,6 +8,10 @@ describe(convertAlign, () => { expect(result).toEqual({ rules: [ + { + ruleName: "indent", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/indent", }, @@ -22,6 +26,10 @@ describe(convertAlign, () => { expect(result).toEqual({ rules: [ + { + ruleName: "indent", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/indent", ruleArguments: [ @@ -42,6 +50,10 @@ describe(convertAlign, () => { expect(result).toEqual({ rules: [ + { + ruleName: "indent", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/indent", ruleArguments: [ @@ -62,6 +74,10 @@ describe(convertAlign, () => { expect(result).toEqual({ rules: [ + { + ruleName: "indent", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/indent", ruleArguments: [ @@ -82,6 +98,10 @@ describe(convertAlign, () => { expect(result).toEqual({ rules: [ + { + ruleName: "indent", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/indent", ruleArguments: [ @@ -103,6 +123,10 @@ describe(convertAlign, () => { expect(result).toEqual({ rules: [ + { + ruleName: "indent", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/indent", ruleArguments: [ diff --git a/src/converters/lintConfigs/rules/ruleConverters/tests/indent.test.ts b/src/converters/lintConfigs/rules/ruleConverters/tests/indent.test.ts index d6377b22e..f22a688bb 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/tests/indent.test.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/tests/indent.test.ts @@ -8,6 +8,10 @@ describe(convertIndent, () => { expect(result).toEqual({ rules: [ + { + ruleName: "indent", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/indent", }, @@ -22,6 +26,10 @@ describe(convertIndent, () => { expect(result).toEqual({ rules: [ + { + ruleName: "indent", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/indent", ruleArguments: [2], @@ -37,6 +45,10 @@ describe(convertIndent, () => { expect(result).toEqual({ rules: [ + { + ruleName: "indent", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/indent", }, @@ -51,6 +63,10 @@ describe(convertIndent, () => { expect(result).toEqual({ rules: [ + { + ruleName: "indent", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/indent", ruleArguments: ["tab"], diff --git a/src/converters/lintConfigs/rules/ruleConverters/tests/no-async-without-await.test.ts b/src/converters/lintConfigs/rules/ruleConverters/tests/no-async-without-await.test.ts index 4e4e8853a..00b350a0c 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/tests/no-async-without-await.test.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/tests/no-async-without-await.test.ts @@ -8,6 +8,10 @@ describe(convertNoAsyncWithoutAwait, () => { expect(result).toEqual({ rules: [ + { + ruleName: "require-await", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/require-await", }, diff --git a/src/converters/lintConfigs/rules/ruleConverters/tests/no-empty.test.ts b/src/converters/lintConfigs/rules/ruleConverters/tests/no-empty.test.ts index f1d8db89e..7086d270d 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/tests/no-empty.test.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/tests/no-empty.test.ts @@ -11,6 +11,10 @@ describe(convertNoEmpty, () => { { ruleName: "no-empty", }, + { + ruleName: "no-empty-function", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/no-empty-function", }, @@ -29,6 +33,10 @@ describe(convertNoEmpty, () => { ruleArguments: [{ allowEmptyCatch: true }], ruleName: "no-empty", }, + { + ruleName: "no-empty-function", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/no-empty-function", }, diff --git a/src/converters/lintConfigs/rules/ruleConverters/tests/no-shadowed-variable.test.ts b/src/converters/lintConfigs/rules/ruleConverters/tests/no-shadowed-variable.test.ts index a0d9c7da1..940b2cf28 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/tests/no-shadowed-variable.test.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/tests/no-shadowed-variable.test.ts @@ -8,6 +8,10 @@ describe(convertNoShadowedVariable, () => { expect(result).toEqual({ rules: [ + { + ruleName: "no-shadow", + ruleSeverity: "off", + }, { ruleArguments: [{ hoist: "all" }], ruleName: "@typescript-eslint/no-shadow", @@ -23,6 +27,10 @@ describe(convertNoShadowedVariable, () => { expect(result).toEqual({ rules: [ + { + ruleName: "no-shadow", + ruleSeverity: "off", + }, { ruleArguments: [{ hoist: "all" }], ruleName: "@typescript-eslint/no-shadow", @@ -38,6 +46,10 @@ describe(convertNoShadowedVariable, () => { expect(result).toEqual({ rules: [ + { + ruleName: "no-shadow", + ruleSeverity: "off", + }, { ruleArguments: [{ hoist: "all" }], ruleName: "@typescript-eslint/no-shadow", @@ -53,6 +65,10 @@ describe(convertNoShadowedVariable, () => { expect(result).toEqual({ rules: [ + { + ruleName: "no-shadow", + ruleSeverity: "off", + }, { ruleArguments: [{ hoist: "never" }], ruleName: "@typescript-eslint/no-shadow", @@ -68,6 +84,10 @@ describe(convertNoShadowedVariable, () => { expect(result).toEqual({ rules: [ + { + ruleName: "no-shadow", + ruleSeverity: "off", + }, { notices: [ "ESLint does not support disabling shadowed variable checks based on " + diff --git a/src/converters/lintConfigs/rules/ruleConverters/tests/no-string-literal.test.ts b/src/converters/lintConfigs/rules/ruleConverters/tests/no-string-literal.test.ts index 3ae6dda3b..30d36196b 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/tests/no-string-literal.test.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/tests/no-string-literal.test.ts @@ -8,6 +8,10 @@ describe(convertNoStringLiteral, () => { expect(result).toEqual({ rules: [ + { + ruleName: "dot-notation", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/dot-notation", }, diff --git a/src/converters/lintConfigs/rules/ruleConverters/tests/no-unused-expression.test.ts b/src/converters/lintConfigs/rules/ruleConverters/tests/no-unused-expression.test.ts index 79d357455..523c189f7 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/tests/no-unused-expression.test.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/tests/no-unused-expression.test.ts @@ -8,6 +8,10 @@ describe(convertNoUnusedExpression, () => { expect(result).toEqual({ rules: [ + { + ruleName: "no-unused-expressions", + ruleSeverity: "off", + }, { notices: [ `The TSLint optional config "allow-new" is the default ESLint behavior and will no longer be ignored.`, @@ -25,6 +29,10 @@ describe(convertNoUnusedExpression, () => { expect(result).toEqual({ rules: [ + { + ruleName: "no-unused-expressions", + ruleSeverity: "off", + }, { notices: [ `The TSLint optional config "allow-new" is the default ESLint behavior and will no longer be ignored.`, @@ -43,6 +51,10 @@ describe(convertNoUnusedExpression, () => { expect(result).toEqual({ rules: [ + { + ruleName: "no-unused-expressions", + ruleSeverity: "off", + }, { ruleArguments: [{ allowTaggedTemplates: true }], ruleName: "@typescript-eslint/no-unused-expressions", @@ -58,6 +70,10 @@ describe(convertNoUnusedExpression, () => { expect(result).toEqual({ rules: [ + { + ruleName: "no-unused-expressions", + ruleSeverity: "off", + }, { ruleArguments: [{ allowShortCircuit: true }], ruleName: "@typescript-eslint/no-unused-expressions", @@ -73,6 +89,10 @@ describe(convertNoUnusedExpression, () => { expect(result).toEqual({ rules: [ + { + ruleName: "no-unused-expressions", + ruleSeverity: "off", + }, { ruleArguments: [{ allowTaggedTemplates: true, allowShortCircuit: true }], ruleName: "@typescript-eslint/no-unused-expressions", diff --git a/src/converters/lintConfigs/rules/ruleConverters/tests/no-unused-variable.test.ts b/src/converters/lintConfigs/rules/ruleConverters/tests/no-unused-variable.test.ts index ddfd03228..5c2afc303 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/tests/no-unused-variable.test.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/tests/no-unused-variable.test.ts @@ -8,6 +8,10 @@ describe(convertNoUnusedVariable, () => { expect(result).toEqual({ rules: [ + { + ruleName: "no-unused-vars", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/no-unused-vars", notices: [NO_UNUSED_VARIABLE_NOTICE], diff --git a/src/converters/lintConfigs/rules/ruleConverters/tests/no-use-before-declare.test.ts b/src/converters/lintConfigs/rules/ruleConverters/tests/no-use-before-declare.test.ts index 0631a48a5..5c5d9adb0 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/tests/no-use-before-declare.test.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/tests/no-use-before-declare.test.ts @@ -8,6 +8,10 @@ describe(convertNoUseBeforeDeclare, () => { expect(result).toEqual({ rules: [ + { + ruleName: "no-use-before-define", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/no-use-before-define", }, diff --git a/src/converters/lintConfigs/rules/ruleConverters/tests/quotemark.test.ts b/src/converters/lintConfigs/rules/ruleConverters/tests/quotemark.test.ts index 3c358ee88..4ea3b2a0d 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/tests/quotemark.test.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/tests/quotemark.test.ts @@ -8,6 +8,10 @@ describe(convertQuotemark, () => { expect(result).toEqual({ rules: [ + { + ruleName: "quotes", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/quotes", }, @@ -22,6 +26,10 @@ describe(convertQuotemark, () => { expect(result).toEqual({ rules: [ + { + ruleName: "quotes", + ruleSeverity: "off", + }, { ruleArguments: ["double"], ruleName: "@typescript-eslint/quotes", @@ -37,6 +45,10 @@ describe(convertQuotemark, () => { expect(result).toEqual({ rules: [ + { + ruleName: "quotes", + ruleSeverity: "off", + }, { ruleArguments: [{ avoidEscape: true }], ruleName: "@typescript-eslint/quotes", @@ -52,6 +64,10 @@ describe(convertQuotemark, () => { expect(result).toEqual({ rules: [ + { + ruleName: "quotes", + ruleSeverity: "off", + }, { notices: ['Option "avoid-template" is not supported by ESLint.'], ruleArguments: ["single"], @@ -68,6 +84,10 @@ describe(convertQuotemark, () => { expect(result).toEqual({ rules: [ + { + ruleName: "quotes", + ruleSeverity: "off", + }, { notices: [ 'Option "jsx-single" is not supported by ESLint.', diff --git a/src/converters/lintConfigs/rules/ruleConverters/tests/semicolon.test.ts b/src/converters/lintConfigs/rules/ruleConverters/tests/semicolon.test.ts index f7cb30a49..c0e2690c0 100644 --- a/src/converters/lintConfigs/rules/ruleConverters/tests/semicolon.test.ts +++ b/src/converters/lintConfigs/rules/ruleConverters/tests/semicolon.test.ts @@ -8,6 +8,10 @@ describe(convertSemicolon, () => { expect(result).toEqual({ rules: [ + { + ruleName: "semi", + ruleSeverity: "off", + }, { ruleArguments: ["always"], ruleName: "@typescript-eslint/semi", @@ -38,6 +42,10 @@ describe(convertSemicolon, () => { expect(result).toEqual({ rules: [ + { + ruleName: "semi", + ruleSeverity: "off", + }, { ruleArguments: ["never"], ruleName: "@typescript-eslint/semi", @@ -68,6 +76,10 @@ describe(convertSemicolon, () => { expect(result).toEqual({ rules: [ + { + ruleName: "semi", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/semi", ruleArguments: ["always"], @@ -101,6 +113,10 @@ describe(convertSemicolon, () => { expect(result).toEqual({ rules: [ + { + ruleName: "semi", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/semi", ruleArguments: ["never"], @@ -134,6 +150,10 @@ describe(convertSemicolon, () => { expect(result).toEqual({ rules: [ + { + ruleName: "semi", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/semi", ruleArguments: ["always"], @@ -149,6 +169,10 @@ describe(convertSemicolon, () => { expect(result).toEqual({ rules: [ + { + ruleName: "semi", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/semi", ruleArguments: ["never"], @@ -164,6 +188,10 @@ describe(convertSemicolon, () => { expect(result).toEqual({ rules: [ + { + ruleName: "semi", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/semi", ruleArguments: ["always"], @@ -182,6 +210,10 @@ describe(convertSemicolon, () => { expect(result).toEqual({ rules: [ + { + ruleName: "semi", + ruleSeverity: "off", + }, { ruleName: "@typescript-eslint/semi", ruleArguments: ["never"],