私有注册表
私有注册表通常在公司内部使用,以控制对包的访问,例如确保仅使用经过批准的包。JSR 可以与 NPM 私有注册表集成,以便您可以在需要使用 NPM 私有注册表的公司内部使用 JSR 包。
注意:JSR 目前本身不提供私有注册表功能。这意味着目前无法将私有包发布到 JSR。这是一个在 问题 #203 中跟踪的功能。
将 JSR 用作 NPM 私有注册表的上游
当 JSR 用作 NPM 私有注册表的上游时,私有注册表会将对私有注册表中未找到的包的请求代理到 JSR。这允许私有注册表用作 JSR 包的缓存,并强制执行有关公司内可以使用哪些包的规则。
要将 JSR 用作 NPM 私有注册表的上游,您需要将私有注册表配置为将请求代理到 JSR。执行此操作的确切步骤取决于您使用的私有注册表软件。以下是将 JSR 用作上游的一些流行私有注册表软件的配置示例。
将 JSR 作为上游与 Azure DevOps Artifacts 配置
要将 JSR 用作 Azure DevOps Artifacts 的上游,您需要在 Azure DevOps Artifacts 中创建一个指向 JSR 的新上游源。您可以按照以下步骤操作:
- 转到 Azure DevOps 项目的“Artifacts”部分。
- 创建一个新的提要或选择一个现有的提要。创建新的提要时,默认选项将正常工作。
- 单击提要页面右上角的“Feed Settings”按钮。它显示为齿轮图标。
- 在提要设置中单击“Upstream sources”选项卡。
- 单击“Add Upstream”按钮。
- 在询问上游源类型时,选择“Public Source”。
- 在“Public Source”下拉菜单中,选择“Custom registry”。
- 在“Custom registry URL”字段中输入 JSR 注册表的 URL。JSR 注册表的 URL 为
https://npm.jsr.io
。 - 选择“npm”作为“Package type”。
- 输入“JSR”作为“Upstream source name”。
- 单击“Save”保存上游源。
- 在上游源列表中选择“JSR”上游源,然后按“Move up”按钮,直到它位于“npmjs”上游源之上。这将确保在公共 NPM 注册表之前检查 JSR。
- 单击上游源页面右上角的“Save”保存对上游源的更改。
将 JSR 配置为 Azure DevOps Artifacts 的上游后,您可以将 JSR 中的包添加到 Azure DevOps Artifacts 中的提要中。将包添加到提要后,提要的用户可以访问它。为此,请按照以下步骤操作:
- 转到 Azure DevOps 项目的“Artifacts”部分。
- 选择要添加包的提要。此提要必须将 JSR 配置为上游(见上文)。
- 在提要页面中单击“Search upstream sources”。
- 选择“npm”作为包类型。
- 输入要添加到提要的包的名称,格式为:
@jsr/scope__package
。例如,要添加@luca/cases
,请输入@jsr/luca__cases
。 - 单击“Search”。
- 选择要添加到提要的包和版本,然后从下拉菜单(包旁边的三个垂直点)中选择“Add to feed”。
将包添加到提要后,提要的用户将可以使用它。用户可以使用 npm install
命令安装包,并且包将从 JSR 获取。用户不必在他们的 .npmrc
文件中将 JSR 配置为上游,因为 JSR 包现在将从 Azure DevOps Artifacts 提要中获取。
将 JSR 作为上游与 Google Artifact Registry 配置
由于 JSR 和 Google Artifact Registry 对包 tarball URL 的布局不同,因此 JSR 目前还不能用作 Google Artifact Registry 的上游。
将 JSR 的包 tarball URL 与 NPM 上游对齐正在 issue #405 中跟踪。
配置 JFrog Artifactory 的 JSR 上游
由于 JSR 和 JFrog Artifactory 对包 tarball URL 的布局不同,因此 JSR 目前还不能用作 JFrog Artifactory 的上游。
将 JSR 的包 tarball URL 与 NPM 上游对齐正在 issue #405 中跟踪。