UNPKG

@codefresh-io/cf-git-providers

Version:

An NPM module/CLI for interacting with various git providers

53 lines 2.4 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getProviderByContext = void 0; const lodash_1 = require("lodash"); // Providers const github_1 = __importDefault(require("./providers/github")); const gitlab_1 = __importDefault(require("./providers/gitlab")); const bitbucket_1 = __importDefault(require("./providers/bitbucket")); const bitbucket_server_1 = __importDefault(require("./providers/bitbucket-server")); const gerrit_1 = __importDefault(require("./providers/gerrit")); // eslint-disable-next-line @typescript-eslint/no-var-requires const CFError = require('cf-errors'); const providers = { 'github': github_1.default, 'gitlab': gitlab_1.default, 'bitbucket': bitbucket_1.default, 'bitbucket-server': bitbucket_server_1.default, 'gerrit': gerrit_1.default }; const _getProviderModule = (providerName) => { const providerModule = providers[providerName]; if (!providerModule) { throw new CFError(`Provider module cannot be found: ${providerName}`); } return providerModule; }; function getProviderByContext(gitContext, opt) { const providerName = gitContext.spec.type.replace('git.', ''); const providerOptions = (0, lodash_1.get)(gitContext, 'spec.data.auth', {}); (0, lodash_1.assign)(providerOptions, opt); // add additional options const ProviderClass = _getProviderModule(providerName); return new ProviderClass(providerOptions); } exports.getProviderByContext = getProviderByContext; __exportStar(require("./providers/types"), exports); //# sourceMappingURL=index.js.map