TypeScript 5.9 发布 — 导入延迟、最小 tsconfig、Node20 模块模式
主要更新
TypeScript 5.9 正式发布,带来了日常开发中的实用功能:支持导入延迟提案(延迟模块评估)、一个更精简的 tsc --init 默认生成更小的 tsconfig.json 文件、一个 --module node20 选项以匹配 Node.js v20 模块语义、以编辑器为中心的改进如可扩展的悬停提示,以及一系列旨在减少泄漏类型变量的类型参数推断更改(这可能会在某些代码库中出现新的错误)。 (devblogs.microsoft.com)
重要性
导入延迟改变了模块(及其初始化工作)的运行方式和时机,因此如果你的代码和打包工具/运行时支持它,它可以显著降低冷启动和页面加载成本 — 但这也意味着依赖于急切模块副作用的打包工具、运行时补丁和库需要进行验证。新的最小 tsc --init 降低了新项目的入门摩擦,使合理的默认设置更容易采用。node20 模块模式减少了 TypeScript 输出与 Node v20 加载器之间的语义差距,这帮助服务器团队避免微妙的模块解析问题。最后,推断修复是操作上影响最大的项目:一些大型代码库在升级后会看到新的类型错误;通常的缓解措施是在 CI 中在一个分支上运行类型检查器,在必要时添加显式类型参数,并在升级时使用发布中的迁移说明。总体而言:以分阶段的方式采用 5.9(编辑器 + CI 检查 → 修复推断回归 → 在安全的情况下选择导入延迟),验证第三方工具链的兼容性(打包工具、代码检查工具、测试运行器),并优先在合并之前在 CI 中运行完整的类型检查。 (devblogs.microsoft.com)
来源
继续阅读
AWS CDK 将 CLI 与构造库分离(独立发布和新的 CLI 仓库)
2025年8月31日AWS 宣布 CDK CLI 和 CDK 构造库将独立发布,CLI 将迁移到一个新的仓库——这改变了您在 CI 中版本控制、安装和自动化 CDK 的方式。
Bun 添加 Bun.SQL — 一个零依赖的统一 SQL 客户端 (MySQL, PostgreSQL, SQLite)
2025年8月30日Bun v1.2.21 (2025年8月25日) 引入了 Bun.SQL:一个单一的、零依赖的 SQL 客户端,支持 MySQL/MariaDB (Zig 驱动)、PostgreSQL 和 SQLite,提供一致的标签模板 API。
pnpm 10.12 (v10.12.1) 添加了一个实验性的全局虚拟存储,用于近乎即时的本地安装
2025年8月29日pnpm 10.12 引入了一个中央的、图哈希的虚拟存储,允许多个项目重用精确的依赖图,显著加快了在温暖缓存上的本地安装速度,并改善了单体仓库的工作流程。