跳至主要内容

查看目录

私有注册表

私有注册表通常在公司内部使用,以控制对包的访问,例如确保仅使用经过批准的包。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 的新上游源。您可以按照以下步骤操作:

  1. 转到 Azure DevOps 项目的“Artifacts”部分。
  2. 创建一个新的提要或选择一个现有的提要。创建新的提要时,默认选项将正常工作。
  3. 单击提要页面右上角的“Feed Settings”按钮。它显示为齿轮图标。
  4. 在提要设置中单击“Upstream sources”选项卡。
  5. 单击“Add Upstream”按钮。
  6. 在询问上游源类型时,选择“Public Source”。
  7. 在“Public Source”下拉菜单中,选择“Custom registry”。
  8. 在“Custom registry URL”字段中输入 JSR 注册表的 URL。JSR 注册表的 URL 为 https://npm.jsr.io
  9. 选择“npm”作为“Package type”。
  10. 输入“JSR”作为“Upstream source name”。
  11. 单击“Save”保存上游源。
  12. 在上游源列表中选择“JSR”上游源,然后按“Move up”按钮,直到它位于“npmjs”上游源之上。这将确保在公共 NPM 注册表之前检查 JSR。
  13. 单击上游源页面右上角的“Save”保存对上游源的更改。

将 JSR 配置为 Azure DevOps Artifacts 的上游后,您可以将 JSR 中的包添加到 Azure DevOps Artifacts 中的提要中。将包添加到提要后,提要的用户可以访问它。为此,请按照以下步骤操作:

  1. 转到 Azure DevOps 项目的“Artifacts”部分。
  2. 选择要添加包的提要。此提要必须将 JSR 配置为上游(见上文)。
  3. 在提要页面中单击“Search upstream sources”。
  4. 选择“npm”作为包类型。
  5. 输入要添加到提要的包的名称,格式为:@jsr/scope__package。例如,要添加 @luca/cases,请输入 @jsr/luca__cases
  6. 单击“Search”。
  7. 选择要添加到提要的包和版本,然后从下拉菜单(包旁边的三个垂直点)中选择“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 中跟踪。

在 GitHub 上编辑此页面