UNPKG

@backstage/integration

Version:

Helpers for managing integrations towards external systems

39 lines (36 loc) 1.05 kB
import { basicIntegrations, defaultScmResolveUrl } from '../helpers.esm.js'; import { readGitLabIntegrationConfigs } from './config.esm.js'; class GitLabIntegration { constructor(integrationConfig) { this.integrationConfig = integrationConfig; } static factory = ({ config }) => { const configs = readGitLabIntegrationConfigs( config.getOptionalConfigArray("integrations.gitlab") ?? [] ); return 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 defaultScmResolveUrl(options); } resolveEditUrl(url) { return replaceGitLabUrlType(url, "edit"); } } function replaceGitLabUrlType(url, type) { return url.replace(/\/\-\/(blob|tree|edit)\//, `/-/${type}/`); } export { GitLabIntegration, replaceGitLabUrlType }; //# sourceMappingURL=GitLabIntegration.esm.js.map