UNPKG

pk-template

Version:
68 lines 5.82 kB
"use strict"; 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()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const projectConf_1 = require("../../../pk-conf/projectConf"); const libs_1 = require("../../libs"); const uuid_1 = require("uuid"); const fs_1 = require("fs"); const pk_yaml_1 = require("../../../pk-yaml"); const customTags_1 = require("../../../pk-yaml/customTags"); exports.default = (pk) => ({ command: 'add <app-name>', desc: 'add a new app', builder: (yargs) => yargs, handler: (argv) => __awaiter(this, void 0, void 0, function* () { yield libs_1.atProjectDir((projectRoot, projectConf) => __awaiter(this, void 0, void 0, function* () { if (!argv.appName.match(/^[a-zA-Z0-9]+$/)) { throw new Error(`app name ${argv.appName} is invalid`); } const app = { id: uuid_1.v4(), name: argv.appName, }; projectConf.addApp(app); fs_1.existsSync(app.name) || fs_1.mkdirSync(app.name); const pkt = [ { ['/properties']: { env: null, cluster: null, namespace: null, deployment: null, }, ['/schema']: { title: `${argv.appName} in ${projectConf.data.project.name} project`, description: `describe app details here`, properties: { env: { type: 'string', description: 'pk environment name', }, cluster: { type: 'string', description: 'pk cluster name', }, namespace: { type: 'string', description: 'prefered namespace name', }, deployment: { type: 'object', description: 'pk deployment information', }, }, required: ['env', 'cluster', 'namespace'], } }, { apiVersion: 'v1', kind: 'Namespace', metadata: { name: new customTags_1.CustomYamlJsTag('namespace', ''), } }, { ['/comment']: '---' }, ]; yield libs_1.invokeModuleHooks(pk, projectConf, 'app.add', { projectConf, app, pkt }); const yaml = pk_yaml_1.dumpYamlAll(pkt); fs_1.writeFileSync(`${app.name}/app.pkt`, yaml, 'utf8'); projectConf_1.PkProjectConf.save(projectConf, '.'); })); }), }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9way9jb21tYW5kcy9hcHAvYWRkQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsOERBQTZEO0FBQzdELHFDQUE2RDtBQUM3RCwrQkFBa0M7QUFDbEMsMkJBQTBEO0FBQzFELDhDQUF5RDtBQUV6RCw0REFBOEQ7QUFFOUQsa0JBQWUsQ0FBQyxFQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsSUFBSSxFQUFFLGVBQWU7SUFDckIsT0FBTyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLO0lBQzlCLE9BQU8sRUFBRSxDQUFPLElBQVMsRUFBRSxFQUFFO1FBQzNCLE1BQU0sbUJBQVksQ0FBQyxDQUFPLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtnQkFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQyxPQUFPLGFBQWEsQ0FBQyxDQUFDO2FBQ3hEO1lBRUQsTUFBTSxHQUFHLEdBQUc7Z0JBQ1YsRUFBRSxFQUFFLFNBQUksRUFBRTtnQkFDVixJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU87YUFDbkIsQ0FBQztZQUVGLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEIsZUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxjQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTVDLE1BQU0sR0FBRyxHQUFHO2dCQUNWO29CQUNFLENBQUMsYUFBYSxDQUFDLEVBQUU7d0JBQ2YsR0FBRyxFQUFFLElBQUk7d0JBQ1QsT0FBTyxFQUFFLElBQUk7d0JBQ2IsU0FBUyxFQUFFLElBQUk7d0JBQ2YsVUFBVSxFQUFFLElBQUk7cUJBQ2pCO29CQUNELENBQUMsU0FBUyxDQUFDLEVBQUU7d0JBQ1gsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFVBQVU7d0JBQ3BFLFdBQVcsRUFBRSwyQkFBMkI7d0JBQ3hDLFVBQVUsRUFBRTs0QkFDVixHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsR0FBRzs0QkFDNUQsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEdBQUc7NEJBQzVELFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixHQUFHOzRCQUN0RSxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSwyQkFBMkIsR0FBRzt5QkFDMUU7d0JBQ0QsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUM7cUJBQzFDO2lCQUNGO2dCQUNEO29CQUNFLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsV0FBVztvQkFDakIsUUFBUSxFQUFFO3dCQUNSLElBQUksRUFBRSxJQUFJLDRCQUFlLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztxQkFDM0M7aUJBQ0Y7Z0JBQ0QsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRTthQUN4QixDQUFDO1lBRUYsTUFBTSx3QkFBaUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUUvRSxNQUFNLElBQUksR0FBRyxxQkFBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLGtCQUFhLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRW5ELDJCQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDIn0=