JSR 不是另一个包管理器 | Deno

主要观点

  • 过去几年出现新的包管理器如 yarn 和 pnpm 提升了包的下载方式,但 npm 包注册表几乎未进化,与语言的活跃进化形成悖论。
  • 当初创建 Node 时无标准模块系统,npm 注册表和 Node 默认 CommonJS,十年前采用 ES 模块语法,但模块分发路径仍复杂,尤其是涉及 TypeScript 时,促使创建 JSR 来改变这一状况。
  • JSR 通过简化复杂问题改善代码分发过程,是 ESM 唯一且优先支持 TypeScript 的注册表,通过包评分系统鼓励最佳实践,还能与 npm 兼容。
  • Deno 重视 JavaScript 开发的安全性,JSR 提供关于发布者的透明度和安全的发布过程,通过集成 OIDC 令牌等建立信任。
  • JavaScript 是通用语言,需要一个中心枢纽,JSR 旨在支持其在软件开发中的持久相关性,是对代码管理和安全的新尝试。

关键信息

  • npm 包注册表最后显著更新是多年前添加的“files” tab。
  • 2015 年 JavaScript 采用 ES 模块语法,现多数用 ES 模块但分发路径复杂。
  • JSR 是 ESM 唯一和 TypeScript 优先的注册表,有包评分系统等。
  • JSR 可与 npm 兼容,允许依赖 npm 包,可在现有 npm 软件中使用。
  • Deno 重视安全,JSR 提供安全的发布过程并建立信任。

重要细节

  • 提到不同开发者对 JSR 的推文宣传。
  • 列出关于 JSR 的多个相关链接,如 JSR.io、JSR 公告等。
阅读 134
0 条评论