UNPKG

@vortex.so/cli

Version:

CLI to interact with Vortex.

38 lines (32 loc) 1.09 kB
'use strict'; 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;