TypeScript承诺大力拥抱ESLint,ESLint成立项目解决两方兼容问题

热门Lint工具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替代。