hypit v0.2.16 修正 packages status 的包定位逻辑
hypit v0.2.16 修复了 hypit packages status <name>@<version> 的包查找方式:该命令现在会定位声明该 specifier 的 Distribution 包,再从那里调用一次 locateNodePackage,从而覆盖加载器实际查找的两个位置,而不是只读取机器包主目录。版本仍精确匹配并做两次校验。
这次版本的变化
hypit v0.2.16 调整了 hypit packages status <name>@<version> 的查找逻辑。此前该命令只读取机器包主目录,而加载器会在两处查找外部包:一是调用方之上的 node_modules 链,二是按调用方声明的版本定位到机器主目录。于是安装在第一处的包会被报告为未就绪,而紧随其后的 hypit doctor 却能从该位置加载 provider。
新版 status 会先定位声明该 specifier 的 Distribution 包,再从那里发起一次 locateNodePackage 调用,用一次调用覆盖上述两个位置,而不是在加载器之外另实现一套查找。版本仍是精确匹配并校验两次:只按请求的版本寻找调用方,随后再比对解析出的 manifest 版本。若没有任何包声明该 specifier,输出会直接说明这一原因,而不是仅给出未就绪。
原文给出的典型场景是 agent 容器:执行 npm i -g @hypit/hypit @hyperframes/engine 后两者位于同一全局 node_modules,Build 能解析到 engine 并正常工作,而 packages status 却报告其缺失。
升级与输出
根据原文,升级方式是安装 @hypit/hypit@0.2.16;已有视频项目和素材无需迁移。packages status 输出新增可选的 declaredBy、installedVersion 和 detail 字段,机器可读格式仍为 hypit.cli-package@1;packages install 未变。
验证情况
原文称,打包的 Distribution 曾在 checkout 之外安装,用于编译随附的项目组件、准备字体与受管理的浏览器、渲染并导出 MP4,最终完整输出可成功解码。status 的改动在一种容器式布局中测试:Distribution 及其依赖全局安装、机器包主目录为空。在该布局下,@hyperframes/engine@0.7.101 和 @hyperframes/producer@0.7.101 现在报告就绪,并给出声明它的包与解析出的安装路径,此前则为未就绪并退出码 1。未知版本和未知包仍以退出码 1 结束,并说明没有 Distribution 包声明它们。
来源与核对说明
- hypit-ai/hypit ↗https://github.com/hypit-ai/hypit/releases/tag/v0.2.16
本文经 AI 整理及独立自动校对,未做运行验证;自动校对仍可能遗漏问题,请以原始资料为准。
这篇内容对你有帮助吗?
点赞人数由服务器记录,收藏保存在当前浏览器。
继续阅读
MCP 参考服务发布 v2.0.0:TypeScript 服务重构并支持新规范 →