@eclipse-che/che-devworkspace-generator 0.0.1-638fadc → 0.0.1-6ef61ae

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.
Files changed (66) hide show
  1. package/lib/bitbucket/bitbucket-module.d.ts +12 -0
  2. package/lib/bitbucket/bitbucket-module.js +21 -0
  3. package/lib/bitbucket/bitbucket-module.js.map +1 -0
  4. package/lib/bitbucket/bitbucket-resolver.d.ts +17 -0
  5. package/lib/bitbucket/bitbucket-resolver.js +56 -0
  6. package/lib/bitbucket/bitbucket-resolver.js.map +1 -0
  7. package/lib/bitbucket/bitbucket-url.d.ts +22 -0
  8. package/lib/bitbucket/bitbucket-url.js +38 -0
  9. package/lib/bitbucket/bitbucket-url.js.map +1 -0
  10. package/lib/bitbucket-server/bitbucket-server-module.d.ts +12 -0
  11. package/lib/bitbucket-server/bitbucket-server-module.js +21 -0
  12. package/lib/bitbucket-server/bitbucket-server-module.js.map +1 -0
  13. package/lib/bitbucket-server/bitbucket-server-resolver.d.ts +17 -0
  14. package/lib/bitbucket-server/bitbucket-server-resolver.js +64 -0
  15. package/lib/bitbucket-server/bitbucket-server-resolver.js.map +1 -0
  16. package/lib/bitbucket-server/bitbucket-server-url.d.ts +24 -0
  17. package/lib/bitbucket-server/bitbucket-server-url.js +43 -0
  18. package/lib/bitbucket-server/bitbucket-server-url.js.map +1 -0
  19. package/lib/generate.d.ts +1 -1
  20. package/lib/generate.js +24 -20
  21. package/lib/generate.js.map +1 -1
  22. package/lib/github/github-module.js +3 -1
  23. package/lib/github/github-module.js.map +1 -1
  24. package/lib/github/github-resolver.d.ts +6 -7
  25. package/lib/github/github-resolver.js +6 -3
  26. package/lib/github/github-resolver.js.map +1 -1
  27. package/lib/github/github-url.d.ts +2 -4
  28. package/lib/github/github-url.js +0 -3
  29. package/lib/github/github-url.js.map +1 -1
  30. package/lib/inversify/inversify-binding.js +6 -0
  31. package/lib/inversify/inversify-binding.js.map +1 -1
  32. package/lib/main.js +8 -8
  33. package/lib/main.js.map +1 -1
  34. package/lib/resolve/git-url-resolver.d.ts +5 -0
  35. package/lib/resolve/git-url-resolver.js +43 -0
  36. package/lib/resolve/git-url-resolver.js.map +1 -0
  37. package/lib/resolve/resolve-module.d.ts +12 -0
  38. package/lib/resolve/resolve-module.js +19 -0
  39. package/lib/resolve/resolve-module.js.map +1 -0
  40. package/lib/resolve/resolver.d.ts +22 -0
  41. package/lib/resolve/resolver.js +12 -0
  42. package/lib/resolve/resolver.js.map +1 -0
  43. package/lib/resolve/url.d.ts +35 -0
  44. package/lib/resolve/url.js +12 -0
  45. package/lib/resolve/url.js.map +1 -0
  46. package/lib/types.d.ts +13 -0
  47. package/lib/types.js +17 -0
  48. package/lib/types.js.map +1 -0
  49. package/package.json +1 -1
  50. package/src/bitbucket/bitbucket-module.ts +21 -0
  51. package/src/bitbucket/bitbucket-resolver.ts +46 -0
  52. package/src/bitbucket/bitbucket-url.ts +41 -0
  53. package/src/bitbucket-server/bitbucket-server-module.ts +21 -0
  54. package/src/bitbucket-server/bitbucket-server-resolver.ts +53 -0
  55. package/src/bitbucket-server/bitbucket-server-url.ts +51 -0
  56. package/src/generate.ts +30 -20
  57. package/src/github/github-module.ts +4 -1
  58. package/src/github/github-resolver.ts +13 -7
  59. package/src/github/github-url.ts +3 -4
  60. package/src/inversify/inversify-binding.ts +6 -0
  61. package/src/main.ts +8 -8
  62. package/src/resolve/git-url-resolver.ts +30 -0
  63. package/src/resolve/resolve-module.ts +18 -0
  64. package/src/resolve/resolver.ts +25 -0
  65. package/src/resolve/url.ts +40 -0
  66. package/src/types.ts +14 -0
@@ -0,0 +1,12 @@
1
+ /**********************************************************************
2
+ * Copyright (c) 2023 Red Hat, Inc.
3
+ *
4
+ * This program and the accompanying materials are made
5
+ * available under the terms of the Eclipse Public License 2.0
6
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7
+ *
8
+ * SPDX-License-Identifier: EPL-2.0
9
+ ***********************************************************************/
10
+ import { ContainerModule } from 'inversify';
11
+ declare const bitbucketModule: ContainerModule;
12
+ export { bitbucketModule };
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.bitbucketModule = void 0;
4
+ /**********************************************************************
5
+ * Copyright (c) 2023 Red Hat, Inc.
6
+ *
7
+ * This program and the accompanying materials are made
8
+ * available under the terms of the Eclipse Public License 2.0
9
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
10
+ *
11
+ * SPDX-License-Identifier: EPL-2.0
12
+ ***********************************************************************/
13
+ var inversify_1 = require("inversify");
14
+ var bitbucket_resolver_1 = require("./bitbucket-resolver");
15
+ var types_1 = require("../types");
16
+ var Resolver = types_1.TYPES.Resolver;
17
+ var bitbucketModule = new inversify_1.ContainerModule(function (bind) {
18
+ bind(Resolver).to(bitbucket_resolver_1.BitbucketResolver).inSingletonScope();
19
+ });
20
+ exports.bitbucketModule = bitbucketModule;
21
+ //# sourceMappingURL=bitbucket-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitbucket-module.js","sourceRoot":"","sources":["../../src/bitbucket/bitbucket-module.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;yEAQyE;AACzE,uCAAwD;AAExD,2DAAyD;AACzD,kCAAiC;AAEzB,IAAA,QAAQ,GAAK,aAAK,SAAV,CAAW;AAE3B,IAAM,eAAe,GAAG,IAAI,2BAAe,CAAC,UAAC,IAAqB;IAChE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,sCAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEM,0CAAe"}
@@ -0,0 +1,17 @@
1
+ /**********************************************************************
2
+ * Copyright (c) 2023 Red Hat, Inc.
3
+ *
4
+ * This program and the accompanying materials are made
5
+ * available under the terms of the Eclipse Public License 2.0
6
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7
+ *
8
+ * SPDX-License-Identifier: EPL-2.0
9
+ ***********************************************************************/
10
+ import { Url } from '../resolve/url';
11
+ import { Resolver } from '../resolve/resolver';
12
+ export declare class BitbucketResolver implements Resolver {
13
+ static readonly BITBUCKET_URL_PATTERN: RegExp;
14
+ isValid(url: string): boolean;
15
+ resolve(url: string): Url;
16
+ private getGroup;
17
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /**********************************************************************
3
+ * Copyright (c) 2023 Red Hat, Inc.
4
+ *
5
+ * This program and the accompanying materials are made
6
+ * available under the terms of the Eclipse Public License 2.0
7
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
8
+ *
9
+ * SPDX-License-Identifier: EPL-2.0
10
+ ***********************************************************************/
11
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
12
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
15
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
16
+ };
17
+ exports.__esModule = true;
18
+ exports.BitbucketResolver = void 0;
19
+ var bitbucket_url_1 = require("./bitbucket-url");
20
+ var inversify_1 = require("inversify");
21
+ var BitbucketResolver = /** @class */ (function () {
22
+ function BitbucketResolver() {
23
+ }
24
+ BitbucketResolver_1 = BitbucketResolver;
25
+ BitbucketResolver.prototype.isValid = function (url) {
26
+ return BitbucketResolver_1.BITBUCKET_URL_PATTERN.test(url);
27
+ };
28
+ BitbucketResolver.prototype.resolve = function (url) {
29
+ var match = BitbucketResolver_1.BITBUCKET_URL_PATTERN.exec(url);
30
+ if (!match) {
31
+ throw new Error("Invalid bitbucket URL: " + url);
32
+ }
33
+ var workspaceId = this.getGroup(match, 'workspaceId');
34
+ var repoName = this.getGroup(match, 'repoName');
35
+ if (/^[\w-][\w.-]*?\.git$/.test(repoName)) {
36
+ repoName = repoName.substring(0, repoName.length - 4);
37
+ }
38
+ var branchName = this.getGroup(match, 'branchName', 'HEAD');
39
+ return new bitbucket_url_1.BitbucketUrl(workspaceId, repoName, branchName);
40
+ };
41
+ BitbucketResolver.prototype.getGroup = function (match, groupName, defaultValue) {
42
+ if (match.groups && match.groups[groupName]) {
43
+ return match.groups[groupName];
44
+ }
45
+ return defaultValue;
46
+ };
47
+ var BitbucketResolver_1;
48
+ // eslint-disable-next-line max-len
49
+ BitbucketResolver.BITBUCKET_URL_PATTERN = /^https:\/\/.*@?bitbucket\.org\/(?<workspaceId>[^\/]+)\/(?<repoName>[^\/]+)(\/(src|branch)\/(?<branchName>[^\/]+))?\/?$/;
50
+ BitbucketResolver = BitbucketResolver_1 = __decorate([
51
+ (0, inversify_1.injectable)()
52
+ ], BitbucketResolver);
53
+ return BitbucketResolver;
54
+ }());
55
+ exports.BitbucketResolver = BitbucketResolver;
56
+ //# sourceMappingURL=bitbucket-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitbucket-resolver.js","sourceRoot":"","sources":["../../src/bitbucket/bitbucket-resolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;yEAQyE;;;;;;;;;AAEzE,iDAA+C;AAC/C,uCAAuC;AAKvC;IAAA;IA6BA,CAAC;0BA7BY,iBAAiB;IAK5B,mCAAO,GAAP,UAAQ,GAAW;QACjB,OAAO,mBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,mCAAO,GAAP,UAAQ,GAAW;QACjB,IAAM,KAAK,GAAG,mBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,4BAA0B,GAAK,CAAC,CAAC;SAClD;QACD,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACxD,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACzC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACvD;QACD,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9D,OAAO,IAAI,4BAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAEO,oCAAQ,GAAhB,UAAiB,KAAsB,EAAE,SAAiB,EAAE,YAAqB;QAC/E,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAChC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;;IA3BD,mCAAmC;IACnB,uCAAqB,GACnC,wHAAyH,CAAA;IAHhH,iBAAiB;QAD7B,IAAA,sBAAU,GAAE;OACA,iBAAiB,CA6B7B;IAAD,wBAAC;CAAA,AA7BD,IA6BC;AA7BY,8CAAiB"}
@@ -0,0 +1,22 @@
1
+ /**********************************************************************
2
+ * Copyright (c) 2023 Red Hat, Inc.
3
+ *
4
+ * This program and the accompanying materials are made
5
+ * available under the terms of the Eclipse Public License 2.0
6
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7
+ *
8
+ * SPDX-License-Identifier: EPL-2.0
9
+ ***********************************************************************/
10
+ import { Url } from '../resolve/url';
11
+ export declare class BitbucketUrl implements Url {
12
+ private readonly workspaceId;
13
+ private readonly repoName;
14
+ private readonly branchName;
15
+ private static readonly BITBUCKET_URL;
16
+ constructor(workspaceId: string, repoName: string, branchName: string);
17
+ getContentUrl(path: string): string;
18
+ getUrl(): string;
19
+ getCloneUrl(): string;
20
+ getRepoName(): string;
21
+ getBranchName(): string;
22
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /**********************************************************************
3
+ * Copyright (c) 2023 Red Hat, Inc.
4
+ *
5
+ * This program and the accompanying materials are made
6
+ * available under the terms of the Eclipse Public License 2.0
7
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
8
+ *
9
+ * SPDX-License-Identifier: EPL-2.0
10
+ ***********************************************************************/
11
+ exports.__esModule = true;
12
+ exports.BitbucketUrl = void 0;
13
+ var BitbucketUrl = /** @class */ (function () {
14
+ function BitbucketUrl(workspaceId, repoName, branchName) {
15
+ this.workspaceId = workspaceId;
16
+ this.repoName = repoName;
17
+ this.branchName = branchName;
18
+ }
19
+ BitbucketUrl.prototype.getContentUrl = function (path) {
20
+ return BitbucketUrl.BITBUCKET_URL + "/" + this.workspaceId + "/" + this.repoName + "/raw/" + this.branchName + "/" + path;
21
+ };
22
+ BitbucketUrl.prototype.getUrl = function () {
23
+ return BitbucketUrl.BITBUCKET_URL + "/" + this.workspaceId + "/" + this.repoName + "/src/" + this.branchName;
24
+ };
25
+ BitbucketUrl.prototype.getCloneUrl = function () {
26
+ return BitbucketUrl.BITBUCKET_URL + "/" + this.workspaceId + "/" + this.repoName + ".git";
27
+ };
28
+ BitbucketUrl.prototype.getRepoName = function () {
29
+ return this.repoName;
30
+ };
31
+ BitbucketUrl.prototype.getBranchName = function () {
32
+ return this.branchName;
33
+ };
34
+ BitbucketUrl.BITBUCKET_URL = 'https://bitbucket.org';
35
+ return BitbucketUrl;
36
+ }());
37
+ exports.BitbucketUrl = BitbucketUrl;
38
+ //# sourceMappingURL=bitbucket-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitbucket-url.js","sourceRoot":"","sources":["../../src/bitbucket/bitbucket-url.ts"],"names":[],"mappings":";AAAA;;;;;;;;yEAQyE;;;AAIzE;IAGE,sBACmB,WAAmB,EACnB,QAAgB,EAChB,UAAkB;QAFlB,gBAAW,GAAX,WAAW,CAAQ;QACnB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,eAAU,GAAV,UAAU,CAAQ;IAClC,CAAC;IAEJ,oCAAa,GAAb,UAAc,IAAY;QACxB,OAAU,YAAY,CAAC,aAAa,SAAI,IAAI,CAAC,WAAW,SAAI,IAAI,CAAC,QAAQ,aAAQ,IAAI,CAAC,UAAU,SAAI,IAAM,CAAC;IAC7G,CAAC;IAED,6BAAM,GAAN;QACE,OAAU,YAAY,CAAC,aAAa,SAAI,IAAI,CAAC,WAAW,SAAI,IAAI,CAAC,QAAQ,aAAQ,IAAI,CAAC,UAAY,CAAC;IACrG,CAAC;IAED,kCAAW,GAAX;QACE,OAAU,YAAY,CAAC,aAAa,SAAI,IAAI,CAAC,WAAW,SAAI,IAAI,CAAC,QAAQ,SAAM,CAAC;IAClF,CAAC;IAED,kCAAW,GAAX;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,oCAAa,GAAb;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IA1BuB,0BAAa,GAAG,uBAAuB,CAAC;IA2BlE,mBAAC;CAAA,AA5BD,IA4BC;AA5BY,oCAAY"}
@@ -0,0 +1,12 @@
1
+ /**********************************************************************
2
+ * Copyright (c) 2023 Red Hat, Inc.
3
+ *
4
+ * This program and the accompanying materials are made
5
+ * available under the terms of the Eclipse Public License 2.0
6
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7
+ *
8
+ * SPDX-License-Identifier: EPL-2.0
9
+ ***********************************************************************/
10
+ import { ContainerModule } from 'inversify';
11
+ declare const bitbucketServerModule: ContainerModule;
12
+ export { bitbucketServerModule };
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.bitbucketServerModule = void 0;
4
+ /**********************************************************************
5
+ * Copyright (c) 2023 Red Hat, Inc.
6
+ *
7
+ * This program and the accompanying materials are made
8
+ * available under the terms of the Eclipse Public License 2.0
9
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
10
+ *
11
+ * SPDX-License-Identifier: EPL-2.0
12
+ ***********************************************************************/
13
+ var inversify_1 = require("inversify");
14
+ var bitbucket_server_resolver_1 = require("./bitbucket-server-resolver");
15
+ var types_1 = require("../types");
16
+ var Resolver = types_1.TYPES.Resolver;
17
+ var bitbucketServerModule = new inversify_1.ContainerModule(function (bind) {
18
+ bind(Resolver).to(bitbucket_server_resolver_1.BitbucketServerResolver).inSingletonScope();
19
+ });
20
+ exports.bitbucketServerModule = bitbucketServerModule;
21
+ //# sourceMappingURL=bitbucket-server-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitbucket-server-module.js","sourceRoot":"","sources":["../../src/bitbucket-server/bitbucket-server-module.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;yEAQyE;AACzE,uCAAwD;AAExD,yEAAsE;AACtE,kCAAiC;AAEzB,IAAA,QAAQ,GAAK,aAAK,SAAV,CAAW;AAE3B,IAAM,qBAAqB,GAAG,IAAI,2BAAe,CAAC,UAAC,IAAqB;IACtE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,mDAAuB,CAAC,CAAC,gBAAgB,EAAE,CAAC;AAChE,CAAC,CAAC,CAAC;AAEM,sDAAqB"}
@@ -0,0 +1,17 @@
1
+ /**********************************************************************
2
+ * Copyright (c) 2023 Red Hat, Inc.
3
+ *
4
+ * This program and the accompanying materials are made
5
+ * available under the terms of the Eclipse Public License 2.0
6
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7
+ *
8
+ * SPDX-License-Identifier: EPL-2.0
9
+ ***********************************************************************/
10
+ import { Url } from '../resolve/url';
11
+ import { Resolver } from '../resolve/resolver';
12
+ export declare class BitbucketServerResolver implements Resolver {
13
+ static readonly BITBUCKET_URL_PATTERNS: RegExp[];
14
+ isValid(url: string): boolean;
15
+ resolve(url: string): Url;
16
+ private getGroup;
17
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /**********************************************************************
3
+ * Copyright (c) 2023 Red Hat, Inc.
4
+ *
5
+ * This program and the accompanying materials are made
6
+ * available under the terms of the Eclipse Public License 2.0
7
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
8
+ *
9
+ * SPDX-License-Identifier: EPL-2.0
10
+ ***********************************************************************/
11
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
12
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
15
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
16
+ };
17
+ exports.__esModule = true;
18
+ exports.BitbucketServerResolver = void 0;
19
+ var bitbucket_server_url_1 = require("./bitbucket-server-url");
20
+ var inversify_1 = require("inversify");
21
+ var BitbucketServerResolver = /** @class */ (function () {
22
+ function BitbucketServerResolver() {
23
+ }
24
+ BitbucketServerResolver_1 = BitbucketServerResolver;
25
+ BitbucketServerResolver.prototype.isValid = function (url) {
26
+ return BitbucketServerResolver_1.BITBUCKET_URL_PATTERNS.some(function (p) { return p.test(url); });
27
+ };
28
+ BitbucketServerResolver.prototype.resolve = function (url) {
29
+ var regExp = BitbucketServerResolver_1.BITBUCKET_URL_PATTERNS.find(function (p) { return p.test(url); });
30
+ if (!regExp) {
31
+ throw new Error("Invalid bitbucket-server URL: " + url);
32
+ }
33
+ var match = regExp.exec(url);
34
+ var scheme = this.getGroup(match, 'scheme');
35
+ var hostName = this.getGroup(match, 'host');
36
+ var user = this.getGroup(match, 'user');
37
+ var project = this.getGroup(match, 'project');
38
+ var repo = this.getGroup(match, 'repo');
39
+ var branch = this.getGroup(match, 'branch');
40
+ if (branch !== undefined && branch.startsWith('refs%2Fheads%2F')) {
41
+ branch = branch.substring(15);
42
+ }
43
+ return new bitbucket_server_url_1.BitbucketServerUrl(scheme, hostName, user, project, repo, branch);
44
+ };
45
+ BitbucketServerResolver.prototype.getGroup = function (match, groupName) {
46
+ if (match.groups && match.groups[groupName]) {
47
+ return match.groups[groupName];
48
+ }
49
+ };
50
+ var BitbucketServerResolver_1;
51
+ // eslint-disable-next-line max-len
52
+ BitbucketServerResolver.BITBUCKET_URL_PATTERNS = [
53
+ /^(?<scheme>https?):\/\/(?<host>.*)\/scm\/~(?<user>[^\/]+)\/(?<repo>.*).git$/,
54
+ /^(?<scheme>https?):\/\/(?<host>.*)\/users\/(?<user>[^\/]+)\/repos\/(?<repo>[^\/]+)\/browse(\?at=(?<branch>.*))?$/,
55
+ /^(?<scheme>https?):\/\/(?<host>.*)\/scm\/(?<project>[^\/~]+)\/(?<repo>[^\/]+).git$/,
56
+ /^(?<scheme>https?):\/\/(?<host>.*)\/projects\/(?<project>[^\/]+)\/repos\/(?<repo>[^\/]+)\/browse(\?at=(?<branch>.*))?$/,
57
+ ];
58
+ BitbucketServerResolver = BitbucketServerResolver_1 = __decorate([
59
+ (0, inversify_1.injectable)()
60
+ ], BitbucketServerResolver);
61
+ return BitbucketServerResolver;
62
+ }());
63
+ exports.BitbucketServerResolver = BitbucketServerResolver;
64
+ //# sourceMappingURL=bitbucket-server-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitbucket-server-resolver.js","sourceRoot":"","sources":["../../src/bitbucket-server/bitbucket-server-resolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;yEAQyE;;;;;;;;;AAEzE,+DAA4D;AAC5D,uCAAuC;AAKvC;IAAA;IAoCA,CAAC;gCApCY,uBAAuB;IASlC,yCAAO,GAAP,UAAQ,GAAW;QACjB,OAAO,yBAAuB,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAX,CAAW,CAAC,CAAC;IAC/E,CAAC;IAED,yCAAO,GAAP,UAAQ,GAAW;QACjB,IAAM,MAAM,GAAG,yBAAuB,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAX,CAAW,CAAC,CAAC;QACrF,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,mCAAiC,GAAK,CAAC,CAAC;SACzD;QACD,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAChD,IAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;YAChE,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SAC/B;QACD,OAAO,IAAI,yCAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/E,CAAC;IAEO,0CAAQ,GAAhB,UAAiB,KAAsB,EAAE,SAAiB;QACxD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAChC;IACH,CAAC;;IAlCD,mCAAmC;IACnB,8CAAsB,GAAa;QACjD,6EAA6E;QAC7E,kHAAkH;QAClH,oFAAoF;QACpF,wHAAwH;KACxH,CAAA;IAPS,uBAAuB;QADnC,IAAA,sBAAU,GAAE;OACA,uBAAuB,CAoCnC;IAAD,8BAAC;CAAA,AApCD,IAoCC;AApCY,0DAAuB"}
@@ -0,0 +1,24 @@
1
+ /**********************************************************************
2
+ * Copyright (c) 2023 Red Hat, Inc.
3
+ *
4
+ * This program and the accompanying materials are made
5
+ * available under the terms of the Eclipse Public License 2.0
6
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7
+ *
8
+ * SPDX-License-Identifier: EPL-2.0
9
+ ***********************************************************************/
10
+ import { Url } from '../resolve/url';
11
+ export declare class BitbucketServerUrl implements Url {
12
+ private readonly scheme;
13
+ private readonly hostName;
14
+ private readonly user;
15
+ private readonly project;
16
+ private readonly repo;
17
+ private readonly branch;
18
+ constructor(scheme: string, hostName: string, user: string | undefined, project: string | undefined, repo: string, branch: string | undefined);
19
+ getContentUrl(path: string): string;
20
+ getUrl(): string;
21
+ getCloneUrl(): string;
22
+ getRepoName(): string;
23
+ getBranchName(): string;
24
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ /**********************************************************************
3
+ * Copyright (c) 2023 Red Hat, Inc.
4
+ *
5
+ * This program and the accompanying materials are made
6
+ * available under the terms of the Eclipse Public License 2.0
7
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
8
+ *
9
+ * SPDX-License-Identifier: EPL-2.0
10
+ ***********************************************************************/
11
+ exports.__esModule = true;
12
+ exports.BitbucketServerUrl = void 0;
13
+ var BitbucketServerUrl = /** @class */ (function () {
14
+ function BitbucketServerUrl(scheme, hostName, user, project, repo, branch) {
15
+ this.scheme = scheme;
16
+ this.hostName = hostName;
17
+ this.user = user;
18
+ this.project = project;
19
+ this.repo = repo;
20
+ this.branch = branch;
21
+ }
22
+ BitbucketServerUrl.prototype.getContentUrl = function (path) {
23
+ var isUser = this.user !== undefined;
24
+ return this.scheme + "://" + this.hostName + "/" + (isUser ? 'users' : 'projects') + "/" + (isUser ? this.user : this.project) + "/repos/" + this.repo + "/raw/" + path + (this.branch !== undefined ? '?/at=' + this.branch : '');
25
+ };
26
+ BitbucketServerUrl.prototype.getUrl = function () {
27
+ var isUser = this.user !== undefined;
28
+ return this.scheme + "://" + this.hostName + "/" + (isUser ? 'users' : 'projects') + "/" + (isUser ? this.user : this.project) + "/repos/" + this.repo + (this.branch !== undefined ? '/browse?at=' + this.branch : '');
29
+ };
30
+ BitbucketServerUrl.prototype.getCloneUrl = function () {
31
+ var isUser = this.user !== undefined;
32
+ return this.scheme + "://" + this.hostName + "/scm/" + (isUser ? '~' + this.user : this.project.toLowerCase()) + "/" + this.repo + ".git";
33
+ };
34
+ BitbucketServerUrl.prototype.getRepoName = function () {
35
+ return this.repo;
36
+ };
37
+ BitbucketServerUrl.prototype.getBranchName = function () {
38
+ return this.branch;
39
+ };
40
+ return BitbucketServerUrl;
41
+ }());
42
+ exports.BitbucketServerUrl = BitbucketServerUrl;
43
+ //# sourceMappingURL=bitbucket-server-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitbucket-server-url.js","sourceRoot":"","sources":["../../src/bitbucket-server/bitbucket-server-url.ts"],"names":[],"mappings":";AAAA;;;;;;;;yEAQyE;;;AAIzE;IACE,4BACmB,MAAc,EACd,QAAgB,EAChB,IAAwB,EACxB,OAA2B,EAC3B,IAAY,EACZ,MAA0B;QAL1B,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAQ;QAChB,SAAI,GAAJ,IAAI,CAAoB;QACxB,YAAO,GAAP,OAAO,CAAoB;QAC3B,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAoB;IAC1C,CAAC;IAEJ,0CAAa,GAAb,UAAc,IAAY;QACxB,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;QACvC,OAAU,IAAI,CAAC,MAAM,WAAM,IAAI,CAAC,QAAQ,UAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,WACvE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,gBACzB,IAAI,CAAC,IAAI,aAAQ,IAAI,IAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;IAC7F,CAAC;IAED,mCAAM,GAAN;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;QACvC,OAAU,IAAI,CAAC,MAAM,WAAM,IAAI,CAAC,QAAQ,UAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,WACvE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,gBACzB,IAAI,CAAC,IAAI,IAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;IACvF,CAAC;IAED,wCAAW,GAAX;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;QACvC,OAAU,IAAI,CAAC,MAAM,WAAM,IAAI,CAAC,QAAQ,cAAQ,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,UACnG,IAAI,CAAC,IAAI,SACL,CAAC;IACT,CAAC;IAED,wCAAW,GAAX;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,0CAAa,GAAb;QACE,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACH,yBAAC;AAAD,CAAC,AAtCD,IAsCC;AAtCY,gDAAkB"}
package/lib/generate.d.ts CHANGED
@@ -9,8 +9,8 @@
9
9
  ***********************************************************************/
10
10
  import { DevfileContext } from './api/devfile-context';
11
11
  export declare class Generate {
12
- static readonly MERGE_CONTRIBUTION = "controller.devfile.io/merge-contribution";
13
12
  private devContainerComponentFinder;
14
13
  generate(devfileContent: string, editorContent: string, outputFile?: string, injectDefaultComponent?: string, defaultComponentImage?: string): Promise<DevfileContext>;
15
14
  generateContent(devfileContent: string, editorContent: string, injectDefaultComponent?: string, defaultComponentImage?: string): Promise<DevfileContext>;
15
+ private createDevWorkspaceMetadata;
16
16
  }
package/lib/generate.js CHANGED
@@ -78,7 +78,6 @@ var dev_container_component_finder_1 = require("./devfile/dev-container-componen
78
78
  var Generate = /** @class */ (function () {
79
79
  function Generate() {
80
80
  }
81
- Generate_1 = Generate;
82
81
  Generate.prototype.generate = function (devfileContent, editorContent, outputFile, injectDefaultComponent, defaultComponentImage) {
83
82
  return __awaiter(this, void 0, void 0, function () {
84
83
  var context, allContentArray, generatedContent;
@@ -104,14 +103,14 @@ var Generate = /** @class */ (function () {
104
103
  };
105
104
  Generate.prototype.generateContent = function (devfileContent, editorContent, injectDefaultComponent, defaultComponentImage) {
106
105
  return __awaiter(this, void 0, void 0, function () {
107
- var devfile, suffix, editorDevfile, metadata, editorDevWorkspaceTemplate, devfileMetadata, devfileCopy, editorSpecContribution, devWorkspace, devWorkspaceTemplates, context, devContainer, devContainerAttributes;
106
+ var devfile, suffix, editorDevfile, metadata, editorDevWorkspaceTemplate, devfileMetadata, devfileCopy, editorSpecContribution, devWorkspace, devWorkspaceTemplates, context;
108
107
  return __generator(this, function (_a) {
109
108
  switch (_a.label) {
110
109
  case 0:
111
110
  devfile = jsYaml.load(devfileContent);
112
111
  suffix = devfile.metadata.name || '';
113
112
  editorDevfile = jsYaml.load(editorContent);
114
- metadata = editorDevfile.metadata;
113
+ metadata = this.createDevWorkspaceMetadata(editorDevfile);
115
114
  // add sufix
116
115
  metadata.name = metadata.name + "-" + suffix;
117
116
  delete editorDevfile.metadata;
@@ -122,7 +121,7 @@ var Generate = /** @class */ (function () {
122
121
  metadata: metadata,
123
122
  spec: editorDevfile
124
123
  };
125
- devfileMetadata = devfile.metadata;
124
+ devfileMetadata = this.createDevWorkspaceMetadata(devfile, true);
126
125
  devfileCopy = Object.assign({}, devfile);
127
126
  delete devfileCopy.schemaVersion;
128
127
  delete devfileCopy.metadata;
@@ -150,32 +149,37 @@ var Generate = /** @class */ (function () {
150
149
  devWorkspaceTemplates: devWorkspaceTemplates,
151
150
  suffix: suffix
152
151
  };
152
+ // find devContainer component, add a default one if not found
153
153
  return [4 /*yield*/, this.devContainerComponentFinder.find(context, injectDefaultComponent, defaultComponentImage)];
154
154
  case 1:
155
- devContainer = _a.sent();
156
- if (!devContainer) {
157
- return [2 /*return*/, context];
158
- }
159
- devContainerAttributes = devContainer.attributes;
160
- if (!devContainerAttributes) {
161
- devContainerAttributes = {};
162
- devContainerAttributes[Generate_1.MERGE_CONTRIBUTION] = true;
163
- devContainer.attributes = devContainerAttributes;
164
- }
165
- else {
166
- devContainerAttributes[Generate_1.MERGE_CONTRIBUTION] = true;
167
- }
155
+ // find devContainer component, add a default one if not found
156
+ _a.sent();
168
157
  return [2 /*return*/, context];
169
158
  }
170
159
  });
171
160
  });
172
161
  };
173
- var Generate_1;
174
- Generate.MERGE_CONTRIBUTION = 'controller.devfile.io/merge-contribution';
162
+ Generate.prototype.createDevWorkspaceMetadata = function (devfile, addDevfileContent) {
163
+ if (addDevfileContent === void 0) { addDevfileContent = false; }
164
+ var devWorkspaceMetadata = {};
165
+ var devfileMetadata = devfile.metadata;
166
+ if (devfileMetadata.name) {
167
+ devWorkspaceMetadata.name = devfileMetadata.name;
168
+ }
169
+ if (devfileMetadata.generateName) {
170
+ devWorkspaceMetadata.generateName = devfileMetadata.generateName;
171
+ }
172
+ if (addDevfileContent) {
173
+ devWorkspaceMetadata.annotations = {
174
+ 'che.eclipse.org/devfile': jsYaml.dump(devfile)
175
+ };
176
+ }
177
+ return devWorkspaceMetadata;
178
+ };
175
179
  __decorate([
176
180
  (0, inversify_1.inject)(dev_container_component_finder_1.DevContainerComponentFinder)
177
181
  ], Generate.prototype, "devContainerComponentFinder");
178
- Generate = Generate_1 = __decorate([
182
+ Generate = __decorate([
179
183
  (0, inversify_1.injectable)()
180
184
  ], Generate);
181
185
  return Generate;
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,10 @@ exports.githubModule = void 0;
12
12
  ***********************************************************************/
13
13
  var inversify_1 = require("inversify");
14
14
  var github_resolver_1 = require("./github-resolver");
15
+ var types_1 = require("../types");
16
+ var Resolver = types_1.TYPES.Resolver;
15
17
  var githubModule = new inversify_1.ContainerModule(function (bind) {
16
- bind(github_resolver_1.GithubResolver).toSelf().inSingletonScope();
18
+ bind(Resolver).to(github_resolver_1.GithubResolver).inSingletonScope();
17
19
  });
18
20
  exports.githubModule = githubModule;
19
21
  //# sourceMappingURL=github-module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"github-module.js","sourceRoot":"","sources":["../../src/github/github-module.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;yEAQyE;AACzE,uCAAwD;AAExD,qDAAmD;AAEnD,IAAM,YAAY,GAAG,IAAI,2BAAe,CAAC,UAAC,IAAqB;IAC7D,IAAI,CAAC,gCAAc,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;AACnD,CAAC,CAAC,CAAC;AAEM,oCAAY"}
1
+ {"version":3,"file":"github-module.js","sourceRoot":"","sources":["../../src/github/github-module.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;yEAQyE;AACzE,uCAAwD;AAExD,qDAAmD;AACnD,kCAAiC;AAEzB,IAAA,QAAQ,GAAK,aAAK,SAAV,CAAW;AAE3B,IAAM,YAAY,GAAG,IAAI,2BAAe,CAAC,UAAC,IAAqB;IAC7D,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,gCAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;AACvD,CAAC,CAAC,CAAC;AAEM,oCAAY"}
@@ -7,12 +7,11 @@
7
7
  *
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  ***********************************************************************/
10
- import { GithubUrl } from './github-url';
11
- /**
12
- * Provides a github URL object allowing to interact
13
- */
14
- export declare class GithubResolver {
10
+ import { Url } from '../resolve/url';
11
+ import { Resolver } from '../resolve/resolver';
12
+ export declare class GithubResolver implements Resolver {
15
13
  static readonly GITHUB_URL_PATTERN: RegExp;
16
- resolve(link: string): GithubUrl;
17
- getGroup(match: RegExpExecArray, groupName: string, defaultValue?: string): string;
14
+ isValid(url: string): boolean;
15
+ resolve(link: string): Url;
16
+ private getGroup;
18
17
  }
@@ -18,13 +18,13 @@ exports.__esModule = true;
18
18
  exports.GithubResolver = void 0;
19
19
  var github_url_1 = require("./github-url");
20
20
  var inversify_1 = require("inversify");
21
- /**
22
- * Provides a github URL object allowing to interact
23
- */
24
21
  var GithubResolver = /** @class */ (function () {
25
22
  function GithubResolver() {
26
23
  }
27
24
  GithubResolver_1 = GithubResolver;
25
+ GithubResolver.prototype.isValid = function (url) {
26
+ return GithubResolver_1.GITHUB_URL_PATTERN.test(url);
27
+ };
28
28
  GithubResolver.prototype.resolve = function (link) {
29
29
  var match = GithubResolver_1.GITHUB_URL_PATTERN.exec(link);
30
30
  if (!match) {
@@ -34,6 +34,9 @@ var GithubResolver = /** @class */ (function () {
34
34
  var hostName = this.getGroup(match, 'host');
35
35
  var repoUser = this.getGroup(match, 'repoUser');
36
36
  var repoName = this.getGroup(match, 'repoName');
37
+ if (/^[\w-][\w.-]*?\.git$/.test(repoName)) {
38
+ repoName = repoName.substring(0, repoName.length - 4);
39
+ }
37
40
  var branchName = this.getGroup(match, 'branchName', 'HEAD');
38
41
  var subFolder = this.getGroup(match, 'subFolder');
39
42
  return new github_url_1.GithubUrl(scheme, hostName, repoUser, repoName, branchName, subFolder);
@@ -1 +1 @@
1
- {"version":3,"file":"github-resolver.js","sourceRoot":"","sources":["../../src/github/github-resolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;yEAQyE;;;;;;;;;AAEzE,2CAAyC;AACzC,uCAAuC;AAEvC;;GAEG;AAEH;IAAA;IAyBA,CAAC;uBAzBY,cAAc;IAKzB,gCAAO,GAAP,UAAQ,IAAY;QAClB,IAAM,KAAK,GAAG,gBAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,yBAAuB,IAAM,CAAC,CAAC;SAChD;QACD,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAClD,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAClD,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9D,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACpD,OAAO,IAAI,sBAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;IAED,iCAAQ,GAAR,UAAS,KAAsB,EAAE,SAAiB,EAAE,YAAqB;QACvE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAChC;QACD,OAAO,YAAY,IAAI,EAAE,CAAC;IAC5B,CAAC;;IAvBD,mCAAmC;IACnB,iCAAkB,GAChC,qKAAsK,CAAA;IAH7J,cAAc;QAD1B,IAAA,sBAAU,GAAE;OACA,cAAc,CAyB1B;IAAD,qBAAC;CAAA,AAzBD,IAyBC;AAzBY,wCAAc"}
1
+ {"version":3,"file":"github-resolver.js","sourceRoot":"","sources":["../../src/github/github-resolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;yEAQyE;;;;;;;;;AAEzE,2CAAyC;AACzC,uCAAuC;AAKvC;IAAA;IAgCA,CAAC;uBAhCY,cAAc;IAKzB,gCAAO,GAAP,UAAQ,GAAW;QACjB,OAAO,gBAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;IAED,gCAAO,GAAP,UAAQ,IAAY;QAClB,IAAM,KAAK,GAAG,gBAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,yBAAuB,IAAM,CAAC,CAAC;SAChD;QACD,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACzC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACvD;QACD,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9D,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACpD,OAAO,IAAI,sBAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;IAEO,iCAAQ,GAAhB,UAAiB,KAAsB,EAAE,SAAiB,EAAE,YAAqB;QAC/E,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAChC;QACD,OAAO,YAAY,IAAI,EAAE,CAAC;IAC5B,CAAC;;IA9BD,mCAAmC;IACnB,iCAAkB,GAChC,qKAAsK,CAAA;IAH7J,cAAc;QAD1B,IAAA,sBAAU,GAAE;OACA,cAAc,CAgC1B;IAAD,qBAAC;CAAA,AAhCD,IAgCC;AAhCY,wCAAc"}
@@ -7,10 +7,8 @@
7
7
  *
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  ***********************************************************************/
10
- /**
11
- * Provides helper methods on top of github URL to get for example raw content of get relative links
12
- */
13
- export declare class GithubUrl {
10
+ import { Url } from '../resolve/url';
11
+ export declare class GithubUrl implements Url {
14
12
  private readonly scheme;
15
13
  private readonly hostName;
16
14
  private readonly repoUser;
@@ -10,9 +10,6 @@
10
10
  ***********************************************************************/
11
11
  exports.__esModule = true;
12
12
  exports.GithubUrl = void 0;
13
- /**
14
- * Provides helper methods on top of github URL to get for example raw content of get relative links
15
- */
16
13
  var GithubUrl = /** @class */ (function () {
17
14
  function GithubUrl(scheme, hostName, repoUser, repoName, branchName, subFolder) {
18
15
  this.scheme = scheme;
@@ -1 +1 @@
1
- {"version":3,"file":"github-url.js","sourceRoot":"","sources":["../../src/github/github-url.ts"],"names":[],"mappings":";AAAA;;;;;;;;yEAQyE;;;AAEzE;;GAEG;AACH;IACE,mBACmB,MAAc,EACd,QAAgB,EAChB,QAAgB,EAChB,QAAgB,EAChB,UAAkB,EAClB,SAAiB;QALjB,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,eAAU,GAAV,UAAU,CAAQ;QAClB,cAAS,GAAT,SAAS,CAAQ;IACjC,CAAC;IAEJ;;OAEG;IACH,iCAAa,GAAb,UAAc,IAAY;QACxB,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1F,OAAU,IAAI,CAAC,MAAM,eAAU,QAAQ,SAAI,IAAI,CAAC,QAAQ,SAAI,IAAI,CAAC,QAAQ,SAAI,IAAI,CAAC,UAAU,SAAI,IAAM,CAAC;IACzG,CAAC;IAED,0BAAM,GAAN;QACE,OAAU,IAAI,CAAC,MAAM,WAAM,IAAI,CAAC,QAAQ,SAAI,IAAI,CAAC,QAAQ,SAAI,IAAI,CAAC,QAAQ,cAAS,IAAI,CAAC,UAAU,SAAI,IAAI,CAAC,SAAW,CAAC;IACzH,CAAC;IAED,+BAAW,GAAX;QACE,OAAU,IAAI,CAAC,MAAM,WAAM,IAAI,CAAC,QAAQ,SAAI,IAAI,CAAC,QAAQ,SAAI,IAAI,CAAC,QAAQ,SAAM,CAAC;IACnF,CAAC;IAED,+BAAW,GAAX;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,iCAAa,GAAb;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACH,gBAAC;AAAD,CAAC,AAjCD,IAiCC;AAjCY,8BAAS"}
1
+ {"version":3,"file":"github-url.js","sourceRoot":"","sources":["../../src/github/github-url.ts"],"names":[],"mappings":";AAAA;;;;;;;;yEAQyE;;;AAIzE;IACE,mBACmB,MAAc,EACd,QAAgB,EAChB,QAAgB,EAChB,QAAgB,EAChB,UAAkB,EAClB,SAAiB;QALjB,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,eAAU,GAAV,UAAU,CAAQ;QAClB,cAAS,GAAT,SAAS,CAAQ;IACjC,CAAC;IAEJ;;OAEG;IACH,iCAAa,GAAb,UAAc,IAAY;QACxB,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1F,OAAU,IAAI,CAAC,MAAM,eAAU,QAAQ,SAAI,IAAI,CAAC,QAAQ,SAAI,IAAI,CAAC,QAAQ,SAAI,IAAI,CAAC,UAAU,SAAI,IAAM,CAAC;IACzG,CAAC;IAED,0BAAM,GAAN;QACE,OAAU,IAAI,CAAC,MAAM,WAAM,IAAI,CAAC,QAAQ,SAAI,IAAI,CAAC,QAAQ,SAAI,IAAI,CAAC,QAAQ,cAAS,IAAI,CAAC,UAAU,SAAI,IAAI,CAAC,SAAW,CAAC;IACzH,CAAC;IAED,+BAAW,GAAX;QACE,OAAU,IAAI,CAAC,MAAM,WAAM,IAAI,CAAC,QAAQ,SAAI,IAAI,CAAC,QAAQ,SAAI,IAAI,CAAC,QAAQ,SAAM,CAAC;IACnF,CAAC;IAED,+BAAW,GAAX;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,iCAAa,GAAb;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACH,gBAAC;AAAD,CAAC,AAjCD,IAiCC;AAjCY,8BAAS"}