Deno 2.8发布:自动修复依赖漏洞、一键升级版本号,Node.js替代品越来越成熟

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讨论

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容