UNPKG

@backstage/integration

Version:

Helpers for managing integrations towards external systems

42 lines (38 loc) 1.09 kB
'use strict'; var helpers = require('../helpers.cjs.js'); var config = require('./config.cjs.js'); class GitLabIntegration { constructor(integrationConfig) { this.integrationConfig = integrationConfig; } static factory = ({ config: config$1 }) => { const configs = config.readGitLabIntegrationConfigs( config$1.getOptionalConfigArray("integrations.gitlab") ?? [] ); return helpers.basicIntegrations( configs.map((c) => new GitLabIntegration(c)), (i) => i.config.host ); }; get type() { return "gitlab"; } get title() { return this.integrationConfig.host; } get config() { return this.integrationConfig; } resolveUrl(options) { return helpers.defaultScmResolveUrl(options); } resolveEditUrl(url) { return replaceGitLabUrlType(url, "edit"); } } function replaceGitLabUrlType(url, type) { return url.replace(/\/\-\/(blob|tree|edit)\//, `/-/${type}/`); } exports.GitLabIntegration = GitLabIntegration; exports.replaceGitLabUrlType = replaceGitLabUrlType; //# sourceMappingURL=GitLabIntegration.cjs.js.map