UNPKG

pk-template

Version:
101 lines 8.84 kB
"use strict"; 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 pkyaml = __importStar(require("../pk-yaml")); const chalk_1 = __importDefault(require("chalk")); const Diff = require("diff"); function printDiffPart(encolor, prefix, value, print, indent = '') { const lines = value.split('\n'); lines.pop(); // value: "line1\nline2\n" for (let i = 0; i < lines.length; ++i) { const line = lines[i]; const enabled = print == 'all' || ((print == 'both' || print == 'begin') && i < 2) || ((print == 'both' || print == 'end') && lines.length - 3 < i); if (enabled) { console.log(encolor(indent + prefix + line)); } else if (i == 2) { console.log(encolor(indent + ' |~~~~~~~~~~~~~~~~~~~~~~~~~~~')); } } } function diffObject(key, prev, curr, indent = '') { console.log(indent + '-', key + ':'); var diff = Diff.diffLines(prev, curr); for (let i = 0; i < diff.length; ++i) { const part = diff[i]; if (part.added) { printDiffPart(chalk_1.default.green, ' + ', part.value, 'all', indent); } else if (part.removed) { printDiffPart(chalk_1.default.red, ' - ', part.value, 'all', indent); } else { const print = i == 0 ? 'end' : (i == diff.length - 1 ? 'begin' : 'both'); printDiffPart(chalk_1.default.gray, ' | ', part.value, print, indent); } } } exports.diffObject = diffObject; function diffObjects(prev, curr, indent = '', header = '') { const keyMapreducer = (sum, o) => (Object.assign({}, sum, { [`${o.metadata.namespace || ''}/${o.metadata.name}/${o.apiVersion}/${o.kind}`]: o })); const nonPkzFilter = (o) => (o.kind !== 'ConfigMap' || o.metadata.namespace !== 'pk-deployments') && (o.kind !== 'Namespace' || o.metadata.name !== 'pk-deployments'); const prevmap = prev.filter(nonPkzFilter).reduce(keyMapreducer, {}); const currmap = curr.filter(nonPkzFilter).reduce(keyMapreducer, {}); let same = true; for (const key in prevmap) { if (key in currmap) { const prevYaml = pkyaml.dumpYamlSortedKey(prevmap[key]); const currYaml = pkyaml.dumpYamlSortedKey(currmap[key]); if (prevYaml !== currYaml) { if (header) { console.log(header); header = ''; } diffObject(key, prevYaml, currYaml, indent); same = false; } } else { if (header) { console.log(header); header = ''; } console.log(`${indent}*`, key + ':'); console.log(chalk_1.default.red(`${indent} - `, 'deleted')); //diffObject(key, pkyaml.dumpYamlSortedKey(prevmap[key]), ''); same = false; } } for (const key in currmap) { if (key in prevmap) { continue; } else { if (header) { console.log(header); header = ''; } console.log(`${indent}*`, key + ':'); console.log(chalk_1.default.green(`${indent} + `, 'created')); // diffObject(key, '', pkyaml.dumpYamlSortedKey(currmap[key])); same = false; } } return same; } exports.diffObjects = diffObjects; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi1vYmplY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BrLWRpZmYvZGlmZi1vYmplY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLG1EQUFxQztBQUNyQyxrREFBMEI7QUFDMUIsNkJBQThCO0FBRzlCLFNBQVMsYUFBYSxDQUFDLE9BQVksRUFBRSxNQUFjLEVBQUUsS0FBYSxFQUFFLEtBQWEsRUFBRSxTQUFpQixFQUFFO0lBQ3BHLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsMEJBQTBCO0lBRXZDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLE9BQU8sR0FBRyxLQUFLLElBQUksS0FBSztZQUM1QixDQUFDLENBQUMsS0FBSyxJQUFJLE1BQU0sSUFBSSxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoRCxDQUFDLENBQUMsS0FBSyxJQUFJLE1BQU0sSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEUsSUFBSSxPQUFPLEVBQUU7WUFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDOUM7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLGdDQUFnQyxDQUFDLENBQUMsQ0FBQztTQUNq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