Deno 1.42 版本发布,旨在简化编程并改善依赖管理

Deno 1.42 版本发布,旨在简化编程并改善依赖管理。以下是该版本的主要更新和特性:

  1. JSR(JavaScript and TypeScript Package Registry)

    • 一个现代化的、TypeScript优先的、跨平台兼容的包注册表,与Deno完全集成。
    • 无需额外工具即可在Deno中使用和发布JSR包。
    • 引入了两个新的子命令:deno publishdeno add
    • deno add 类似于 npm add,但默认使用JSR包。
    • deno publish 允许用户将模块发布到JSR。
  2. Node.js和npm兼容性

    • 引入了许多改进,使Deno与Node.js更加兼容。
    • 包括对async_hookschild_processcryptofshttphttp2processstring_decodertimersutilworker_threads等模块的支持。
    • 改进了对CSS文件的处理和npm包的解析。
  3. 性能提升

    • 启动时间加快,Linux上提高了10%。
    • 重写了定时器,减少了内存使用并提高了效率。
    • 改进了对setTimeoutsetInterval的处理。
  4. 语言服务器改进

    • 支持npm和jsr协议的自动补全。
    • 改进了LSP和VSCode扩展的集成。
  5. Deno任务(deno task)

    • 支持跨平台shebang。
    • 改进了重定向支持,包括文件描述符重定向。
  6. Deno lint

    • 实现了自动修复lint规则的功能。
    • 引入了新的lint规则,如no-slow-typesverbatim-module-syntax
  7. 即将到来的deno install变化

    • deno install 将改变其行为,更符合用户的预期,即安装脚本到项目本地。
    • 引入了-g--global标志以支持全局安装。
  8. DENO_FUTURE=1环境变量

    • 启用了Deno 2中即将到来的变化,如移除window全局变量和一些Deno API。
  9. V8 12.3和TypeScript 5.4.3

    • Deno 1.42 集成了V8 12.3和TypeScript 5.4.3。
    • 引入了新的Iterator和Set方法。
  10. 感谢社区贡献者

    • 特别感谢为Deno 1.42做出贡献的开发者。

此外,Deno 1.42 还包括了许多其他的改进和修复,完整的变更列表可以在GitHub上查看。Deno团队还预告了下一个主要版本“Fresh 2.0”,它将更加简单,具有更可组合、类似Express的API。

2 个赞