eslint-plugin-import
eslint-plugin-import copied to clipboard
`import/extensions`, `import/no-unresolved` don't highlight import of nonexistent .js in TypeScript project
Take this simple setup:
eslint.config.js
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import * as pluginImport from 'eslint-plugin-import';
export default [
eslint.configs.recommended,
...tseslint.configs.recommended,
{
files: ['**/*.ts'],
plugins: {
'import': pluginImport,
},
settings: {
'import/resolver': {
node: true,
typescript: true,
},
},
rules: {
'import/extensions': 'error',
'import/no-unresolved': 'error',
},
},
];
index.ts
import { num } from './exported.js';
exported.ts
export const num = 3;
In index.ts, ./exported.js
points to a nonexistent file. Neither import/extensions
, nor import/no-unresolved
highlight it though.
I narrowed down the problem to typescript: true
– as soon as I comment that line, I see both errors:
Unexpected use of file extension "js" for "./exported.js" eslint(import/extensions) Unable to resolve path to module './exported.js'. eslint(import/no-unresolved)
I assume it may be something to do with the eslint-import-resolver-typescript package, so I tried messing with it in some ways, but to no avail.