@vortex.so/cli
Version:
CLI to interact with Vortex.
38 lines (32 loc) • 1.09 kB
JavaScript
;
const node_fs = require('node:fs');
const z = require('@neon.id/z');
const c = require('chalk');
const yaml = require('js-yaml');
const manifest_schemas = require('./manifest.schemas.cjs');
const index = require('../../utils/log/index.cjs');
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
const c__default = /*#__PURE__*/_interopDefaultCompat(c);
const yaml__default = /*#__PURE__*/_interopDefaultCompat(yaml);
const log = new index.Log("Manifest");
class Manifest {
static get() {
const manifest = yaml__default.load(
node_fs.readFileSync("vortex.yaml", "utf-8")
);
return manifest;
}
static validate(manifest) {
const validation = z.z.validate(manifest_schemas.ManifestSchema, manifest, {
wrap: (label) => c__default.bold(label)
});
if (validation.status === "success") {
return validation.data;
} else {
Object.values(validation.messages).flat().forEach((message) => {
log.fail(message);
});
}
}
}
exports.Manifest = Manifest;