pk-template
Version:
p template engine for kubernetes
86 lines • 7.24 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const projectConf_1 = require("../pk-conf/projectConf");
const libs = __importStar(require("./libs"));
const lazy = __importStar(require("../lazy"));
const pkt_1 = require("../pkt/pkt");
const yaml = __importStar(require("../pk-yaml"));
const cmdui = __importStar(require("../pk-ui/cmdui"));
const json_patch_1 = __importDefault(require("json-patch"));
const module_1 = require("./module");
const conf_1 = require("../pk-conf/conf");
const os_1 = require("os");
const languageSpec_1 = require("../pk-template/languageSpec");
function main(argv) {
return __awaiter(this, void 0, void 0, function* () {
const conf = conf_1.PkConf.load();
const { projectRoot, projectConf } = projectConf_1.PkProjectConf.find();
const version = lazy.getVersion();
const yargs = require('yargs')(argv)
.scriptName("pk");
const pk = Object.assign({}, libs, lazy, { ui: cmdui, projectRoot, projectConf, generate: pkt_1.generate, yaml, jsonpatch: json_patch_1.default, compilePkt: languageSpec_1.compilePkt, version });
if (projectConf && projectRoot) {
yargs
.command(require('./commands/app').default(pk))
.command(require('./commands/env').default(pk))
.command(require('./commands/deployment').default(pk));
if (projectConf.data.modules) {
for (const mod of projectConf.data.modules) {
yargs.command({
command: `${mod.name} <command>`,
description: `module ${mod.name} command`,
builder: (yargs) => {
module_1.loadModuleCommands(yargs, projectRoot, mod.name, pk);
module_1.loadModuleGenerators(yargs, projectRoot, mod.name, pk);
}
});
}
}
}
else {
yargs
.command(require('./commands/init').default(pk));
}
if (conf && conf.data && conf.data.modules) {
for (const mod of conf.data.modules) {
yargs.command({
command: `${mod.name} <command>`,
description: `module ${mod.name} command`,
builder: (yargs) => {
module_1.loadModuleCommands(yargs, os_1.homedir(), mod.name, pk);
module_1.loadModuleGenerators(yargs, os_1.homedir(), mod.name, pk);
}
});
}
}
yargs
.command(require('./commands/module').default(pk))
.command(require('./commands/config').default(pk))
.option('d', { description: 'enable stacktrace on error', boolean: true })
.recommendCommands()
.demandCommand()
.strict()
.help('h')
.argv;
});
}
main(process.argv.slice(2));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGsvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3REFBdUQ7QUFDdkQsNkNBQStCO0FBQy9CLDhDQUFnQztBQUNoQyxvQ0FBc0M7QUFDdEMsaURBQW1DO0FBQ25DLHNEQUF3QztBQUN4Qyw0REFBbUM7QUFDbkMscUNBQW9FO0FBQ3BFLDBDQUF5QztBQUN6QywyQkFBNkI7QUFDN0IsOERBQXlEO0FBSXpELFNBQWUsSUFBSSxDQUFDLElBQWM7O1FBQ2hDLE1BQU0sSUFBSSxHQUFHLGFBQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxHQUFHLDJCQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDakMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRW5CLE1BQU0sRUFBRSxxQkFDSCxJQUFJLEVBQUssSUFBSSxJQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQVIsY0FBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQVQsb0JBQVMsRUFBRSxVQUFVLEVBQVYseUJBQVUsRUFBRSxPQUFPLEdBQ3RHLENBQUM7UUFDRixJQUFJLFdBQVcsSUFBSSxXQUFXLEVBQUU7WUFDOUIsS0FBSztpQkFDRixPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUM5QyxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUM5QyxPQUFPLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ3JEO1lBRUgsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDNUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQzt3QkFDWixPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxZQUFZO3dCQUNoQyxXQUFXLEVBQUUsVUFBVSxHQUFHLENBQUMsSUFBSSxVQUFVO3dCQUN6QyxPQUFPLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTs0QkFDdEIsMkJBQWtCLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDOzRCQUNyRCw2QkFBb0IsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7d0JBQ3pELENBQUM7cUJBQ0YsQ0FBQyxDQUFDO2lCQUNKO2FBQ0Y7U0FFRjthQUFNO1lBQ0wsS0FBSztpQkFDRixPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzFDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ25DLEtBQUssQ0FBQyxPQUFPLENBQUM7b0JBQ1osT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksWUFBWTtvQkFDaEMsV0FBVyxFQUFFLFVBQVUsR0FBRyxDQUFDLElBQUksVUFBVTtvQkFDekMsT0FBTyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7d0JBQ3RCLDJCQUFrQixDQUFDLEtBQUssRUFBRSxZQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUNuRCw2QkFBb0IsQ0FBQyxLQUFLLEVBQUUsWUFBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDdkQsQ0FBQztpQkFDRixDQUFDLENBQUM7YUFDSjtTQUNGO1FBRUQsS0FBSzthQUNGLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDakQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNqRCxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUN6RSxpQkFBaUIsRUFBRTthQUNuQixhQUFhLEVBQUU7YUFDZixNQUFNLEVBQUU7YUFDUixJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ1QsSUFBSSxDQUNKO0lBQ0wsQ0FBQztDQUFBO0FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMifQ==