在 monorepo 中设置 eslint-import-resolver-typescript

Hav*_*uit 9 typescript eslint

我正在尝试将路径映射添加到 monorepo。我已经有了eslint-plugin-import规则,并且在所有映射的导入上收到错误“无法解析模块的路径”。

\n
app/\n\xe2\x94\x9c\xe2\x94\x80 package/\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 src/\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 tsconfig.json\n.eslintrc\ntsconfig.json\n
Run Code Online (Sandbox Code Playgroud)\n

.eslintrc 看起来像

\n
app/\n\xe2\x94\x9c\xe2\x94\x80 package/\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 src/\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 tsconfig.json\n.eslintrc\ntsconfig.json\n
Run Code Online (Sandbox Code Playgroud)\n

内部 tsconfig.json 如下所示:

\n
{\n  "parser": "@typescript-eslint/parser",\n  "plugins": [\n    "@typescript-eslint",\n    "import",\n  ],\n  "extends": [\n    "eslint:recommended",\n    "plugin:import/recommended",\n    "plugin:import/typescript"\n  ],\n  "settings": {\n    "import/resolver": {\n      "typescript": {}\n    }\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

路径映射得很好,但我有 lint 错误“无论我尝试使用映射的路径,都无法解析模块 \'context\' 的路径。

\n

研究表明我需要使用eslint-import-resolver-typescript包,但它并没有使错误消失。

\n

Hav*_*uit 6

这是最终起作用的 lint 设置:

"settings": {
  "import/parsers": {
    "@typescript-eslint/parser": [".ts", ".tsx"]
  },
  "import/resolver": {
    "typescript": {
      "project": ["tsconfig.json", "package/tsconfig.json"]
    },
    "node": {
      "project": ["tsconfig.json", "package/tsconfig.json"]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我不确定是否需要节点设置。import-js github 页面上有更多对话。