Files
agent-skills/scripts/validate-versions.js
T

35 lines
919 B
JavaScript

#!/usr/bin/env node
"use strict";
const { readFileSync } = require("node:fs");
const manifestPaths = [
"plugin.json",
".codex-plugin/plugin.json",
".claude-plugin/plugin.json",
".claude-plugin/marketplace.json",
".agents/plugins/marketplace.json",
];
function readManifestVersion(manifestPath) {
const manifest = JSON.parse(readFileSync(manifestPath, "utf8"));
return manifest.version ?? manifest.plugins?.[0]?.version;
}
const expectedVersion = readManifestVersion("plugin.json");
if (!expectedVersion) {
throw new Error("plugin.json is missing a version field");
}
for (const manifestPath of manifestPaths) {
const version = readManifestVersion(manifestPath);
if (version !== expectedVersion) {
throw new Error(
`${manifestPath} has version ${version ?? "<missing>"}; expected ${expectedVersion}`,
);
}
}
console.log(`All plugin manifests use version ${expectedVersion}.`);