Configurando eslint-import-resolver-typescript em monorepo
Estou tentando adicionar mapeamento de caminhos a um monorepo. Já tenho regras do eslint-plugin-import em vigor e estou recebendo um erro "Não é possível resolver o caminho para o módulo" em todas as importações mapeadas.
app/
├─ package/
│ ├─ src/
│ ├─ tsconfig.json
.eslintrc
tsconfig.json
.eslintrc parece
{
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint",
"import",
],
"extends": [
"eslint:recommended",
"plugin:import/recommended",
"plugin:import/typescript"
],
"settings": {
"import/resolver": {
"typescript": {}
}
}
}
O tsconfig.json interno fica assim:
{
"extends": "../tsconfig",
"compilerOptions": {
"baseUrl": ".",
"paths": {
"actions/*": ["src/actions/*"],
"context/*": ["src/context/*"]
}
}
}
Os caminhos mapeiam muito bem, mas eu tenho o erro de lint "Não é possível resolver o caminho para o módulo 'context'" onde quer que eu tente usar o caminho mapeado.
Pesquisando sobre isso, descobri que preciso usar o pacote eslint-import-resolver-typescript, mas isso não fez os erros desaparecerem.
Resposta #1
Estas são as configurações de lint que acabaram funcionando:
"settings": {
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".tsx"]
},
"import/resolver": {
"typescript": {
"project": ["tsconfig.json", "package/tsconfig.json"]
},
"node": {
"project": ["tsconfig.json", "package/tsconfig.json"]
}
}
}
Não tenho certeza se as configurações do node são necessárias. Há mais conversas na página do import-js no GitHub.
