`import/no-duplicates` and const enum-s
#3149 opened on Jan 23, 2025
Description
I'm using using eslint-plugin-import v2.31.0, eslint v9.18.0 and typescript v5.5.4
configuration for the plugin: import/no-duplicates is ['error', { 'prefer-inline': true }].
I have an npm package that has both type definitions (type or interfaces) and const enum-s,
for example:
export const enum SomeEnum {
Foo = 'foo',
Bar = 'bar',
}
export interface Something {
baz:string
}
When I am trying to import both, an interface and enum - eslint complains that it must be in one line, like this:
import { type Something, SomeEnum } from 'some-package';
but typescript can't compile such typescript file, fails with error:
"Error: Module not found: Error: Can't resolve 'some-package'"
there is an issue in typescript repo about this problem, but it is very old and it seems it will not be resolved in near future:
https://github.com/microsoft/TypeScript/issues/40344
for now I will have to have such imports in 2 lines:
import type { Something } from 'some-package';
import { SomeEnum } from 'some-package';
and I will have to set 'prefer-inline' to false, but would be cool to be able to have those 2 lines only for the const enum-s and not for all other imports.