Deno 1.32 发布,增强 Node.js 兼容性


Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。

Deno 1.32 正式发布,值得关注的更新包括:

增强 Node.js 的兼容性

Deno 在提高与 Node.js 的兼容性方面继续取得重大进展,提供了更顺畅的整体开发者体验。这个版本的主要改进包括:

  • 受控的自动发现: 当设置了 -no-config-no-npm 标志时,package.json 的自动发现功能将被禁用,从而对该过程提供了更大的控制。
  • 新的环境变量: 一个新的 DENO_NO_PACKAGE_JSON 环境变量允许你完全阻止 Deno 在环境中解析 package.json 文件。
  • 扩大了对加密的支持: 增加了对 node:cryptocreateCipherivcreateDecipheriv API 的支持,扩大了可用的加密功能范围。
  • 错误浮现: package.json 中的依赖解析错误现在以一种 lazy 的方式浮出水面,最大限度地减少了干扰。

deno compile 支持 Web Worker 和动态导入

这个版本为 deno compile 带来了两个用户一直希望加入的更新。现在可以在使用 deno compile子命令创建的二进制文件中使用动态导入和 Web Worker API。这使得多线程程序更容易用 deno compile构建。

deno run 运行没有扩展名的文件

现在可以通过 --ext 标志运行不带扩展名的文件。

$ cat my_script
#!/usr/bin/env -S deno run --ext=js

console.log("Hello!");
$ ./my_script
Hello!

Deno API 的改变

  • Deno.FileInfo.dev 现在在 Windows 上被定义。这是一个额外的变化,因为 Deno.FileInfo.dev 字段的类型从 number | null 改为 number
  • 增加了两个新的不稳定的 API: Deno.DatagramConn.joinMulticastV4Deno.DatagramConn.joinMulticastV6

Web API 的改变

  • 现在支持 URLSearchParams.size()
  • 移除不稳定的 WebGPU API。支持 WebGPU 引入了成本,使所有用户的 deno 二进制文件变得更大,启动速度更慢,即使用户并没有使用它。

TypeScript 5.0

  • Deno v1.32 搭载了 TypeScript 的最新稳定版本。

    请注意,目前还不支持 ES 装饰器,但在未来的版本中将默认启用它们。

  • 性能改进:除了 TypeScript 5.0 带来的其他性能优势外,Deno 的初始类型检查在不对远程模块进行类型检查时变得非常快。在大多数情况下,这一改进对减少 CI 上的类型检查时间带来了特别大的变化。节省下来的确切时间取决于依赖的远程模块的数量,但我们已经观察到类型检查的速度提高了 2 倍以上。

V8 11.2

这个版本升级到了 V8 的最新版本(11.2,之前是 11.0)

更多详情可查看:https://github.com/denoland/deno/releases/tag/v1.32.0


相關推薦

2023-12-16

机超时机制,以及最新版本的Deno更新通知功能。 Node.js兼容性改进 1.39版本为了方便将现有的TypeScript代码库迁移到Deno,引入了对不规范导入的支持。例如,它允许在没有文件扩展名的情况下解析导入,或者使用不正确的文件扩

2023-07-07

迟和更高效的内存使用。 改进 npm 支持度。Deno 的 npm 兼容性允许使用熟悉的 npm 包,降低供应链风险。 此次月度版本更新对 http、https 和 zlib 模块的兼容性进行了大幅改进。下面列出了对 Node.js 内置模块的完整更改: fs

2023-01-29

TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.30 已发布,值得关注的更新包括: 对内置 Node.js 模块的支持 在 Deno 中,npm 包已经可以通过 Deno 的 Node.js 兼容层访问内置的 Node.js 模块,如 fs、path、process 等等。 在这个版

2023-05-27

o 1.34 已正式发布,主要更新内容是优化与 npm 和 Node.js 的兼容性,从而整体提升开发者体验,并为未来的性能增强奠定基础。 值得关注的变化: deno compile支持 npm 包 从 Deno v1.6 开始, deno compile支持将项目编译成单个二

2022-10-29

布。 主要变化 改进语言服务器 /IDE 改进 npm 兼容性 新增navigator.language Web API 改进 deno task 升级检查器 修改 Deno APIs 升级 deno lint V8 10.8 改进 Node.js 兼容性 修改标准库 API 改进语言服

2023-09-13

这篇博客对比了当前流行的三大 JavaScript 运行时环境:Deno、Bun 和 Node.js。 先直观看一下特性上的比较: 除了表格上这些直观可以对比的特性,作者还列出了一些相关的值得关注的要点: Bun 在一定程度上对 Windows 有作

2022-06-23

Deno 运行时背后的同名开发商 Deno 于昨日宣布,它已完成了由红杉领导的 2100 万美元的 A 轮融资,使其融资总额达到 2600 万美元。Deno 首席执行官 Ryan Dahl 表示,此轮融资将帮助他们用于构建 Deno 的商业产品 —— Deno Deploy,并同

2023-11-04

deno doc --html生成静态站点文档的能力。另外改进了 Node.js 兼容性、支持 HMR(模块热更新)。 主要变化 改进deno doc:新的 deno doc --html 命令可生成包含项目文档的静态站点。 模块热更新:新的 --unstable-hmr flag

2023-02-27

eScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.31 正式发布,值得关注的更新包括: 支持package.json Deno 现在会自动检测到 package.json 并使用它来安装和解决使用的依赖关系 Node-API 的稳定化 Deno 1.31 稳定了 Node-API(

2022-06-14

y 这样的边缘运行时可获得最佳体验。目前 Fresh 尚未正式发布,仍处于频繁更改核心功能的阶段,请勿在生产环境使用。 延伸阅读 Node.js 之父谈 JavaScript 容器

2023-05-02

n 配置 更少的动态导入权限检查 改进 npm 和 Node.js 兼容性 性能优化 改进 CLI 预加载 LSP 文档 对 Deno API 的变更 变更标准库 V8 升级到 11.4 详情查看发布公告。

2022-08-29

,这项功能仍在开发中。Deno 在接下来的几个版本中改善兼容性层和用户体验。 新的实验性 HTTP 服务器 API Deno 1.25 引入了一个新的实验性 HTTP 服务器,旨在提供一流的 HTTP 性能。我们的基准显示,与 Node.js 相比,每秒的 hello-wor

2023-08-08

Deno 1.36 已正式发布。 公告写道,Deno 设计目标的核心是灵活且强大的运行时安全性。在 Deno 1.36 中,通过 --deny-* flag 进一步扩展了安全选项。除了现有的 --allow-* flag 之外,开发者还可以配置网络通信、文件系统

2022-10-01

-allow-syspermission flag 改进对 npm 的支持 优化对 Node.js 的兼容性 针对DenoAPI 的变更 改进 Deno.serve() API 提升性能 优化 module 下载 UI 改进开发者体验 升级 TypeScript 至 4.8 CacheWeb API 此版本添加了对CacheAPI 的支