TypeScript 官方决定全面采用 ESLint

来源: 投稿
作者: 段段段落
2019-01-22

由于性能问题,TypeScript 官方决定全面采用 ESLint,甚至把仓库(Repository)作为测试平台,而 ESLint 的 TypeScript 解析器也成为独立项目,专注解决双方兼容性问题。

JavaScript 代码检验工具 ESLint 在 TypeScript 团队发布全面采用 ESLint 之后,发布 typescript-eslint 项目,以集中解决 TypeScript 和 ESLint 兼容性问题。而 ESLint 团队将不再维护 typescript-eslint-parser,也不会在 Npm 上发布,TypeScript 解析器转移至Github 的 typescript-eslint/parser。

在 TypeScript 的2019 上半年发展规划中,TypeScript官方说明了 Linting 工具的状况。由于在数个月前他们透过 VS Code 的问卷调查发现,不少用户认为 TypeScript 的 Linting 支援不足,因此负责 JavaScript 编辑体验的团队开始着手增加对 TSLint 和 ESLint 的支援。

但是编辑器团队提到,TSLint 的规则运作方式存在架构性的性能问题, 如果要维持效能将需要不同的 API,而这将破坏既有规则,相反的 ESLint 则具有更高效能的架构,而且不少热门项目的社群,诸如 React Hooks 和 Vue,都是使用 ESLint 建构 Lint 规则。

因此 TypeScript 的编辑器团队决定专注支援 ESLint,增加语义 Linting 和程序范围 Linting 等目前尚未包含的使用情境,同时,他们也承诺,会提供贡献以强化 ESLint 对 TypeScript 的支援,同时也在 TypeScript 储存库中使用 ESLint,使其成为工具实践的测试平台,并向上发送所有新规则。

部分 ESLint 团队中的成员,在过去一直致力于提高和 TypeScript 的兼容性,主要进行维护 TypeScript 解析器的工作,虽然这个解析器过去并非由 ESLint 团队维护,但最近落到了团队成员手中,而在 TypeScript 决定转而使用 ESLint 之后,官方认为,Typescript 解析器势必成为发展核心。

因此 ESLint 官方宣布发布 typescript-eslint 项目,这项工作交由 ESLint 团队的 James Henry 进行维护,Henry 本身便负责长期推动 ESLint 与 TypeScript 兼容性,原本的 TypeScript 解析器也将搬迁至仓库。官方提到,ESLint 团队并不会正式参与新项目,但会支援 James Henry 并维持畅通的沟通渠道,确保为 TypeScript 的开发人员提供良好的使用体验。

接下来 ESLint 团队将不再继续维护 typescript-eslint-parser,他们会封存仓库,也不会在 Npm 发布 typescript-eslint-parser,原本使用 typescript-eslint-parser 的开发者应使用 typescript-eslint/ parser 来替代。

展开阅读全文
7 收藏
分享
加载中
精彩评论
前端就会自己折腾自己
2019-01-22 10:01
8
举报

引用来自“久永”的评论

谁来科普下 ESLint 是个啥玩意?非前端,不懂。
就是一个代码规范的检查工具,比如行尾要不要加";"、申明变量用let还是const,用arrow function替代 function等等。
1. 统一团队的代码规范
2. 避免一些已经不建议的语法、API等等
2019-01-22 13:22
5
举报

引用来自“久永”的评论

谁来科普下 ESLint 是个啥玩意?非前端,不懂。
ESLint= ECMAScript Lint
TSLint=Typescirpt Lint
非前端,纯属瞎猜
2019-01-22 09:05
5
举报
最新评论 (20)
对可空属性的校验有点坑爹,if里用了中间变量就傻了,或者稍微绕一下就失灵
2020-06-03 16:17
0
回复
举报

引用来自“玖伍贰柒”的评论

前端就会自己折腾自己
工欲善其事,必先利其器
2019-01-23 09:09
0
回复
举报

引用来自“久永”的评论

谁来科普下 ESLint 是个啥玩意?非前端,不懂。

引用来自“Raphael_goh”的评论

就是一个代码规范的检查工具,比如行尾要不要加";"、申明变量用let还是const,用arrow function替代 function等等。
1. 统一团队的代码规范
2. 避免一些已经不建议的语法、API等等
感谢!
虽然每个人都可以自己去查一下,
但是有人介绍下,
可以为整个社会节约多少重复浪费的时间啊!
2019-01-23 08:47
0
回复
举报
好事,统一标准了
2019-01-22 15:50
0
回复
举报

引用来自“久永”的评论

谁来科普下 ESLint 是个啥玩意?非前端,不懂。
就是一个代码规范的检查工具,比如行尾要不要加";"、申明变量用let还是const,用arrow function替代 function等等。
1. 统一团队的代码规范
2. 避免一些已经不建议的语法、API等等
2019-01-22 13:22
5
回复
举报

引用来自“久永”的评论

谁来科普下 ESLint 是个啥玩意?非前端,不懂。

引用来自“昵称非法已被屏蔽”的评论

ESLint= ECMAScript Lint
TSLint=Typescirpt Lint
非前端,纯属瞎猜

引用来自“久永”的评论

大哥,我也是懂前两个字母,但是不懂的是后面的啊。
我要懂,我就说了。
2019-01-22 11:27
0
回复
举报

引用来自“久永”的评论

谁来科普下 ESLint 是个啥玩意?非前端,不懂。

引用来自“昵称非法已被屏蔽”的评论

ESLint= ECMAScript Lint
TSLint=Typescirpt Lint
非前端,纯属瞎猜
大哥,我也是懂前两个字母,但是不懂的是后面的啊。
2019-01-22 11:15
0
回复
举报
以后就只需要用eslint了,挺好的,减少碎片化,简化前端工具
2019-01-22 11:03
0
回复
举报
终于要摆脱tslint了吗?激动。tslint的规则和eslint比起来少了不是一点点
2019-01-22 10:57
0
回复
举报
还好刚准备入ts坑
2019-01-22 10:36
0
回复
举报
更多评论
20 评论
7 收藏
分享
返回顶部
顶部