PR 预览包
预览包可以让你在 npm 正式发布前,测试 Egg Pull Request 中的修复或新功能。 使用应用当前的包管理器,通过 pkg.pr.new URL 即可安装。
预览包会过期
根据 StackBlitz 于 2025 年 6 月 4 日公布的保留策略,满足以下任一条件的包会被自动删除:
- 超过一个月没有下载。
- 包的存放时间超过六个月,无论期间是否有人下载。
固定 commit SHA URL 或锁文件不能阻止删除。预览包适合临时测试,长期依赖应使用 npm 发布版本。 如果预览包已过期,请维护者重新发布预览包,再更新 URL 和锁文件。
获取预览包
- 打开包含待测试改动的 Pull Request。
- 如果还没有预览包,请维护者添加
pkg.pr.new标签。 - 等待
Publish PR Preview执行成功,然后在pkg.pr.new机器人的评论中找到包的安装 URL。
保留标签期间,新提交会再次发布预览包。 在应用目录中执行安装命令,无需安装发布用的 CLI。
安装依赖
使用应用当前的包管理器,并将下面的 <ref> 替换为已发布预览包的 PR 编号或 commit SHA。
使用 npm:
npm install "https://pkg.pr.new/eggjs/egg/egg@<ref>"
npm install --save-dev "https://pkg.pr.new/eggjs/egg/@eggjs/mock@<ref>"使用 pnpm:
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。