Skip to content

PR 预览包 ​

预览包可以让你在 npm 正式发布前,测试 Egg Pull Request 中的修复或新功能。 使用应用当前的包管理器,通过 pkg.pr.new URL 即可安装。

预览包会过期

根据 StackBlitz 于 2025 年 6 月 4 日公布的保留策略,满足以下任一条件的包会被自动删除:

  • 超过一个月没有下载。
  • 包的存放时间超过六个月,无论期间是否有人下载。

固定 commit SHA URL 或锁文件不能阻止删除。预览包适合临时测试,长期依赖应使用 npm 发布版本。 如果预览包已过期,请维护者重新发布预览包,再更新 URL 和锁文件。

获取预览包 ​

  1. 打开包含待测试改动的 Pull Request。
  2. 如果还没有预览包,请维护者添加 pkg.pr.new 标签。
  3. 等待 Publish PR Preview 执行成功,然后在 pkg.pr.new 机器人的评论中找到包的安装 URL。

保留标签期间,新提交会再次发布预览包。 在应用目录中执行安装命令,无需安装发布用的 CLI。

安装依赖 ​

使用应用当前的包管理器,并将下面的 <ref> 替换为已发布预览包的 PR 编号或 commit SHA。

使用 npm:

bash
npm install "https://pkg.pr.new/eggjs/egg/egg@<ref>"
npm install --save-dev "https://pkg.pr.new/eggjs/egg/@eggjs/mock@<ref>"

使用 pnpm:

bash
pnpm add "https://pkg.pr.new/eggjs/egg/egg@<ref>"
pnpm add --save-dev "https://pkg.pr.new/eggjs/egg/@eggjs/mock@<ref>"

按需安装包,运行时依赖放在 dependencies,测试工具放在 devDependencies。 包名和导入方式保持不变,依赖声明会改为预览 URL。 安装后运行应用的测试。

选择 PR 或提交 ​

  • PR 编号 URL 指向该 PR 最近一次成功发布的预览包。
  • commit SHA URL 指向指定的已发布提交。需要复现测试时,可从工作流的 Publish previews 日志复制该 URL。

锁文件可能保留 PR 编号 URL 之前解析到的包。测试新提交时,请安装对应的 SHA URL 并更新锁文件。 共享测试环境时,应同时保留依赖声明和锁文件。 在 Pull Request 中反馈测试结果时,请附上 commit SHA。

预览包保留源码中的版本号,因此应通过 URL 和 commit SHA 确认实际测试的构建。 更多细节见 pkg.pr.new URL 和版本选项。

使用关联包 ​

如需使用 @eggjs/bin、@eggjs/tegg 等其他包,请复制同一次发布中对应包的 URL。 已发布工作区包之间的运行时依赖会自动指向同一个提交的预览包。 应用中其他直接依赖的声明不会自动改变,需要使用预览版时应一并更新。

恢复常规版本 ​

测试完成后,将依赖声明和锁文件中的相关记录恢复到安装预览包之前的状态。 执行应用常用的依赖安装命令,并检查两个文件中已移除本次添加的预览 URL。

Born to build better enterprise frameworks and apps