Deno在5月22日发布了2.8版本,官方称这是”迄今最大的次要版本更新”。对于正在考虑从Node.js迁移或者想尝试新运行时的开发者来说,这个版本值得关注。
核心新功能
deno audit fix:自动修复依赖漏洞
这是2.8版本最实用的功能之一。之前Deno 2.6已经支持deno audit来报告依赖树中的npm包漏洞,现在新增的deno audit fix可以自动将受影响的包升级到满足版本约束的最近修补版本。
$ deno audit fix
╭ body-parser vulnerable to denial of service
│ Severity: high
│ Package: body-parser
│ Vulnerable: < 1.20.3
╰ Info: https://github.com/advisories/...
Found 2 vulnerabilities
Fixed 1 vulnerability: body-parser 1.19.0 -> 1.20.3
1 vulnerability could not be fixed automatically: express (major upgrade)
需要大版本升级的包会单独列出,让你自己决定是否放宽版本约束。这比npm audit fix的体验好很多——npm经常因为版本冲突直接报错。
deno bump-version:一键升级版本号
新命令可以自动更新deno.json或package.json中的版本字段:
$ deno bump-version patch # 1.4.6 -> 1.4.7
$ deno bump-version minor # 1.4.6 -> 1.5.0
$ deno bump-version major # 1.4.6 -> 2.0.0
在workspace中使用时,会在根目录执行,对所有成员包应用相同的版本增量,自动处理内部依赖的版本同步。这对monorepo项目来说省了不少手动操作。
Claw Patrol:开源安全防火墙
Deno 2.8还引入了一个值得关注的安全工具——Claw Patrol,一个专为AI Agent设计的开源安全防火墙。随着AI Agent越来越多地执行代码,这类安全层变得越来越重要。
为什么考虑Deno
如果你还在犹豫是否要尝试Deno,这里有几个理由:
原生TypeScript支持:不需要配置tsconfig.json,不需要tsc编译步骤,直接运行.ts文件。
内置工具链:测试、格式化、linting、打包都内置了,不需要安装jest、prettier、eslint等。
安全优先:默认不允许文件系统、网络和环境变量访问,需要显式授权。
npm兼容:Deno现在可以无缝使用npm包,迁移成本大幅降低。
升级方法
# 已安装Deno
deno upgrade
# 新安装
curl -fsSL https://deno.land/install.sh | sh # macOS/Linux
iwr https://deno.land/install.ps1 -useb | iex # Windows PowerShell
适用场景
新项目:如果是从零开始的TypeScript/JavaScript项目,Deno现在是一个非常成熟的选择。
边缘计算:Deno Deploy提供了全球分布的边缘运行时,对低延迟场景很有吸引力。
AI Agent:Deno的安全模型天然适合运行AI生成的代码——默认限制权限,需要显式授权。
本文参考来源:Deno Blog – Deno 2.8 | Hacker News讨论
















暂无评论内容