本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

从 TSLint 迁移到 ESLint

TSLint 以前是推荐的检查工具,但现在 TSLint 已被弃用,ESLint 正在接替它的职责。本文将帮助你从 TSLint 迁移到 ESLint。

ESLint:安装

你需要安装 ESLint。ESLint 本身不支持 TypeScript,所以你还需要安装 eslint-typescript-support:

npm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin

或者如果你正在使用yarn作为你的包管理器:

纱线 添加 eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin --dev

上面的命令添加了ESLint,添加了一个使ESLint理解TypeScript的解析器,并添加了一些TypeScript特定的规则。

现在,为了使实际迁移更简单,运行 tslint-to-eslint-config 工具。这个工具会使用你的 TSLint 配置,并从中创建最接近的 ESLint 配置。

npx tslint-to-eslint-config

这个命令下载并执行用于执行迁移的工具。有关更多选项,请查看该工具的使用指南

现在应该有一个新的.eslintrc.js文件,一个日志文件 (tslint-to-eslint-config.log),并且可能对其他文件进行更改,例如.vscode/settings.json仔细审查更改,特别是对现有文件的更改,并检查日志文件。

ESLint:配置

.eslintrc.js文件通常足以开始,但很可能会解析器选项.项目属性仍然设置为您tsconfig.json文件。这意味着ESLint规则可以使用语义信息,例如,这个变量是字符串还是数字数组?此配置启用了一些强大的规则,但意味着ESLint需要更长的时间来计算。扩展的默认规则不需要语义信息,除非你添加了需要语义信息的规则,否则我们建议你移除解析器选项.项目财产。

ESLint: 运行

现在你已经准备好运行ESLint,但在执行此操作之前,我们建议你禁用TSLint。为此,请打开扩展视图并选择禁用在TSLint扩展的上下文菜单中。

是时候进行代码检查了!使用这个命令:eslint -c .eslintrc.js --ext .ts 请注意--ext .ts选项,告诉ESLint查看TypeScript文件)。我们建议将命令放在脚本你的一部分package.json-文件,如下所示:

"lint": "eslint -c .eslintrc.js --ext .ts <mySrcFolder>"

要将ESLint与Visual Studio Code集成,请执行以下操作:

  • 安装ESLint扩展。
  • 通过任务:配置任务命令创建一个任务,并选择npm: lint
  • 在结果中任务.json文件,配置问题匹配器为$eslint-stylish输入:.

提示:ESLint 在某些情况下“更正确”,可能会显示以前没有的警告,例如指出缺少分号。尝试 --修复选项让ESLint为您清理事物。

TSLint:移除

恭喜。您现在应该已经有一个可以正常工作的ESLint设置,是时候清理一下了。

移除 TSLint 取决于你的项目,但通常这些是步骤:

  • 更新.vscode/extensions.json推荐使用ESLint扩展,不再推荐TSLint:

    "推荐": [
      "dbaeumer.vscode-eslint"
    ]
    
  • 移除tslint.json文件。

  • 移除对 的依赖tslintpackage.json文件。

  • 卸载 TSLint 用npm 卸载 tslint输入:.