eslint-plugin-import-x
eslint-plugin-import-x copied to clipboard
`import-x/no-default-export` does not work in typescript
Lets say we have simple (flat) config file eslint.config.js with only one rule 'import-x/no-default-export': 'error',
import eslintPluginImportX from 'eslint-plugin-import-x'
import tsParser from '@typescript-eslint/parser'
export default [
{
files: ['**/*.js'],
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
},
plugins: {
'import-x': eslintPluginImportX,
},
ignores: ['eslint.config.js'],
rules: {
'import-x/no-default-export': 'error',
},
},
{
files: ['**/*.ts'],
languageOptions: {
parser: tsParser,
ecmaVersion: 'latest',
sourceType: 'module',
},
plugins: {
'import-x': eslintPluginImportX,
},
rules: {
'import-x/no-default-export': 'error',
},
settings: {
'import-x/resolver': {
typescript: true,
},
},
},
];
and two files with identical content:
foo.js |
foo.ts |
|---|---|
function foo() { |
function foo() { |
eslint shows correctly 'import-x/no-default-export': 'error' in foo.js file
while in foo.ts it shows nothing:
Here is a repo with replicated problem https://github.com/M-51/default-export-bug
Worth mentioning, other rules, for example opposite rule - import-x/prefer-default-export works correctly (when added) in the same environment in both JavaScript and Typescript.
So it seems, it is only problem with
import-x/no-default-export'