eslint-import-resolver-ts
v0.4.2
Published
TypeScript .ts .tsx module resolver for `eslint-plugin-import`.
Downloads
16,765
Maintainers
Readme
eslint-import-resolver-ts
This plugin adds TypeScript support to eslint-plugin-import
.
This means you can:
import
/require
files with extension.ts
/.tsx
!- Use
paths
defined intsconfig.json
. - Prefer resolve
@types/*
definitions over plain.js
. - Multiple tsconfigs support just like normal.
TOC
Installation
# npm
npm i -D eslint-plugin-import @typescript-eslint/parser eslint-import-resolver-ts
# yarn
yarn add -D eslint-plugin-import @typescript-eslint/parser eslint-import-resolver-ts
Configuration
Add the following to your .eslintrc
config:
{
"plugins": ["import"],
"rules": {
// turn on errors for missing imports
"import/no-unresolved": "error"
},
"settings": {
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".tsx"]
},
"import/resolver": {
// use <root>/tsconfig.json
"ts": {
"alwaysTryTypes": true // always try to resolve types under `<roo/>@types` directory even it doesn't contain any source code, like `@types/unist`
},
// use <root>/path/to/folder/tsconfig.json
"ts": {
"directory": "./path/to/folder"
},
// Multiple tsconfigs (Useful for monorepos)
// use a glob pattern
"ts": {
"directory": "./packages/*/tsconfig.json"
},
// use an array
"ts": {
"directory": [
"./packages/module-a/tsconfig.json",
"./packages/module-b/tsconfig.json"
]
},
// use an array of glob patterns
"ts": {
"directory": [
"./packages/*/tsconfig.json",
"./other-packages/*/tsconfig.json"
]
}
}
}
}
Contributing
- Make sure your change is covered by a test import.
- Make sure that
yarn test
passes without a failure. - Make sure that
yarn lint
passes without conflicts. - Make sure your code changes match our type-coverage settings:
yarn type-coverage
.
We have GitHub Actions which will run the above commands on your PRs.
If either fails, we won't be able to merge your PR until it's fixed.