Files
quixos-protocol/src/descriptor-check.ts
T
2026-07-12 12:55:03 -07:00

32 lines
793 B
JavaScript

#!/usr/bin/env node
import fs from "node:fs";
import {
packageDescriptorToJson,
parsePackageDescriptorTextproto,
validatePackageDescriptor,
} from "./descriptor.js";
const usage = (): never => {
console.error("Usage: quixos-descriptor-check <descriptor.txtpb>");
process.exit(1);
};
const path = process.argv[2] ?? usage();
try {
const descriptor = parsePackageDescriptorTextproto(
fs.readFileSync(path, "utf8"),
);
const errors = validatePackageDescriptor(descriptor);
if (errors.length > 0) {
for (const error of errors) {
console.error(error);
}
process.exit(1);
}
process.stdout.write(`${packageDescriptorToJson(descriptor)}\n`);
} catch (error) {
console.error(error instanceof Error ? error.message : String(error));
process.exit(1);
}