Update ESLint config to accept separate type imports in TS again #5000
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Install eslint-plugin-import to improve the check for duplicate imports in TypeScript files. This permits the use of 2 imports again—when one is just for types. This was working before until updating typescript-eslint to v6, when they removed their version of this rule, deferring to the plugin.
Notes
Kudos to @magicznyleszek for pointing out this unwanted warning after #4985:
In v6,
typescript-eslint
deprecated their version of theno-duplicate-imports
rule, in favor ofeslint-plugin-import
. So, after #4985, TS code would fall back to the JS rule, which doesn't distinguish type-only imports.What works now is to install and configure the suggested
'import'
plugin and use theirimport/no-duplicates
rule.We can probably get more mileage out of this plugin, but for now I just want to get this rule working.
Related issues
Follow-up to #4985