import-js/eslint-plugin-import

[import/extensions] Option to enforce extensions for type-only imports

Open

#2,530 opened on Aug 23, 2022

 (6 comments) (0 reactions) (0 assignees)JavaScript (1,549 forks)batch import
help wantedtypescript

Repository metrics

Stars
 (5,940 stars)
PR merge metrics
 (Avg merge 138d 22h) (3 merged PRs in 30d)

Description

We have a use case for enforcing the .js extension even on type-only imports (I'm aware this is odd).

This requirement stems from supporting TS users using modules (by specifying "type": "module" in their package.json) and specifying nodenext for moduleResolution options in their tsconfig.

Some context can be gleaned from this PR, where I created a failing test using ^this configuration and proceeded to resolve the errors by adding .js extensions to type-only imports. https://github.com/apollographql/apollo-server/pull/6731

Related: https://github.com/import-js/eslint-plugin-import/pull/2270

Does another option seem reasonable to enforce extensions on type-only imports as well? I'd be happy to open a PR to introduce this if so.

Contributor guide