soc2-cockpit/server/scripts/validate-registry.mjs

24 lines
750 B
JavaScript

import fs from "node:fs/promises";
import { registryPath } from "../config.js";
import { normalizeDb, validateRegistry } from "../../src/lib/validation.js";
const raw = await fs.readFile(registryPath, "utf-8");
const registry = normalizeDb(JSON.parse(raw));
const validation = validateRegistry(registry);
if (validation.warnings.length) {
console.warn("Registry warnings:");
validation.warnings.forEach((warning) => console.warn(`- ${warning}`));
}
if (!validation.isValid) {
console.error("Registry validation failed:");
validation.errors.forEach((error) => console.error(`- ${error}`));
process.exit(1);
}
if (!validation.warnings.length) {
console.log("Registry valid.");
} else {
console.log("Registry valid with warnings.");
}