@backstage/integration 1.6.0 → 1.7.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/config.d.ts +30 -0
- package/dist/index.cjs.js +306 -57
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +525 -433
- package/dist/index.esm.js +307 -59
- package/dist/index.esm.js.map +1 -1
- package/package.json +3 -3
package/dist/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import parseGitUrl from 'git-url-parse';
|
|
2
2
|
import { trimEnd, trimStart } from 'lodash';
|
|
3
|
-
import { ClientSecretCredential,
|
|
3
|
+
import { ManagedIdentityCredential, ClientSecretCredential, DefaultAzureCredential } from '@azure/identity';
|
|
4
4
|
import fetch from 'cross-fetch';
|
|
5
5
|
import { createAppAuth } from '@octokit/auth-app';
|
|
6
6
|
import { Octokit } from '@octokit/rest';
|
|
@@ -112,10 +112,10 @@ function readAwsS3IntegrationConfigs(configs) {
|
|
|
112
112
|
return result;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
var __defProp$
|
|
116
|
-
var __defNormalProp$
|
|
117
|
-
var __publicField$
|
|
118
|
-
__defNormalProp$
|
|
115
|
+
var __defProp$d = Object.defineProperty;
|
|
116
|
+
var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
117
|
+
var __publicField$d = (obj, key, value) => {
|
|
118
|
+
__defNormalProp$d(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
119
119
|
return value;
|
|
120
120
|
};
|
|
121
121
|
const _AwsS3Integration = class _AwsS3Integration {
|
|
@@ -139,7 +139,7 @@ const _AwsS3Integration = class _AwsS3Integration {
|
|
|
139
139
|
return url;
|
|
140
140
|
}
|
|
141
141
|
};
|
|
142
|
-
__publicField$
|
|
142
|
+
__publicField$d(_AwsS3Integration, "factory", ({ config }) => {
|
|
143
143
|
var _a;
|
|
144
144
|
const configs = readAwsS3IntegrationConfigs(
|
|
145
145
|
(_a = config.getOptionalConfigArray("integrations.awsS3")) != null ? _a : []
|
|
@@ -341,43 +341,146 @@ _baseUrl = new WeakMap();
|
|
|
341
341
|
let AzureUrl = _AzureUrl;
|
|
342
342
|
|
|
343
343
|
const AZURE_HOST = "dev.azure.com";
|
|
344
|
-
const
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
344
|
+
const AzureDevOpsCredentialFields = [
|
|
345
|
+
"clientId",
|
|
346
|
+
"clientSecret",
|
|
347
|
+
"tenantId",
|
|
348
|
+
"personalAccessToken"
|
|
349
|
+
];
|
|
350
|
+
const AzureDevopsCredentialFieldMap = /* @__PURE__ */ new Map([
|
|
351
|
+
["ClientSecret", ["clientId", "clientSecret", "tenantId"]],
|
|
352
|
+
["ManagedIdentity", ["clientId"]],
|
|
353
|
+
["PersonalAccessToken", ["personalAccessToken"]]
|
|
354
|
+
]);
|
|
355
|
+
function asAzureDevOpsCredential(credential) {
|
|
356
|
+
for (const entry of AzureDevopsCredentialFieldMap.entries()) {
|
|
357
|
+
const [kind, requiredFields] = entry;
|
|
358
|
+
const forbiddenFields = AzureDevOpsCredentialFields.filter(
|
|
359
|
+
(field) => !requiredFields.includes(field)
|
|
360
|
+
);
|
|
361
|
+
if (requiredFields.every((field) => credential[field] !== void 0) && forbiddenFields.every((field) => credential[field] === void 0)) {
|
|
362
|
+
return {
|
|
363
|
+
kind,
|
|
364
|
+
organizations: credential.organizations,
|
|
365
|
+
...requiredFields.reduce((acc, field) => {
|
|
366
|
+
acc[field] = credential[field];
|
|
367
|
+
return acc;
|
|
368
|
+
}, {})
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
throw new Error("is not a valid credential");
|
|
373
|
+
}
|
|
351
374
|
function readAzureIntegrationConfig(config) {
|
|
352
|
-
var _a;
|
|
375
|
+
var _a, _b, _c, _d;
|
|
353
376
|
const host = (_a = config.getOptionalString("host")) != null ? _a : AZURE_HOST;
|
|
377
|
+
let credentialConfigs = (_b = config.getOptionalConfigArray("credentials")) == null ? void 0 : _b.map((credential) => {
|
|
378
|
+
const result = {
|
|
379
|
+
organizations: credential.getOptionalStringArray("organizations"),
|
|
380
|
+
personalAccessToken: credential.getOptionalString(
|
|
381
|
+
"personalAccessToken"
|
|
382
|
+
),
|
|
383
|
+
tenantId: credential.getOptionalString("tenantId"),
|
|
384
|
+
clientId: credential.getOptionalString("clientId"),
|
|
385
|
+
clientSecret: credential.getOptionalString("clientSecret")
|
|
386
|
+
};
|
|
387
|
+
return result;
|
|
388
|
+
});
|
|
354
389
|
const token = config.getOptionalString("token");
|
|
355
|
-
|
|
356
|
-
tenantId: config.getOptionalString("credential.tenantId"),
|
|
357
|
-
clientId: config.getOptionalString("credential.clientId"),
|
|
358
|
-
clientSecret: config.getOptionalString("credential.clientSecret")
|
|
359
|
-
} : void 0;
|
|
360
|
-
if (!isValidHost(host)) {
|
|
390
|
+
if (config.getOptional("credential") !== void 0 && config.getOptional("credentials") !== void 0) {
|
|
361
391
|
throw new Error(
|
|
362
|
-
`Invalid Azure integration config, '
|
|
392
|
+
`Invalid Azure integration config, 'credential' and 'credentials' cannot be used together. Use 'credentials' instead.`
|
|
363
393
|
);
|
|
364
394
|
}
|
|
365
|
-
if (
|
|
395
|
+
if (config.getOptional("token") !== void 0 && config.getOptional("credentials") !== void 0) {
|
|
366
396
|
throw new Error(
|
|
367
|
-
`Invalid Azure integration config,
|
|
397
|
+
`Invalid Azure integration config, 'token' and 'credentials' cannot be used together. Use 'credentials' instead.`
|
|
368
398
|
);
|
|
369
399
|
}
|
|
370
|
-
if (
|
|
400
|
+
if (token !== void 0) {
|
|
401
|
+
const mapped = [{ personalAccessToken: token }];
|
|
402
|
+
credentialConfigs = (_c = credentialConfigs == null ? void 0 : credentialConfigs.concat(mapped)) != null ? _c : mapped;
|
|
403
|
+
}
|
|
404
|
+
if (config.getOptional("credential") !== void 0) {
|
|
405
|
+
const mapped = [
|
|
406
|
+
{
|
|
407
|
+
organizations: config.getOptionalStringArray(
|
|
408
|
+
"credential.organizations"
|
|
409
|
+
),
|
|
410
|
+
token: config.getOptionalString("credential.token"),
|
|
411
|
+
tenantId: config.getOptionalString("credential.tenantId"),
|
|
412
|
+
clientId: config.getOptionalString("credential.clientId"),
|
|
413
|
+
clientSecret: config.getOptionalString("credential.clientSecret")
|
|
414
|
+
}
|
|
415
|
+
];
|
|
416
|
+
credentialConfigs = (_d = credentialConfigs == null ? void 0 : credentialConfigs.concat(mapped)) != null ? _d : mapped;
|
|
417
|
+
}
|
|
418
|
+
if (!isValidHost(host)) {
|
|
371
419
|
throw new Error(
|
|
372
|
-
`Invalid Azure integration config,
|
|
420
|
+
`Invalid Azure integration config, '${host}' is not a valid host`
|
|
373
421
|
);
|
|
374
422
|
}
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
423
|
+
let credentials = void 0;
|
|
424
|
+
if (credentialConfigs !== void 0) {
|
|
425
|
+
const errors = credentialConfigs == null ? void 0 : credentialConfigs.reduce((acc, credentialConfig, index) => {
|
|
426
|
+
let error = void 0;
|
|
427
|
+
try {
|
|
428
|
+
asAzureDevOpsCredential(credentialConfig);
|
|
429
|
+
} catch (e) {
|
|
430
|
+
error = e.message;
|
|
431
|
+
}
|
|
432
|
+
if (error !== void 0) {
|
|
433
|
+
acc.push(`credential at position ${index + 1} ${error}`);
|
|
434
|
+
}
|
|
435
|
+
return acc;
|
|
436
|
+
}, Array.of()).concat(
|
|
437
|
+
Object.entries(
|
|
438
|
+
credentialConfigs.filter(
|
|
439
|
+
(credential) => credential.organizations !== void 0 && credential.organizations.length > 0
|
|
440
|
+
).reduce((acc, credential, index) => {
|
|
441
|
+
var _a2;
|
|
442
|
+
(_a2 = credential.organizations) == null ? void 0 : _a2.forEach((organization) => {
|
|
443
|
+
if (!acc[organization]) {
|
|
444
|
+
acc[organization] = [];
|
|
445
|
+
}
|
|
446
|
+
acc[organization].push(index + 1);
|
|
447
|
+
});
|
|
448
|
+
return acc;
|
|
449
|
+
}, {})
|
|
450
|
+
).filter(([_, indexes]) => indexes.length > 1).reduce((acc, [org, indexes]) => {
|
|
451
|
+
acc.push(
|
|
452
|
+
`organization ${org} is specified multiple times in credentials at positions ${indexes.slice(0, indexes.length - 1).join(", ")} and ${indexes[indexes.length - 1]}`
|
|
453
|
+
);
|
|
454
|
+
return acc;
|
|
455
|
+
}, Array.of())
|
|
456
|
+
);
|
|
457
|
+
if ((errors == null ? void 0 : errors.length) > 0) {
|
|
458
|
+
throw new Error(
|
|
459
|
+
`Invalid Azure integration config for ${host}: ${errors.join("; ")}`
|
|
460
|
+
);
|
|
461
|
+
}
|
|
462
|
+
credentials = credentialConfigs.map(
|
|
463
|
+
(credentialConfig) => asAzureDevOpsCredential(credentialConfig)
|
|
378
464
|
);
|
|
465
|
+
if (credentials.some(
|
|
466
|
+
(credential) => credential.kind !== "PersonalAccessToken"
|
|
467
|
+
) && host !== AZURE_HOST) {
|
|
468
|
+
throw new Error(
|
|
469
|
+
`Invalid Azure integration config for ${host}, only personal access tokens can be used with hosts other than ${AZURE_HOST}`
|
|
470
|
+
);
|
|
471
|
+
}
|
|
472
|
+
if (credentials.filter(
|
|
473
|
+
(credential) => credential.organizations === void 0 || credential.organizations.length === 0
|
|
474
|
+
).length > 1) {
|
|
475
|
+
throw new Error(
|
|
476
|
+
`Invalid Azure integration config for ${host}, you cannot specify multiple credentials without organizations`
|
|
477
|
+
);
|
|
478
|
+
}
|
|
379
479
|
}
|
|
380
|
-
return {
|
|
480
|
+
return {
|
|
481
|
+
host,
|
|
482
|
+
credentials
|
|
483
|
+
};
|
|
381
484
|
}
|
|
382
485
|
function readAzureIntegrationConfigs(configs) {
|
|
383
486
|
const result = configs.map(readAzureIntegrationConfig);
|
|
@@ -387,10 +490,10 @@ function readAzureIntegrationConfigs(configs) {
|
|
|
387
490
|
return result;
|
|
388
491
|
}
|
|
389
492
|
|
|
390
|
-
var __defProp$
|
|
391
|
-
var __defNormalProp$
|
|
392
|
-
var __publicField$
|
|
393
|
-
__defNormalProp$
|
|
493
|
+
var __defProp$c = Object.defineProperty;
|
|
494
|
+
var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
495
|
+
var __publicField$c = (obj, key, value) => {
|
|
496
|
+
__defNormalProp$c(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
394
497
|
return value;
|
|
395
498
|
};
|
|
396
499
|
const _AzureIntegration = class _AzureIntegration {
|
|
@@ -438,7 +541,7 @@ const _AzureIntegration = class _AzureIntegration {
|
|
|
438
541
|
return url;
|
|
439
542
|
}
|
|
440
543
|
};
|
|
441
|
-
__publicField$
|
|
544
|
+
__publicField$c(_AzureIntegration, "factory", ({ config }) => {
|
|
442
545
|
var _a;
|
|
443
546
|
const configs = readAzureIntegrationConfigs(
|
|
444
547
|
(_a = config.getOptionalConfigArray("integrations.azure")) != null ? _a : []
|
|
@@ -459,29 +562,171 @@ function getAzureDownloadUrl(url) {
|
|
|
459
562
|
function getAzureCommitsUrl(url) {
|
|
460
563
|
return AzureUrl.fromRepoUrl(url).toCommitsUrl();
|
|
461
564
|
}
|
|
565
|
+
|
|
566
|
+
var __defProp$b = Object.defineProperty;
|
|
567
|
+
var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
568
|
+
var __publicField$b = (obj, key, value) => {
|
|
569
|
+
__defNormalProp$b(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
570
|
+
return value;
|
|
571
|
+
};
|
|
572
|
+
const tenMinutes = 1e3 * 60 * 10;
|
|
573
|
+
class CachedAzureDevOpsCredentialsProvider {
|
|
574
|
+
constructor(credential) {
|
|
575
|
+
this.credential = credential;
|
|
576
|
+
__publicField$b(this, "azureDevOpsScope", "499b84ac-1321-427f-aa17-267ca6975798/.default");
|
|
577
|
+
__publicField$b(this, "cached");
|
|
578
|
+
}
|
|
579
|
+
static fromAzureDevOpsCredential(credential) {
|
|
580
|
+
switch (credential.kind) {
|
|
581
|
+
case "PersonalAccessToken":
|
|
582
|
+
return CachedAzureDevOpsCredentialsProvider.fromPersonalAccessTokenCredential(
|
|
583
|
+
credential
|
|
584
|
+
);
|
|
585
|
+
case "ClientSecret":
|
|
586
|
+
return CachedAzureDevOpsCredentialsProvider.fromTokenCredential(
|
|
587
|
+
new ClientSecretCredential(
|
|
588
|
+
credential.tenantId,
|
|
589
|
+
credential.clientId,
|
|
590
|
+
credential.clientSecret
|
|
591
|
+
)
|
|
592
|
+
);
|
|
593
|
+
case "ManagedIdentity":
|
|
594
|
+
return CachedAzureDevOpsCredentialsProvider.fromTokenCredential(
|
|
595
|
+
new ManagedIdentityCredential(credential.clientId)
|
|
596
|
+
);
|
|
597
|
+
default:
|
|
598
|
+
throw new Error(
|
|
599
|
+
`Credential kind '${credential.kind}' not supported`
|
|
600
|
+
);
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
static fromTokenCredential(credential) {
|
|
604
|
+
return new CachedAzureDevOpsCredentialsProvider(credential);
|
|
605
|
+
}
|
|
606
|
+
static fromPersonalAccessTokenCredential(credential) {
|
|
607
|
+
return new CachedAzureDevOpsCredentialsProvider(
|
|
608
|
+
credential.personalAccessToken
|
|
609
|
+
);
|
|
610
|
+
}
|
|
611
|
+
async getCredentials() {
|
|
612
|
+
if (this.cached === void 0 || this.cached.expiresAt !== void 0 && Date.now() > this.cached.expiresAt) {
|
|
613
|
+
if (typeof this.credential === "string") {
|
|
614
|
+
this.cached = {
|
|
615
|
+
headers: {
|
|
616
|
+
Authorization: `Basic ${btoa(`:${this.credential}`)}`
|
|
617
|
+
},
|
|
618
|
+
type: "pat",
|
|
619
|
+
token: this.credential
|
|
620
|
+
};
|
|
621
|
+
} else {
|
|
622
|
+
const accessToken = await this.credential.getToken(
|
|
623
|
+
this.azureDevOpsScope
|
|
624
|
+
);
|
|
625
|
+
if (!accessToken) {
|
|
626
|
+
throw new Error("Failed to retrieve access token");
|
|
627
|
+
}
|
|
628
|
+
this.cached = {
|
|
629
|
+
expiresAt: accessToken.expiresOnTimestamp - tenMinutes,
|
|
630
|
+
headers: {
|
|
631
|
+
Authorization: `Bearer ${accessToken.token}`
|
|
632
|
+
},
|
|
633
|
+
type: "bearer",
|
|
634
|
+
token: accessToken.token
|
|
635
|
+
};
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
return this.cached;
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
class DefaultAzureDevOpsCredentialsProvider {
|
|
643
|
+
constructor(providers) {
|
|
644
|
+
this.providers = providers;
|
|
645
|
+
}
|
|
646
|
+
static fromIntegrations(integrations) {
|
|
647
|
+
const providers = integrations.azure.list().reduce((acc, integration) => {
|
|
648
|
+
var _a;
|
|
649
|
+
(_a = integration.config.credentials) == null ? void 0 : _a.forEach((credential) => {
|
|
650
|
+
var _a2;
|
|
651
|
+
if (credential.organizations === void 0 || credential.organizations.length === 0) {
|
|
652
|
+
if (acc.get(integration.config.host) === void 0) {
|
|
653
|
+
acc.set(
|
|
654
|
+
integration.config.host,
|
|
655
|
+
CachedAzureDevOpsCredentialsProvider.fromAzureDevOpsCredential(
|
|
656
|
+
credential
|
|
657
|
+
)
|
|
658
|
+
);
|
|
659
|
+
}
|
|
660
|
+
} else {
|
|
661
|
+
const provider = CachedAzureDevOpsCredentialsProvider.fromAzureDevOpsCredential(
|
|
662
|
+
credential
|
|
663
|
+
);
|
|
664
|
+
(_a2 = credential.organizations) == null ? void 0 : _a2.forEach((organization) => {
|
|
665
|
+
acc.set(`${integration.config.host}/${organization}`, provider);
|
|
666
|
+
});
|
|
667
|
+
}
|
|
668
|
+
});
|
|
669
|
+
if (integration.config.host === "dev.azure.com" && acc.get(integration.config.host) === void 0) {
|
|
670
|
+
acc.set(
|
|
671
|
+
integration.config.host,
|
|
672
|
+
CachedAzureDevOpsCredentialsProvider.fromTokenCredential(
|
|
673
|
+
new DefaultAzureCredential()
|
|
674
|
+
)
|
|
675
|
+
);
|
|
676
|
+
}
|
|
677
|
+
return acc;
|
|
678
|
+
}, /* @__PURE__ */ new Map());
|
|
679
|
+
return new DefaultAzureDevOpsCredentialsProvider(providers);
|
|
680
|
+
}
|
|
681
|
+
forAzureDevOpsServerOrganization(url) {
|
|
682
|
+
const parts = url.pathname.split("/").filter((part) => part !== "");
|
|
683
|
+
if (url.host !== "dev.azure.com" && parts.length > 0) {
|
|
684
|
+
if (parts[0] !== "tfs") {
|
|
685
|
+
return this.providers.get(`${url.host}/${parts[0]}`);
|
|
686
|
+
} else if (parts[0] === "tfs" && parts.length > 1) {
|
|
687
|
+
return this.providers.get(`${url.host}/${parts[1]}`);
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
return void 0;
|
|
691
|
+
}
|
|
692
|
+
forAzureDevOpsOrganization(url) {
|
|
693
|
+
const parts = url.pathname.split("/").filter((part) => part !== "");
|
|
694
|
+
if (url.host === "dev.azure.com" && parts.length > 0) {
|
|
695
|
+
return this.providers.get(`${url.host}/${parts[0]}`);
|
|
696
|
+
}
|
|
697
|
+
return void 0;
|
|
698
|
+
}
|
|
699
|
+
forHost(url) {
|
|
700
|
+
return this.providers.get(url.host);
|
|
701
|
+
}
|
|
702
|
+
async getCredentials(opts) {
|
|
703
|
+
var _a, _b;
|
|
704
|
+
const url = new URL(opts.url);
|
|
705
|
+
const provider = (_b = (_a = this.forAzureDevOpsOrganization(url)) != null ? _a : this.forAzureDevOpsServerOrganization(url)) != null ? _b : this.forHost(url);
|
|
706
|
+
if (provider === void 0) {
|
|
707
|
+
return void 0;
|
|
708
|
+
}
|
|
709
|
+
return provider.getCredentials(opts);
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
|
|
462
713
|
async function getAzureRequestOptions(config, additionalHeaders) {
|
|
463
|
-
|
|
714
|
+
var _a;
|
|
464
715
|
const headers = additionalHeaders ? { ...additionalHeaders } : {};
|
|
465
|
-
const
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
headers
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
const accessToken = await managedIdentity.getToken(azureDevOpsScope);
|
|
480
|
-
headers.Authorization = `Bearer ${accessToken.token}`;
|
|
481
|
-
}
|
|
482
|
-
} else if (token) {
|
|
483
|
-
const buffer = Buffer.from(`:${config.token}`, "utf8");
|
|
484
|
-
headers.Authorization = `Basic ${buffer.toString("base64")}`;
|
|
716
|
+
const credentialConfig = (_a = config.credentials) == null ? void 0 : _a.filter(
|
|
717
|
+
(credential) => credential.organizations === void 0 || credential.organizations.length === 0
|
|
718
|
+
)[0];
|
|
719
|
+
if (credentialConfig) {
|
|
720
|
+
const credentialsProvider = CachedAzureDevOpsCredentialsProvider.fromAzureDevOpsCredential(
|
|
721
|
+
credentialConfig
|
|
722
|
+
);
|
|
723
|
+
const credentials = await credentialsProvider.getCredentials();
|
|
724
|
+
return {
|
|
725
|
+
headers: {
|
|
726
|
+
...credentials == null ? void 0 : credentials.headers,
|
|
727
|
+
...headers
|
|
728
|
+
}
|
|
729
|
+
};
|
|
485
730
|
}
|
|
486
731
|
return { headers };
|
|
487
732
|
}
|
|
@@ -1029,9 +1274,12 @@ function getAuthenticationPrefix(config) {
|
|
|
1029
1274
|
}
|
|
1030
1275
|
function getGitilesAuthenticationUrl(config) {
|
|
1031
1276
|
const parsedUrl = new URL(config.gitilesBaseUrl);
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1277
|
+
parsedUrl.pathname = parsedUrl.pathname.replace(/\/?$/, "");
|
|
1278
|
+
parsedUrl.pathname = parsedUrl.pathname.replace(
|
|
1279
|
+
/\/([^\/]*)$/,
|
|
1280
|
+
`${getAuthenticationPrefix(config)}$1`
|
|
1281
|
+
);
|
|
1282
|
+
return parsedUrl.toString();
|
|
1035
1283
|
}
|
|
1036
1284
|
function getGerritBranchApiUrl(config, url) {
|
|
1037
1285
|
const { branch, project } = parseGerritGitilesUrl(config, url);
|
|
@@ -1950,5 +2198,5 @@ class ScmIntegrations {
|
|
|
1950
2198
|
}
|
|
1951
2199
|
}
|
|
1952
2200
|
|
|
1953
|
-
export { AwsS3Integration, AzureIntegration, BitbucketCloudIntegration, BitbucketIntegration, BitbucketServerIntegration, DefaultGithubCredentialsProvider, DefaultGitlabCredentialsProvider, GerritIntegration, GitHubIntegration, GitLabIntegration, GiteaIntegration, GithubAppCredentialsMux, GithubIntegration, ScmIntegrations, SingleInstanceGithubCredentialsProvider, buildGerritGitilesArchiveUrl, defaultScmResolveUrl, getAzureCommitsUrl, getAzureDownloadUrl, getAzureFileFetchUrl, getAzureRequestOptions, getBitbucketCloudDefaultBranch, getBitbucketCloudDownloadUrl, getBitbucketCloudFileFetchUrl, getBitbucketCloudRequestOptions, getBitbucketDefaultBranch, getBitbucketDownloadUrl, getBitbucketFileFetchUrl, getBitbucketRequestOptions, getBitbucketServerDefaultBranch, getBitbucketServerDownloadUrl, getBitbucketServerFileFetchUrl, getBitbucketServerRequestOptions, getGerritBranchApiUrl, getGerritCloneRepoUrl, getGerritFileContentsApiUrl, getGerritProjectsApiUrl, getGerritRequestOptions, getGitHubFileFetchUrl, getGitHubRequestOptions, getGitLabFileFetchUrl, getGitLabIntegrationRelativePath, getGitLabRequestOptions, getGiteaFileContentsUrl, getGiteaRequestOptions, getGithubFileFetchUrl, parseGerritGitilesUrl, parseGerritJsonResponse, readAwsS3IntegrationConfig, readAwsS3IntegrationConfigs, readAzureIntegrationConfig, readAzureIntegrationConfigs, readBitbucketCloudIntegrationConfig, readBitbucketCloudIntegrationConfigs, readBitbucketIntegrationConfig, readBitbucketIntegrationConfigs, readBitbucketServerIntegrationConfig, readBitbucketServerIntegrationConfigs, readGerritIntegrationConfig, readGerritIntegrationConfigs, readGitHubIntegrationConfig, readGitHubIntegrationConfigs, readGitLabIntegrationConfig, readGitLabIntegrationConfigs, readGiteaConfig, readGithubIntegrationConfig, readGithubIntegrationConfigs, readGoogleGcsIntegrationConfig, replaceGitHubUrlType, replaceGitLabUrlType, replaceGithubUrlType };
|
|
2201
|
+
export { AwsS3Integration, AzureIntegration, BitbucketCloudIntegration, BitbucketIntegration, BitbucketServerIntegration, DefaultAzureDevOpsCredentialsProvider, DefaultGithubCredentialsProvider, DefaultGitlabCredentialsProvider, GerritIntegration, GitHubIntegration, GitLabIntegration, GiteaIntegration, GithubAppCredentialsMux, GithubIntegration, ScmIntegrations, SingleInstanceGithubCredentialsProvider, buildGerritGitilesArchiveUrl, defaultScmResolveUrl, getAzureCommitsUrl, getAzureDownloadUrl, getAzureFileFetchUrl, getAzureRequestOptions, getBitbucketCloudDefaultBranch, getBitbucketCloudDownloadUrl, getBitbucketCloudFileFetchUrl, getBitbucketCloudRequestOptions, getBitbucketDefaultBranch, getBitbucketDownloadUrl, getBitbucketFileFetchUrl, getBitbucketRequestOptions, getBitbucketServerDefaultBranch, getBitbucketServerDownloadUrl, getBitbucketServerFileFetchUrl, getBitbucketServerRequestOptions, getGerritBranchApiUrl, getGerritCloneRepoUrl, getGerritFileContentsApiUrl, getGerritProjectsApiUrl, getGerritRequestOptions, getGitHubFileFetchUrl, getGitHubRequestOptions, getGitLabFileFetchUrl, getGitLabIntegrationRelativePath, getGitLabRequestOptions, getGiteaFileContentsUrl, getGiteaRequestOptions, getGithubFileFetchUrl, parseGerritGitilesUrl, parseGerritJsonResponse, readAwsS3IntegrationConfig, readAwsS3IntegrationConfigs, readAzureIntegrationConfig, readAzureIntegrationConfigs, readBitbucketCloudIntegrationConfig, readBitbucketCloudIntegrationConfigs, readBitbucketIntegrationConfig, readBitbucketIntegrationConfigs, readBitbucketServerIntegrationConfig, readBitbucketServerIntegrationConfigs, readGerritIntegrationConfig, readGerritIntegrationConfigs, readGitHubIntegrationConfig, readGitHubIntegrationConfigs, readGitLabIntegrationConfig, readGitLabIntegrationConfigs, readGiteaConfig, readGithubIntegrationConfig, readGithubIntegrationConfigs, readGoogleGcsIntegrationConfig, replaceGitHubUrlType, replaceGitLabUrlType, replaceGithubUrlType };
|
|
1954
2202
|
//# sourceMappingURL=index.esm.js.map
|