tslint迁移至eslint过程

659 阅读2分钟

为什么要迁移

eslint如何检测TS的

我们知道,ESLint 默认使用Espree作为其解析器。和Typescript解析的AST存在兼容问题。所以提供了新的parser : @typescript-eslint/parser来兼容ts的解析和检测

所以这个时候就面临一个问题:现有的tslint如何转换成eslint?

过程

从上面的TSLint官网进入后,推荐了新的配置网址typescript-eslint

里面推荐了一个tslint-to-eslint-config将现有的tslint.json转换成对应的eslint。那么我们先尝试一下吧

tslint-to-eslint-config

根据npm地址提示,执行

npx tslint-to-eslint-config --tslint ./tslint.json

可以发现输出的.eslintrc.jstslint-to-eslint-config.log两个文件。同时终端信息

tslint-to-eslint.jpg 大致可以看出,127条转换成功,40条tslint配置找不到对应的eslint配置。详情可以在log文件中查看

特殊处理

针对上面没有办法转换的,官网也提供了说明文档tslint对应规则eslint

通过查看以上的文档,对特定的tslint规则进行转换

其他

如果是新的项目呢?配置规则eslint-rules在这里查看

多维度

配置eslint不应该从某一个单个的角度去想。可以从多个角度,设置对应的rules

项目代码

TODO

eslint中extends和plugin的区别

  • plugin:使用加载的插件,赋予了rules中新的检测功能。就像是一个机器人新增了一个武器、可以使用这个武器实现某种能力
  • extends:继承,就是已经实现的一套规则,可以直接拿过来用。就像是现有的一个机器人,直接拿过来用

相关地址