UNPKG

k8ts

Version:

Powerful framework for building Kubernetes manifests in TypeScript.

60 lines 2.31 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Runner = void 0; const instruments_1 = require("@k8ts/instruments"); const metadata_1 = require("@k8ts/metadata"); const chalk_1 = __importDefault(require("chalk")); const emittery_1 = __importDefault(require("emittery")); const stacktracey_1 = __importDefault(require("stacktracey")); const paths_1 = require("../paths"); const exporter_1 = require("./exporter"); const meta_1 = require("./exporter/meta"); const proverbs_1 = require("./silly/proverbs"); const summarizer_1 = require("./summarizer"); class Runner extends emittery_1.default { _options; constructor(_options) { super(); this._options = _options; } async run(input) { const gitInfo = await instruments_1.GitTrace.make({ cwd: this._options.cwd }); const runTrace = new instruments_1.Trace(new stacktracey_1.default().slice(1)); const options = { cwd: ".", ...this._options, meta: metadata_1.Meta.make(this._options.meta).add(meta_1.k8ts_namespace, { "^emitted-at": runTrace.format({ cwd: this._options.cwd }), "^source-git": gitInfo?.text }) }; const progressShower = new exporter_1.ProgressShower(options.progress); const assembler = new exporter_1.Assembler(options); assembler.onAny(async (name, data) => { await this.emit(name, data); }); const summarizer = new summarizer_1.Summarizer({ printOptions: this._options.printOptions }); const visualizer = progressShower.visualize(assembler); const result = await assembler.assemble(input); const viz = summarizer.result(result); await visualizer; console.log(); console.log(viz); try { const proverbs = await proverbs_1.Proverbs.make(paths_1.proverbsPath); console.log(chalk_1.default.italic.magentaBright(proverbs.random)); } catch { } } } exports.Runner = Runner; //# sourceMappingURL=runner.js.map