24 lines
750 B
JavaScript
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.");
|
|
}
|