diff --git a/src/rules/converters.ts b/src/rules/converters.ts index 78b2b9e94..5bf159595 100644 --- a/src/rules/converters.ts +++ b/src/rules/converters.ts @@ -40,6 +40,7 @@ import { convertNoConstantCondition } from "./converters/no-constant-condition"; import { convertNoConstruct } from "./converters/no-construct"; import { convertNoControlRegex } from "./converters/no-control-regex"; import { convertNoDebugger } from "./converters/no-debugger"; +import { convertNoDefaultExport } from "./converters/no-default-export"; import { convertNoDuplicateImports } from "./converters/no-duplicate-imports"; import { convertNoDuplicateSuper } from "./converters/no-duplicate-super"; import { convertNoDuplicateSwitchCase } from "./converters/no-duplicate-switch-case"; @@ -158,6 +159,7 @@ export const converters = new Map([ ["no-construct", convertNoConstruct], ["no-control-regex", convertNoControlRegex], ["no-debugger", convertNoDebugger], + ["no-default-export", convertNoDefaultExport], ["no-duplicate-imports", convertNoDuplicateImports], ["no-duplicate-super", convertNoDuplicateSuper], ["no-duplicate-switch-case", convertNoDuplicateSwitchCase], diff --git a/src/rules/converters/no-default-export.ts b/src/rules/converters/no-default-export.ts new file mode 100644 index 000000000..2b28ed4d9 --- /dev/null +++ b/src/rules/converters/no-default-export.ts @@ -0,0 +1,12 @@ +import { RuleConverter } from "../converter"; + +export const convertNoDefaultExport: RuleConverter = () => { + return { + rules: [ + { + ruleName: "import/no-default-export", + }, + ], + plugins: ["import"], + }; +}; diff --git a/src/rules/converters/tests/no-default-export.test.ts b/src/rules/converters/tests/no-default-export.test.ts new file mode 100644 index 000000000..b985c49a4 --- /dev/null +++ b/src/rules/converters/tests/no-default-export.test.ts @@ -0,0 +1,18 @@ +import { convertNoDefaultExport } from "../no-default-export"; + +describe(convertNoDefaultExport, () => { + test("conversion without arguments", () => { + const result = convertNoDefaultExport({ + ruleArguments: [], + }); + + expect(result).toEqual({ + rules: [ + { + ruleName: "import/no-default-export", + }, + ], + plugins: ["import"], + }); + }); +}); diff --git a/test/tests/standalone tslint.json/eslintrc.js b/test/tests/standalone tslint.json/eslintrc.js index 04c4b5f7e..d0a220fc6 100644 --- a/test/tests/standalone tslint.json/eslintrc.js +++ b/test/tests/standalone tslint.json/eslintrc.js @@ -26,6 +26,7 @@ module.exports = { "@typescript-eslint/unbound-method": "off", "arrow-body-style": "off", "default-case": "off", + "import/no-default-export": "error", "linebreak-style": "off", "no-bitwise": "off", "no-empty": "off", diff --git a/test/tests/standalone tslint.json/stdout.txt b/test/tests/standalone tslint.json/stdout.txt index 5b5f91fc5..8e8acdb02 100644 --- a/test/tests/standalone tslint.json/stdout.txt +++ b/test/tests/standalone tslint.json/stdout.txt @@ -1,5 +1,6 @@ -✨ 19 rules replaced with their ESLint equivalents. ✨ +✨ 20 rules replaced with their ESLint equivalents. ✨ ️👀 2 rules do not yet have ESLint equivalents; defaulting to eslint-plugin-tslint. 👀 -⚡ 1 package is required for new ESLint rules. ⚡ +⚡ 2 packages are required for new ESLint rules. ⚡ unicorn + import ✅ All is well! ✅ diff --git a/test/tests/standalone tslint.json/tslint.json b/test/tests/standalone tslint.json/tslint.json index 4a2aa47f4..948d7c3fa 100644 --- a/test/tests/standalone tslint.json/tslint.json +++ b/test/tests/standalone tslint.json/tslint.json @@ -12,6 +12,7 @@ "no-any": false, "no-bitwise": false, "no-empty": false, + "no-default-export": true, "no-magic-numbers": false, "no-import-side-effect": false, "no-implicit-dependencies": [true, "dev"],