feat: validate manifest version during pack command
Add validation to ensure the manifest_version matches the current expected version (0.2) during the mcpb pack command. This prevents users from packing extensions with outdated or incorrect manifest versions. Changes: - Add CURRENT_MANIFEST_VERSION constant to centralize version management - Validate manifest version in pack command before creating bundle - Update init command to use version constant - Update tests to use version constant - Fix prettier formatting issues
This commit is contained in:
parent
2825da1d6a
commit
f92fe4ab69
1 changed files with 70 additions and 47 deletions
|
|
@ -13,7 +13,7 @@ import { basename, join, relative, resolve, sep } from "path";
|
|||
|
||||
import { getAllFilesWithCount, readMcpbIgnorePatterns } from "../node/files.js";
|
||||
import { validateManifest } from "../node/validate.js";
|
||||
import { McpbManifestSchema } from "../schemas.js";
|
||||
import { CURRENT_MANIFEST_VERSION, McpbManifestSchema } from "../schemas.js";
|
||||
import { getLogger } from "../shared/log.js";
|
||||
import { initExtension } from "./init.js";
|
||||
|
||||
|
|
@ -101,6 +101,17 @@ export async function packExtension({
|
|||
return false;
|
||||
}
|
||||
|
||||
const manifestVersion = manifest.manifest_version || manifest.dxt_version;
|
||||
if (manifestVersion !== CURRENT_MANIFEST_VERSION) {
|
||||
logger.error(
|
||||
`ERROR: Manifest version mismatch. Expected "${CURRENT_MANIFEST_VERSION}", found "${manifestVersion}"`,
|
||||
);
|
||||
logger.error(
|
||||
` Please update the manifest_version in your manifest.json to "${CURRENT_MANIFEST_VERSION}"`,
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Determine output path
|
||||
const extensionName = basename(resolvedPath);
|
||||
const finalOutputPath = outputPath
|
||||
|
|
|
|||
Loading…
Reference in a new issue