今天给大家分享 Node 之父新作:一个全新的 NPM 下载源。
这是一个现代JavaScript和TypeScript的开源包下载源工具 -JSR
什么是 JSR
在JavaScript生态系统中,npm(Node Package Manager)扮演着核心角色,作为一个庞大的软件包下载源,它允许开发者共享和借用代码包。
尽管近年来出现了如yarn和pnpm这样的新型包管理工具,它们能够显著提升包的下载和管理效率,但是作为JS生态系统基石的npm包下载源(npm registry)却几乎发展停滞。
所以 Node 之父出手了!
JSR并非另一个 npm 包管理器,而是一个全新的下载源,旨在彻底改变JavaScript和TypeScript在不同环境和工具之间的共享方式。它通过简化长期困扰开发者的复杂性,从根本上改进了代码分发过程。
为什么选择 JSR?
加粗样式
● ESM和TypeScript优先:JSR 专注于 ESM 和 TypeScript,消除了package.json配置和tsconfig编译器选项的复杂性。
● 自动文档生成:JSR最佳实践,为每个导出符号提供全面的JSDoc文档,从而实现开箱即用的自动文档生成。
● 与npm的无缝集成:JSR 补充而非取代npm,允许JSR包依赖于npm包,并通过npm.jsr.io分发 npm 兼容的 tarballs。
● 安全性:JSR 通过集成OIDC令牌与GitHub Actions,使用 Sigstore 存储高级的、可验证的来源证明,确保代码的真实性并建立信任。
● 简化分享:JSR 提供了一个中心枢纽,让开发者可以无复杂性地共享他们的工作,支持JavaScript作为软件开发的核心语言。
如何使用 JSR?
使用 JSR 非常简单:
● 依赖现有工具:JSR 与 npm、yarn 或 pnpm 等现有工具兼容,无需学习新的包管理器。
● 集成私有下载源:JSR 可以与私有下载源集成,提供更大的灵活性。
● 安全性为先:JSR 的安全性设计让你可以安心地使用和分享代码。
比如使用 JSR 安装@luca/cases最版本:
npx jsr add @luca/cases
如图:
总结
JSR代表的不仅仅是一个新的下载源工具,它是我们思考和实践JavaScript与TypeScript分发方式的一个根本转变。更多信息可以到 JSR 官网了解~