UNPKG

kui-shell

Version:

This is the monorepo for Kui, the hybrid command-line/GUI electron-based Kubernetes tool

53 lines 2.58 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 }); const debug_1 = require("debug"); const debug = debug_1.default('plugins/tekton/preload'); debug('loading'); const path_1 = require("path"); const registrars_1 = require("@kui-shell/core/api/registrars"); const util_1 = require("@kui-shell/core/api/util"); const capabilities_1 = require("@kui-shell/core/api/capabilities"); const resource_1 = require("./model/resource"); function either(...filters) { return (resource) => filters.some(filter => filter(resource)); } function registerModes() { return __awaiter(this, void 0, void 0, function* () { const [flowMode, traceMode, logsMode] = yield Promise.all([ Promise.resolve().then(() => require('./model/modes/flow')), Promise.resolve().then(() => require('./model/modes/trace')), Promise.resolve().then(() => require('./model/modes/logs')) ]); const flowSpec = { mode: flowMode.default, when: either(resource_1.isPipeline, resource_1.isPipelineRun, resource_1.isTask) }; const traceSpec = { mode: traceMode.default, when: resource_1.isPipelineRun }; const logsSpec = { mode: logsMode.default, when: resource_1.isPipelineRun }; return Promise.all([registrars_1.registerMode(flowSpec), registrars_1.registerMode(traceSpec), registrars_1.registerMode(logsSpec)]); }); } exports.default = () => { const specialPath = path_1.join(path_1.dirname(require.resolve('@kui-shell/plugin-tekton/package.json')), 'samples/@demos'); util_1.default.augmentModuleLoadPath(specialPath, { prefix: '@demos/tekton', command: 'tekton flow' }); if (!capabilities_1.isHeadless()) { return registerModes(); } }; debug('finished loading'); //# sourceMappingURL=preload.js.map