TypeRunner高性能 TypeScript 编译器
TypeRunner 是一个高性能 TypeScript 编译器。
Goals
- 解析器
- 类型检查(作为 CLI 和库)
- 语言服务器
- 交互式类型调试
- 用其他语言输入信息
- (可选)转译为 JavaScript
- (可选)JavaScript 中的 RTTI
- (可选)类型分析器
此外,使TypeScript类型检查尽可能快,并为其他语言提供一个本地库,这样他们就可以使用TypeScript类型信息,而不需要JavaScript引擎,使各种用例,如JSON-Schema替换,ORM DSL,编码信息(如Protocol Buffers模式)等等。
Non-goals
- 替代官方 TypeScript 编译器
- 运行
作为整个官方 TypeScript 编译器 (tsc) 的直接替代品,需要复制 tsc 的设计限制、错误和遗留决策。由于 TypeScript 已有 10 年的历史,因此有许多功能在今天是不必要的,但为了兼容性而保留。该项目专注于 TypeScript 的一个更严格的子集,这意味着 TypeRunner 将不支持某些功能,例如 JSDoc 和几个编译器选项。
初始版本中的源代码实际上只是一个概念证明。它由大约 30k LoC 组成,并显示出非常有希望的结果。方法是使用 TypeScript 到字节码的编译器,然后在自定义虚拟机中运行字节码。数据表明,这种方法可以使速度提高几十倍到几千倍。
TypeRunner 目前只支持非常基本的类型表达式:原语、变量声明、(通用)函数声明、一些类型函数,如类型别名、(分布)条件类型、模板文字、数组/元组、索引访问、联合、以及一些其他东西。
TypeRunner 现下的开发几乎停滞不前,更多的是一个实验/概念证明。一旦项目通过社区获得资金,开发将继续。
评论