35 lines
934 B
Plaintext
35 lines
934 B
Plaintext
/**
|
|
* This config:
|
|
* 1) adds `.jsx`, `.ts`, `.cts`, `.mts`, and `.tsx` as an extension
|
|
* 2) enables JSX/TSX parsing
|
|
*/
|
|
|
|
// Omit `.d.ts` because 1) TypeScript compilation already confirms that
|
|
// types are resolved, and 2) it would mask an unresolved
|
|
// `.ts`/`.tsx`/`.js`/`.jsx` implementation.
|
|
const typeScriptExtensions = ['.ts', '.cts', '.mts', '.tsx'];
|
|
|
|
const allExtensions = [...typeScriptExtensions, '.js', '.jsx'];
|
|
|
|
module.exports = {
|
|
settings: {
|
|
'import/extensions': allExtensions,
|
|
'import/external-module-folders': ['node_modules', 'node_modules/@types'],
|
|
'import/parsers': {
|
|
'@typescript-eslint/parser': typeScriptExtensions,
|
|
},
|
|
'import/resolver': {
|
|
node: {
|
|
extensions: allExtensions,
|
|
},
|
|
},
|
|
},
|
|
|
|
rules: {
|
|
// analysis/correctness
|
|
|
|
// TypeScript compilation already ensures that named imports exist in the referenced module
|
|
'import/named': 'off',
|
|
},
|
|
};
|