Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

import/no-duplicates and const enum-s #3149

Open
valera33 opened this issue Jan 23, 2025 · 1 comment
Open

import/no-duplicates and const enum-s #3149

valera33 opened this issue Jan 23, 2025 · 1 comment

Comments

@valera33
Copy link

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:
microsoft/TypeScript#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.

@ljharb
Copy link
Member

ljharb commented Jan 23, 2025

Hmm, that's confusing - enums (which should be avoided anyways, for many reasons) are both a type and a value, so I'm not sure why you wouldn't be able to use the inline form.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants