ESlint for TypeScript

Tool

根据 TSLint 官方给出的建议,TypeScript 项目的代码,现在也推荐使用 ESLint 来进行代码规范的检查。

在具体使用的时候,需要在 .eslintrc 中增加如下部分的设置:

{
  "parser": "@typescript-eslint/parser",
  "plugins": [
    "@typescript-eslint"
  ],
  "parserOptions": {
    "ecmaVersion": 6,
    "sourceType": "module",
    "project": "./tsconfig.json",
    "ecmaFeatures": {
      "jsx": true
    }
  },
}

其中,需要用到 typescript-eslint 这个库来帮助 ESLint 解析代码(GitHub)。

然而,在实际使用 ESLint 来检查 TypeScript 代码的时候,需要额外注意一个细节:

根据这里给出的解释,ESLint 默认情况下并不会检查非 .js.jsx 结尾的文件。也就是说,如果 src 目录下有以下几个文件:src/index.jssrc/app.tsxsrc/utils.ts,那么在运行命令 eslint src 的时候,只有 src/index.js 会被检查,剩下的两个会直接被忽略。

需要检查 TypeScript 的代码,需要手动在调用 eslint 命令行的时候加上 --ext 参数,如:--ext js,jsx,ts,tsx

当然,如果给 ESLint 手动指定需要检查的文件,或是通过 lint-staged 工具在 Git 签入的时候对 TypeScript 文件进行检查,这些情况下都是不需要额外指定 --ext 参数的,ESLint 可以正确处理 TypeScript 的代码。