11 月 23 日,TypeScript 5.7 正式发布,该版本带来了一系列新特性和改进,以下是主要更新:
-
未初始化变量检查:TypeScript 5.7 增强了对未初始化变量的检查,能够报告那些从未被初始化的变量使用错误。
-
相对路径重写:新增了 --rewriteRelativeImportExtensions 编译器选项,允许在编译时将相对路径的 TypeScript 文件扩展名重写为对应的 JavaScript 文件扩展名。
-
支持 --target es2024 和 --lib es2024 :TypeScript 5.7 支持了 --target es2024,允许用户针对 ECMAScript 2024 运行时环境进行代码编译,同时引入了 --lib es2024 库,包含了 SharedArrayBuffer、ArrayBuffer、Object.groupBy、Map.groupBy、Promise.withResolvers 等功能。
-
祖先配置文件搜索:TypeScript 5.7 改进了在编辑器中查找 tsconfig.json 文件的逻辑,现在会向上搜索更多的目录层级,以找到更适当的配置文件。
-
复合项目中更快的项目所有权检查:对于大型代码库,TypeScript 5.7 优化了项目所有权检查的速度,避免了加载整个代码库的开销。
-
在 --module nodenext 中验证 JSON 导入:在 nodenext 模块下,TypeScript 现在会验证 JSON 文件的导入,确保导入时包含 type: "json" 属性,并只允许通过默认导出访问 JSON 文件内容。
-
支持 Node.js 的 V8 编译缓存:TypeScript 5.7 利用 Node.js 22 的 module.enableCompileCache() API,提高了编译速度。