From 1d2e41ada1979c081130d19b229c82bf1a69b7b4 Mon Sep 17 00:00:00 2001 From: Scott Newcomer Date: Mon, 16 May 2022 12:49:38 -0500 Subject: [PATCH] feat(eslint-plugin): deprecate `no-duplicate-imports` in favour of `import/no-duplicates` (#4973) --- packages/eslint-plugin/README.md | 1 - packages/eslint-plugin/docs/rules/no-duplicate-imports.md | 4 ++++ packages/eslint-plugin/docs/rules/no-implicit-any-catch.md | 2 ++ packages/eslint-plugin/src/configs/all.ts | 1 - packages/eslint-plugin/src/rules/no-duplicate-imports.ts | 2 ++ 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/eslint-plugin/README.md b/packages/eslint-plugin/README.md index 87137b1d6e5..999924414dd 100644 --- a/packages/eslint-plugin/README.md +++ b/packages/eslint-plugin/README.md @@ -209,7 +209,6 @@ In these cases, we create what we call an extension rule; a rule within our plug | [`@typescript-eslint/lines-between-class-members`](./docs/rules/lines-between-class-members.md) | Require or disallow an empty line between class members | | :wrench: | | | [`@typescript-eslint/no-array-constructor`](./docs/rules/no-array-constructor.md) | Disallow generic `Array` constructors | :white_check_mark: | :wrench: | | | [`@typescript-eslint/no-dupe-class-members`](./docs/rules/no-dupe-class-members.md) | Disallow duplicate class members | | | | -| [`@typescript-eslint/no-duplicate-imports`](./docs/rules/no-duplicate-imports.md) | Disallow duplicate imports | | | | | [`@typescript-eslint/no-empty-function`](./docs/rules/no-empty-function.md) | Disallow empty functions | :white_check_mark: | | | | [`@typescript-eslint/no-extra-parens`](./docs/rules/no-extra-parens.md) | Disallow unnecessary parentheses | | :wrench: | | | [`@typescript-eslint/no-extra-semi`](./docs/rules/no-extra-semi.md) | Disallow unnecessary semicolons | :white_check_mark: | :wrench: | | diff --git a/packages/eslint-plugin/docs/rules/no-duplicate-imports.md b/packages/eslint-plugin/docs/rules/no-duplicate-imports.md index 743e45e0464..ae6043468e2 100644 --- a/packages/eslint-plugin/docs/rules/no-duplicate-imports.md +++ b/packages/eslint-plugin/docs/rules/no-duplicate-imports.md @@ -2,6 +2,10 @@ Disallow duplicate imports. +## DEPRECATED + +This rule has been deprecated in favour of the [`import/no-duplicates`](https://github.com/import-js/eslint-plugin-import/blob/HEAD/docs/rules/no-duplicates.md) rule. + ## Rule Details This rule extends the base [`eslint/no-duplicate-imports`](https://eslint.org/docs/rules/no-duplicate-imports) rule. diff --git a/packages/eslint-plugin/docs/rules/no-implicit-any-catch.md b/packages/eslint-plugin/docs/rules/no-implicit-any-catch.md index 3174aa28f08..676ae450532 100644 --- a/packages/eslint-plugin/docs/rules/no-implicit-any-catch.md +++ b/packages/eslint-plugin/docs/rules/no-implicit-any-catch.md @@ -8,6 +8,8 @@ By default, TypeScript will type a catch clause variable as `any`, so explicitly The `noImplicitAny` flag in TypeScript does not cover this for backwards compatibility reasons, however you can use `useUnknownInCatchVariables` (part of `strict`) instead of this rule. +## DEPRECATED + ## Rule Details This rule requires an explicit type to be declared on a catch clause variable. diff --git a/packages/eslint-plugin/src/configs/all.ts b/packages/eslint-plugin/src/configs/all.ts index b3adbd1a3ac..5f9562d5bac 100644 --- a/packages/eslint-plugin/src/configs/all.ts +++ b/packages/eslint-plugin/src/configs/all.ts @@ -53,7 +53,6 @@ export = { '@typescript-eslint/no-dupe-class-members': 'error', '@typescript-eslint/no-duplicate-enum-values': 'error', 'no-duplicate-imports': 'off', - '@typescript-eslint/no-duplicate-imports': 'error', '@typescript-eslint/no-dynamic-delete': 'error', 'no-empty-function': 'off', '@typescript-eslint/no-empty-function': 'error', diff --git a/packages/eslint-plugin/src/rules/no-duplicate-imports.ts b/packages/eslint-plugin/src/rules/no-duplicate-imports.ts index 9a3ef4395e2..b4808f79013 100644 --- a/packages/eslint-plugin/src/rules/no-duplicate-imports.ts +++ b/packages/eslint-plugin/src/rules/no-duplicate-imports.ts @@ -10,6 +10,8 @@ type MessageIds = util.InferMessageIdsTypeFromRule; export default util.createRule({ name: 'no-duplicate-imports', meta: { + deprecated: true, + replacedBy: ['import/no-duplicates'], type: 'problem', docs: { description: 'Disallow duplicate imports',