Deno 1.42 版本发布,旨在简化编程并改善依赖管理。以下是该版本的主要更新和特性:
-
JSR(JavaScript and TypeScript Package Registry):
- 一个现代化的、TypeScript优先的、跨平台兼容的包注册表,与Deno完全集成。
- 无需额外工具即可在Deno中使用和发布JSR包。
- 引入了两个新的子命令:
deno publish
和deno add
。 -
deno add
类似于npm add
,但默认使用JSR包。 -
deno publish
允许用户将模块发布到JSR。
-
Node.js和npm兼容性:
- 引入了许多改进,使Deno与Node.js更加兼容。
- 包括对
async_hooks
、child_process
、crypto
、fs
、http
、http2
、process
、string_decoder
、timers
、util
、worker_threads
等模块的支持。 - 改进了对CSS文件的处理和npm包的解析。
-
性能提升:
- 启动时间加快,Linux上提高了10%。
- 重写了定时器,减少了内存使用并提高了效率。
- 改进了对
setTimeout
和setInterval
的处理。
-
语言服务器改进:
- 支持npm和jsr协议的自动补全。
- 改进了LSP和VSCode扩展的集成。
-
Deno任务(deno task):
- 支持跨平台shebang。
- 改进了重定向支持,包括文件描述符重定向。
-
Deno lint:
- 实现了自动修复lint规则的功能。
- 引入了新的lint规则,如
no-slow-types
和verbatim-module-syntax
。
-
即将到来的deno install变化:
-
deno install
将改变其行为,更符合用户的预期,即安装脚本到项目本地。 - 引入了
-g
或--global
标志以支持全局安装。
-
-
DENO_FUTURE=1环境变量:
- 启用了Deno 2中即将到来的变化,如移除
window
全局变量和一些Deno API。
- 启用了Deno 2中即将到来的变化,如移除
-
V8 12.3和TypeScript 5.4.3:
- Deno 1.42 集成了V8 12.3和TypeScript 5.4.3。
- 引入了新的Iterator和Set方法。
-
感谢社区贡献者:
- 特别感谢为Deno 1.42做出贡献的开发者。
此外,Deno 1.42 还包括了许多其他的改进和修复,完整的变更列表可以在GitHub上查看。Deno团队还预告了下一个主要版本“Fresh 2.0”,它将更加简单,具有更可组合、类似Express的API。