Deno 2.5 — 配置权限集、审计日志、运行时打包 API 和 V8/TS 升级

DenoTypeScriptDevOps

关键更新

Deno 2.5(稳定版)在 deno.json 中标准化了权限集,并添加了权限审计日志,正式化了 Deno.test 的设置/拆卸钩子,引入了用于程序化打包的运行时 API(以及 HTML 入口点打包),允许在握手时自定义 WebSocket 头,并将运行时升级到 V8 14.0 和 TypeScript 5.9.2。该版本还包括一系列针对性的性能改进(发射缓存持久性、减少 CommonJS 包装器内存、条件 JSX 跳过)以及几项开发者体验修复,增强了在实际工作流中与 Node/npm 的兼容性。

重要性

deno.json 中的权限集以及 DENO_AUDIT_PERMISSIONS 审计日志使 Deno 从临时的 CLI 标志转向可重复、可审计的运行——这对于 CI、安全审查和多环境团队非常有用,因为您可以定义、重用和审计命名的权限配置文件(并拒绝意外的过度权限运行)。测试生命周期钩子(beforeAll/beforeEach/afterEach/afterAll)填补了与已建立测试框架之间长期存在的体验差距,使得团队的迁移和共享模式变得更容易。运行时 Deno.bundle API 和 HTML 入口点支持使您能够在构建脚本和 CI 中进行程序化打包,而无需为小型静态或边缘目标应用程序引入完整的 Vite 工具链;请注意,该 API 是实验性的,并且需要 --unstable-bundle。WebSocket 头支持改善了服务器到服务器和边缘场景的握手时身份验证(在浏览器中不可用)。升级到 V8 14 和 TypeScript 5.9 带来了新的 JS 特性、改进的性能和更新的类型检查——预计开发迭代会稍微更快,并能够访问更新的语言体验。总体而言,此版本是实用的:它增强了安全性,减少了测试和轻量级打包中的摩擦,并在保留使用更广泛生态系统(例如 Vite)选项的同时,实现了可测量的迭代/CI 加速。

来源

继续阅读