typescript和javascrpt代码检查的未来

背景

TypeScript是一个非常棒的JavaScript代码静态代码分析器,它在底层JavaScript语言之上提供了一些额外的语法。

  • 在后台,它使用一个解析器将源代码转换成一种称为抽象语法树(AST)的数据格式。然后,插件使用这种数据格式来创建名为lint规则的断言,该断言围绕着代码的外观或行为。

ESLint是一个很棒的javascript代码检查工具。

  • 在后台,它使用一个解析器将源代码转换成一种称为抽象语法树(AST)的数据格式。然后,TypeScript编译器的其他部分使用这种数据格式来做一些事情,比如对问题给出反馈,允许您轻松重构等等。

这两者有相似的地方,共同的地方就是帮助开发者写出更好的代码。ESLint和typescript两者都生成AST,但AST却不一样。

TSLint:TSLInt是一个基于typescript的AST格式的代码检查工具。

  • 优点是不用在意AST之间的差异。最重要的缺点是不能够使用javascript生态系统一直以来总结的各种代码检查规则,必须从零开始重新实现,从基础的补全代码等规则开始。

结论:TSLint和TypeScript团队最终都声明将统一维护typescript-eslint项目,致力于将TSLint融入到ESlint中。

typescript-eslint-parser将成为过去

ESLint已经宣布不再继续维护typescript-eslint-parser,并推荐使用@typescript-eslint/parser代替。

如果有依然在使用的人,可以看这里,总结的如何在项目中使用代码检查。

typescript-eslint

多个包介绍

如果希望一起使用TypeScript和ESLint,至少需要@typescript-eslint/parser和@typescript-eslint/eslint-plugin。

未来

TSLint团队计划与2019年废弃TSLint,并致力于融合ESLint支持Typescript和Javascript。

 

参考

  1. github——typescript-eslint
  2. the future of typescript on ESLint
posted @ 2019-07-02 15:35  Jamie0327  阅读(665)  评论(0编辑  收藏  举报
levels of contents