mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-27 21:07:01 -06:00
test(channels): align prerelease fallback catalog spec (#120092)
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
// Channel catalog contract tests cover bundled and registry-backed channel catalog invariants.
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import { isPrereleaseSemverVersion } from "../../../infra/npm-registry-spec.js";
|
||||
import {
|
||||
describeBundledMetadataOnlyChannelCatalogContract,
|
||||
describeChannelCatalogEntryContract,
|
||||
@@ -20,6 +23,22 @@ const whatsappMeta = {
|
||||
blurb: "works with your own number; recommend a separate phone + eSIM.",
|
||||
};
|
||||
|
||||
const whatsappPackageJson = JSON.parse(
|
||||
fs.readFileSync(path.join(process.cwd(), "extensions", "whatsapp", "package.json"), "utf8"),
|
||||
) as {
|
||||
name?: string;
|
||||
version?: string;
|
||||
openclaw?: { install?: { npmSpec?: string } };
|
||||
};
|
||||
const whatsappNpmSpec = whatsappPackageJson.openclaw?.install?.npmSpec ?? whatsappPackageJson.name;
|
||||
const whatsappVersion = whatsappPackageJson.version;
|
||||
if (!whatsappNpmSpec || !whatsappVersion) {
|
||||
throw new Error("missing package metadata for whatsapp");
|
||||
}
|
||||
const whatsappOfficialFallbackNpmSpec = isPrereleaseSemverVersion(whatsappVersion)
|
||||
? `${whatsappNpmSpec}@${whatsappVersion}`
|
||||
: whatsappNpmSpec;
|
||||
|
||||
describeBundledMetadataOnlyChannelCatalogContract({
|
||||
pluginId: "whatsapp",
|
||||
packageName: "@openclaw/whatsapp",
|
||||
@@ -30,7 +49,7 @@ describeBundledMetadataOnlyChannelCatalogContract({
|
||||
|
||||
describeOfficialFallbackChannelCatalogContract({
|
||||
channelId: "whatsapp",
|
||||
npmSpec: "@openclaw/whatsapp",
|
||||
npmSpec: whatsappOfficialFallbackNpmSpec,
|
||||
meta: whatsappMeta,
|
||||
packageName: "@openclaw/whatsapp",
|
||||
pluginId: "whatsapp",
|
||||
|
||||
Reference in New Issue
Block a user