UNPKG

pk-template

Version:
72 lines 6.83 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 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 = path_1.join(root, module_1.MODULE_DIR, name, 'commands'); if (fs_1.existsSync(mcd)) { const commands = 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(fs_1.readFileSync(path_1.join(dir, file), 'utf8'), file); return { command: `gen-${name}`, desc: bindOption_1.buildCommandDescription(pkt.header), builder: (yargs) => 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: 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); } } })); pk_writeutil_1.writeObject(patches); } }), !!argv.d); }) }; }; const mgd = path_1.join(root, module_1.MODULE_DIR, name, 'generators'); if (fs_1.existsSync(mgd)) { const pkts = 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BrL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsOENBQStDO0FBQy9DLCtCQUE0QjtBQUM1QiwyQkFBMkQ7QUFDM0Qsa0RBQThDO0FBQzlDLHVEQUFrRjtBQUlsRixTQUFnQixrQkFBa0IsQ0FBQyxLQUFVLEVBQUUsSUFBWSxFQUFFLElBQVksRUFBRSxFQUFrQjtJQUMzRixNQUFNLEdBQUcsR0FBRyxXQUFJLENBQUMsSUFBSSxFQUFFLG1CQUFVLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3JELElBQUksZUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ25CLE1BQU0sUUFBUSxHQUFHLGdCQUFXLENBQUMsR0FBRyxDQUFDO2FBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDcEMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUxQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3ZEO0FBQ0gsQ0FBQztBQVRELGdEQVNDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQUMsS0FBVSxFQUFFLElBQVksRUFBRSxJQUFZLEVBQUUsRUFBa0I7SUFFN0YsTUFBTSxZQUFZLEdBQUcsQ0FBQyxFQUFPLEVBQUUsR0FBVyxFQUFFLElBQVksRUFBRSxFQUFFO1FBQzFELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0MsTUFBTSxH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