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