TypeScript 7

不清楚这是什么?请阅读公告文章!


预览版本(Preview)

预览版本已发布在 npm 上,包名为 @typescript/native-preview

npm install @typescript/native-preview
npx tsgo # 用法与 tsc 相同

同时还提供了一个 VS Code 预览扩展,可在 VS Code Marketplace 获取。

使用该扩展,需要在 VS Code 设置中添加:

{
    "js/ts.experimental.useTsgo": true
}

当前已支持的功能(What Works So Far?)

该项目仍在持续开发中,尚未与 TypeScript 实现完全功能对齐(feature parity)。可能存在 Bug。在提交新 Issue 或认为行为变更是“有意设计”之前,请仔细阅读以下列表。

功能 状态 说明
程序创建(Program creation) 完成 与 TypeScript 6.0 使用相同的文件与模块解析方式,但尚未支持所有解析模式
解析/扫描(Parsing/scanning) 完成 与 TypeScript 6.0 产生完全一致的语法错误
命令行与 tsconfig.json 解析 完成 已实现,但 tsconfig 错误提示可能不够友好
类型解析(Type resolution) 完成 与 TypeScript 6.0 类型一致
类型检查(Type checking) 完成 错误类型、位置与提示信息与 TypeScript 6.0 一致;错误中的类型展示可能略有不同
JavaScript 推断与 JSDoc 进行中 大部分完成,但有意未实现部分特性;声明生成尚未完成
JSX 完成
声明生成(Declaration emit) 进行中 TypeScript 文件已支持;JavaScript 文件尚未完全支持
代码生成(Emit / JS 输出) 完成
监听模式(Watch mode) 原型 支持监听文件变化并重建,但不支持增量重新检查;未优化
构建模式 / 项目引用 完成
增量构建 完成
语言服务(LSP) 进行中 几乎所有功能已实现
API 未就绪

状态定义(Definitions)

  • done(已完成):目前未发现明显缺陷或重大未完成工作,可以提交 Bug
  • in progress(进行中):功能仍在开发中,部分可用;仅建议提交崩溃类问题(panic),不要提交其他问题
  • prototype(原型):仅为概念验证,不建议提交 Bug
  • not ready(未就绪):尚未开始或距离可用状态较远,不建议使用或反馈

其他说明(Other Notes)

从长期来看,该仓库及其内容预计将合并至 microsoft/TypeScript 主仓库。

因此,typescript-go 的仓库及 Issue 跟踪器最终将被关闭,请据此合理使用讨论与 Issue。

关于相对于 TypeScript 6.0 的有意变更,请参考 CHANGES.md


贡献(Contributing)

欢迎贡献代码与建议。大多数贡献需要你同意一份贡献者许可协议(CLA),声明你有权并同意将贡献内容授权给项目方使用。

详情请参见: https://cla.opensource.microsoft.com

提交 PR 时,CLA 机器人会自动检测是否需要签署 CLA,并在 PR 中给出提示(如状态检查或评论)。按照提示操作即可。该流程只需在所有使用该 CLA 的仓库中完成一次。

本项目采用了 Microsoft 开源行为准则(Code of Conduct)。 详情请参见 FAQ 或通过 opencode@microsoft.com 联系。


商标(Trademarks)

本项目可能包含 Microsoft 或第三方的商标或标识。

  • 使用 Microsoft 商标需遵循官方品牌规范
  • 修改版本中不得造成混淆或暗示官方背书
  • 第三方商标遵循各自政策

参考资料