UNPKG

@pubgcorp/pk-template

Version:
74 lines 7.12 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 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) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.loadModuleGenerators = exports.loadModuleCommands = void 0; const module_1 = require("../pk-conf/module"); const path_1 = require("path"); const fs_1 = require("fs"); const pk_writeutil_1 = require("../pk-writeutil"); const bindOption_1 = require("../pk-yargs/bindOption"); function loadModuleCommands(yargs, root, name, pk) { const mcd = (0, path_1.join)(root, module_1.MODULE_DIR, name, 'commands'); if ((0, fs_1.existsSync)(mcd)) { const commands = (0, fs_1.readdirSync)(mcd) .filter(file => file.endsWith('.js')) .map(file => require(`${mcd}/${file}`)); commands.forEach(cmdgen => yargs.command(cmdgen(pk))); } } exports.loadModuleCommands = loadModuleCommands; function loadModuleGenerators(yargs, root, name, pk) { const buildCommand = (pk, dir, file) => { const name = file.substr(0, file.length - 4); const pkt = pk.compilePkt((0, fs_1.readFileSync)((0, path_1.join)(dir, file), 'utf8'), file); return { command: `gen-${name}`, desc: (0, bindOption_1.buildCommandDescription)(pkt.header), builder: (yargs) => (0, bindOption_1.bindYargsOption)(yargs, pkt.header) .options('dry', { description: 'dry run this command' }), handler: (argv) => __awaiter(this, void 0, void 0, function* () { yield pk.tryCatch(() => __awaiter(this, void 0, void 0, function* () { const result = pk.generate({ file: (0, path_1.join)(dir, file), values: argv, }); if (argv.dry) { console.log(pk.yaml.dumpYamlAll(result)); } else { const patches = result.map((o) => ({ type: 'yamlAll', file: 'app.pkt', func: (obj) => { const idx = obj.findIndex((r) => r['/comment'] == '---'); if (idx == -1) { obj.push(o); } else { obj.splice(idx, 0, o); } } })); (0, pk_writeutil_1.writeObject)(patches); } }), !!argv.d); }) }; }; const mgd = (0, path_1.join)(root, module_1.MODULE_DIR, name, 'generators'); if ((0, fs_1.existsSync)(mgd)) { const pkts = (0, fs_1.readdirSync)(mgd) .filter(file => file.endsWith('.pkt')); pkts.forEach(fn => yargs.command(buildCommand(pk, mgd, fn))); } } exports.loadModuleGenerators = loadModuleGenerators; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BrL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBK0M7QUFDL0MsK0JBQTRCO0FBQzVCLDJCQUEyRDtBQUMzRCxrREFBOEM7QUFDOUMsdURBQWtGO0FBSWxGLFNBQWdCLGtCQUFrQixDQUFDLEtBQVUsRUFBRSxJQUFZLEVBQUUsSUFBWSxFQUFFLEVBQWtCO0lBQzNGLE1BQU0sR0FBRyxHQUFHLElBQUEsV0FBSSxFQUFDLElBQUksRUFBRSxtQkFBVSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNyRCxJQUFJLElBQUEsZUFBVSxFQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUEsZ0JBQVcsRUFBQyxHQUFHLENBQUM7YUFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDdkQ7QUFDSCxDQUFDO0FBVEQsZ0RBU0M7QUFFRCxTQUFnQixvQkFBb0IsQ0FBQyxLQUFVLEVBQUUsSUFBWSxFQUFFLElBQVksRUFBRSxFQUFrQjtJQUU3RixNQUFNLFlBQVksR0FBRyxDQUFDLEVBQU8sRUFBRSxHQUFXLEVBQUUsSUFBWSxFQUFFLEVBQUU7UUFDMUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMs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