775d8912889a7805ea2f1ffc1e968aff83553059
Trove Curios
第一方 Curio 与官方软件源仓库。目前包含一套用于验证 Trove 底座的测试插件,尚无正式发布的产品插件。测试源与 source/index.json 官方源分开,打包不会修改官方源。
底座测试套件
15 个插件工程(14 个插件 ID,其中升级插件有两个版本),覆盖 UI、Host 服务、Rust 原生后端、跨插件服务、可选/必需依赖、版本约束、生命周期、故障恢复和升级回滚。另有 22 个故意无效的安装包和 4 个异常软件源。
pnpm install --frozen-lockfile
# 已安装 trove 命令时可省略此变量;也可指向本机 app 仓库构建产物。
export TROVE_BIN=/absolute/path/to/app/target/debug/trove
pnpm run pack
# 可选:使用真实底座组件在临时目录自动验证。
export TROVE_APP_DIR=/absolute/path/to/app
pnpm run verify
打包需要 macOS、Rust/Cargo、Node.js 22+、pnpm、Python 3 和 Trove CLI。原生包只面向当前构建机器的架构;安装后的插件无需 Node.js、Python 或 Cargo。SDK 使用仓库内的版本化 @trove/plugin-sdk@0.1.0 包,离线复制到 UI 中。
生成结果:
dist/packages/:15 个可安装.curio包。dist/index.json:常规测试源,8 个插件 ID / 9 个版本包。dist/faults-index.json:6 个故障/异常依赖插件,按需安装。dist/invalid/:22 个无效包、4 个异常源及预期错误码。dist/verification.json:自动验证的逐项结果、环境和观察项。
在 Trove 添加本地软件源,选择 dist/index.json 的绝对路径,即可安装常规测试插件。若要测试 HTTP 下载:
pnpm run serve
# 在底座添加 HTTP 软件源:http://127.0.0.1:8765/index.json
# 用 QA_HTTP_PORT 环境变量更换端口,Ctrl-C 停止。
完整步骤、覆盖矩阵与当前限制见 TESTING.md。
目录
curios/<name>/:各插件独立 Manifest 与公共服务契约。shared/ui/、shared/backend/:测试面板和原生后端源码;构建时复制到各插件。source/index.json:官方源的初始空索引。tools/:构建、打包、测试源和真实底座验证适配器。vendor/:版本化 SDK 分发包与来源说明。
项目依赖使用 pnpm;插件通过版本化的 @trove/plugin-sdk 引用 SDK,不通过 ../app 引用源文件。仅自动验证适配器通过显式的 TROVE_APP_DIR 编译待测底座组件,插件构建与运行不依赖该路径。App 仓库保留协议规范和教学模板。
发布约定
- 各插件独立声明版本、平台、依赖与权限。
- 构建并执行 trove curio check / pack。macOS 原生后端使用 Mac Runner 构建。
- 先上传不可变的版本包,再更新索引中的下载 URL、大小和 SHA-256。
- 最后原子发布 index.json。私有 Git 仓库不等于私有下载源;下载地址应符合分发对象的访问权限。
Languages
JavaScript
100%