@eclipse-che/che-devworkspace-generator 0.0.1-638fadc → 0.0.1-7f000bc

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
@@ -51,7 +51,10 @@ var inversify_1 = require("inversify");
51
51
  var devfile_module_1 = require("../devfile/devfile-module");
52
52
  var fetch_module_1 = require("../fetch/fetch-module");
53
53
  var github_module_1 = require("../github/github-module");
54
+ var resolve_module_1 = require("../resolve/resolve-module");
54
55
  var plugin_registry_module_1 = require("../plugin-registry/plugin-registry-module");
56
+ var bitbucket_module_1 = require("../bitbucket/bitbucket-module");
57
+ var bitbucket_server_module_1 = require("../bitbucket-server/bitbucket-server-module");
55
58
  /**
56
59
  * Manage all bindings for inversify
57
60
  */
@@ -65,6 +68,9 @@ var InversifyBinding = /** @class */ (function () {
65
68
  this.container.load(devfile_module_1.devfileModule);
66
69
  this.container.load(fetch_module_1.fetchModule);
67
70
  this.container.load(github_module_1.githubModule);
71
+ this.container.load(bitbucket_module_1.bitbucketModule);
72
+ this.container.load(bitbucket_server_module_1.bitbucketServerModule);
73
+ this.container.load(resolve_module_1.resolveModule);
68
74
  this.container.load(plugin_registry_module_1.pluginRegistryModule);
69
75
  this.container.bind(Symbol["for"]('AxiosInstance')).toConstantValue(options.axiosInstance);
70
76
  this.container.bind('string').toConstantValue(options.pluginRegistryUrl).whenTargetNamed('PLUGIN_REGISTRY_URL');
@@ -1 +1 @@
1
- {"version":3,"file":"inversify-binding.js","sourceRoot":"","sources":["../../src/inversify/inversify-binding.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;yEAQyE;AACzE,4BAA0B;AAG1B,uCAAsC;AACtC,4DAA0D;AAC1D,sDAAoD;AACpD,yDAAuD;AACvD,oFAAiF;AAEjF;;GAEG;AACH;IAAA;IAgBA,CAAC;IAbc,uCAAY,GAAzB,UAA0B,OAAgC;;;gBACxD,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;gBAEjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,8BAAa,CAAC,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,0BAAW,CAAC,CAAC;gBACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,4BAAY,CAAC,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,6CAAoB,CAAC,CAAC;gBAE1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAG,CAAA,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACxF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;gBAEhH,sBAAO,IAAI,CAAC,SAAS,EAAC;;;KACvB;IACH,uBAAC;AAAD,CAAC,AAhBD,IAgBC;AAhBY,4CAAgB"}
1
+ {"version":3,"file":"inversify-binding.js","sourceRoot":"","sources":["../../src/inversify/inversify-binding.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;yEAQyE;AACzE,4BAA0B;AAG1B,uCAAsC;AACtC,4DAA0D;AAC1D,sDAAoD;AACpD,yDAAuD;AACvD,4DAA0D;AAC1D,oFAAiF;AACjF,kEAAgE;AAChE,uFAAoF;AAEpF;;GAEG;AACH;IAAA;IAmBA,CAAC;IAhBc,uCAAY,GAAzB,UAA0B,OAAgC;;;gBACxD,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;gBAEjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,8BAAa,CAAC,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,0BAAW,CAAC,CAAC;gBACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,4BAAY,CAAC,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kCAAe,CAAC,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,+CAAqB,CAAC,CAAC;gBAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,8BAAa,CAAC,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,6CAAoB,CAAC,CAAC;gBAE1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAG,CAAA,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACxF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;gBAEhH,sBAAO,IAAI,CAAC,SAAS,EAAC;;;KACvB;IACH,uBAAC;AAAD,CAAC,AAnBD,IAmBC;AAnBY,4CAAgB"}
package/lib/main.js CHANGED
@@ -68,11 +68,11 @@ exports.Main = void 0;
68
68
  var axios = __importStar(require("axios"));
69
69
  var fs = __importStar(require("fs-extra"));
70
70
  var generate_1 = require("./generate");
71
- var github_resolver_1 = require("./github/github-resolver");
72
71
  var jsYaml = __importStar(require("js-yaml"));
73
72
  var inversify_binding_1 = require("./inversify/inversify-binding");
74
73
  var url_fetcher_1 = require("./fetch/url-fetcher");
75
74
  var plugin_registry_resolver_1 = require("./plugin-registry/plugin-registry-resolver");
75
+ var git_url_resolver_1 = require("./resolve/git-url-resolver");
76
76
  var Main = /** @class */ (function () {
77
77
  /**
78
78
  * Default constructor.
@@ -83,7 +83,7 @@ var Main = /** @class */ (function () {
83
83
  // Generates a devfile context object based on params
84
84
  Main.prototype.generateDevfileContext = function (params, axiosInstance) {
85
85
  return __awaiter(this, void 0, void 0, function () {
86
- var pluginRegistryUrl, inversifyBinbding, container, devfileContent, editorContent, githubResolver, githubUrl, devfileParsed, editorDevfile, generate;
86
+ var pluginRegistryUrl, inversifyBinbding, container, devfileContent, editorContent, resolver, url, devfileParsed, editorDevfile, generate;
87
87
  return __generator(this, function (_a) {
88
88
  switch (_a.label) {
89
89
  case 0:
@@ -109,9 +109,9 @@ var Main = /** @class */ (function () {
109
109
  container = _a.sent();
110
110
  container.bind(generate_1.Generate).toSelf().inSingletonScope();
111
111
  if (!params.devfileUrl) return [3 /*break*/, 3];
112
- githubResolver = container.get(github_resolver_1.GithubResolver);
113
- githubUrl = githubResolver.resolve(params.devfileUrl);
114
- return [4 /*yield*/, container.get(url_fetcher_1.UrlFetcher).fetchText(githubUrl.getContentUrl('devfile.yaml'))];
112
+ resolver = container.get(git_url_resolver_1.GitUrlResolver);
113
+ url = resolver.resolve(params.devfileUrl);
114
+ return [4 /*yield*/, container.get(url_fetcher_1.UrlFetcher).fetchText(url.getContentUrl('devfile.yaml'))];
115
115
  case 2:
116
116
  // user devfile
117
117
  devfileContent = _a.sent();
@@ -121,10 +121,10 @@ var Main = /** @class */ (function () {
121
121
  // no, so add the current project being cloned
122
122
  devfileParsed.projects = [
123
123
  {
124
- name: githubUrl.getRepoName(),
124
+ name: url.getRepoName(),
125
125
  git: {
126
- remotes: { origin: githubUrl.getCloneUrl() },
127
- checkoutFrom: { revision: githubUrl.getBranchName() }
126
+ remotes: { origin: url.getCloneUrl() },
127
+ checkoutFrom: { revision: url.getBranchName() }
128
128
  }
129
129
  },
130
130
  ];
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Url } from './url';
2
+ export declare class GitUrlResolver {
3
+ private resolvers;
4
+ resolve(link: string): Url;
5
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ exports.__esModule = true;
9
+ exports.GitUrlResolver = void 0;
10
+ /**********************************************************************
11
+ * Copyright (c) 2023 Red Hat, Inc.
12
+ *
13
+ * This program and the accompanying materials are made
14
+ * available under the terms of the Eclipse Public License 2.0
15
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
16
+ *
17
+ * SPDX-License-Identifier: EPL-2.0
18
+ ***********************************************************************/
19
+ var inversify_1 = require("inversify");
20
+ var types_1 = require("../types");
21
+ var Resolver = types_1.TYPES.Resolver;
22
+ var GitUrlResolver = /** @class */ (function () {
23
+ function GitUrlResolver() {
24
+ }
25
+ GitUrlResolver.prototype.resolve = function (link) {
26
+ var resolver = this.resolvers.find(function (r) { return r.isValid(link); });
27
+ if (resolver) {
28
+ return resolver.resolve(link);
29
+ }
30
+ else {
31
+ throw new Error('Can not resolver the URL');
32
+ }
33
+ };
34
+ __decorate([
35
+ (0, inversify_1.multiInject)(Resolver)
36
+ ], GitUrlResolver.prototype, "resolvers");
37
+ GitUrlResolver = __decorate([
38
+ (0, inversify_1.injectable)()
39
+ ], GitUrlResolver);
40
+ return GitUrlResolver;
41
+ }());
42
+ exports.GitUrlResolver = GitUrlResolver;
43
+ //# sourceMappingURL=git-url-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-url-resolver.js","sourceRoot":"","sources":["../../src/resolve/git-url-resolver.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;yEAQyE;AACzE,uCAAoD;AAEpD,kCAAiC;AAGzB,IAAA,QAAQ,GAAK,aAAK,SAAV,CAAW;AAG3B;IAAA;IAYA,CAAC;IARC,gCAAO,GAAP,UAAQ,IAAY;QAClB,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAf,CAAe,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC/B;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;IACH,CAAC;IATD;QADC,IAAA,uBAAW,EAAC,QAAQ,CAAC;6CACQ;IAFnB,cAAc;QAD1B,IAAA,sBAAU,GAAE;OACA,cAAc,CAY1B;IAAD,qBAAC;CAAA,AAZD,IAYC;AAZY,wCAAc"}
@@ -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 resolveModule: ContainerModule;
12
+ export { resolveModule };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.resolveModule = 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 git_url_resolver_1 = require("./git-url-resolver");
15
+ var resolveModule = new inversify_1.ContainerModule(function (bind) {
16
+ bind(git_url_resolver_1.GitUrlResolver).toSelf().inSingletonScope();
17
+ });
18
+ exports.resolveModule = resolveModule;
19
+ //# sourceMappingURL=resolve-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-module.js","sourceRoot":"","sources":["../../src/resolve/resolve-module.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;yEAQyE;AACzE,uCAAwD;AAExD,uDAAoD;AAEpD,IAAM,aAAa,GAAG,IAAI,2BAAe,CAAC,UAAC,IAAqB;IAC9D,IAAI,CAAC,iCAAc,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;AACnD,CAAC,CAAC,CAAC;AAEM,sCAAa"}
@@ -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 './url';
11
+ export interface Resolver {
12
+ /**
13
+ * Validates the string url for belonging to a specific Git provider.
14
+ * @param url string representation of Url.
15
+ */
16
+ isValid(url: string): boolean;
17
+ /**
18
+ * Resolves repository string URL to a {@class Url} object.
19
+ * @param url string representation of Url.
20
+ */
21
+ resolve(url: string): Url;
22
+ }
@@ -0,0 +1,12 @@
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
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/resolve/resolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;yEAQyE"}
@@ -0,0 +1,35 @@
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
+ /**
11
+ * Url object
12
+ */
13
+ export interface Url {
14
+ /**
15
+ * Provides RAW file content url
16
+ * @param path file path
17
+ */
18
+ getContentUrl(path: string): any;
19
+ /**
20
+ * Provides repositories Url
21
+ */
22
+ getUrl(): string;
23
+ /**
24
+ * Provides Git clone url
25
+ */
26
+ getCloneUrl(): string;
27
+ /**
28
+ * Provides repository name
29
+ */
30
+ getRepoName(): string;
31
+ /**
32
+ * Provides branch name if initialised.
33
+ */
34
+ getBranchName(): string;
35
+ }
@@ -0,0 +1,12 @@
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
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/resolve/url.ts"],"names":[],"mappings":";AAAA;;;;;;;;yEAQyE"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,13 @@
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
+ declare const TYPES: {
11
+ Resolver: symbol;
12
+ };
13
+ export { TYPES };
package/lib/types.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.TYPES = 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 TYPES = {
14
+ Resolver: Symbol["for"]('Resolver')
15
+ };
16
+ exports.TYPES = TYPES;
17
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;yEAQyE;AACzE,IAAM,KAAK,GAAG;IACZ,QAAQ,EAAE,MAAM,CAAC,KAAG,CAAA,CAAC,UAAU,CAAC;CACjC,CAAC;AAEO,sBAAK"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-che/che-devworkspace-generator",
3
- "version": "0.0.1-638fadc",
3
+ "version": "0.0.1-7f000bc",
4
4
  "private": false,
5
5
  "description": "Generates DevWorkspaces by transforming existing devfiles",
6
6
  "main": "lib/entrypoint.js",
@@ -0,0 +1,21 @@
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, interfaces } from 'inversify';
11
+
12
+ import { BitbucketResolver } from './bitbucket-resolver';
13
+ import { TYPES } from '../types';
14
+
15
+ const { Resolver } = TYPES;
16
+
17
+ const bitbucketModule = new ContainerModule((bind: interfaces.Bind) => {
18
+ bind(Resolver).to(BitbucketResolver).inSingletonScope();
19
+ });
20
+
21
+ export { bitbucketModule };
@@ -0,0 +1,46 @@
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
+
11
+ import { BitbucketUrl } from './bitbucket-url';
12
+ import { injectable } from 'inversify';
13
+ import { Url } from '../resolve/url';
14
+ import { Resolver } from '../resolve/resolver';
15
+
16
+ @injectable()
17
+ export class BitbucketResolver implements Resolver {
18
+ // eslint-disable-next-line max-len
19
+ static readonly BITBUCKET_URL_PATTERN: RegExp =
20
+ /^https:\/\/.*@?bitbucket\.org\/(?<workspaceId>[^\/]+)\/(?<repoName>[^\/]+)(\/(src|branch)\/(?<branchName>[^\/]+))?\/?$/;
21
+
22
+ isValid(url: string): boolean {
23
+ return BitbucketResolver.BITBUCKET_URL_PATTERN.test(url);
24
+ }
25
+
26
+ resolve(url: string): Url {
27
+ const match = BitbucketResolver.BITBUCKET_URL_PATTERN.exec(url);
28
+ if (!match) {
29
+ throw new Error(`Invalid bitbucket URL: ${url}`);
30
+ }
31
+ const workspaceId = this.getGroup(match, 'workspaceId');
32
+ let repoName = this.getGroup(match, 'repoName');
33
+ if (/^[\w-][\w.-]*?\.git$/.test(repoName)) {
34
+ repoName = repoName.substring(0, repoName.length - 4);
35
+ }
36
+ const branchName = this.getGroup(match, 'branchName', 'HEAD');
37
+ return new BitbucketUrl(workspaceId, repoName, branchName);
38
+ }
39
+
40
+ private getGroup(match: RegExpExecArray, groupName: string, defaultValue?: string) {
41
+ if (match.groups && match.groups[groupName]) {
42
+ return match.groups[groupName];
43
+ }
44
+ return defaultValue;
45
+ }
46
+ }
@@ -0,0 +1,41 @@
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
+
11
+ import { Url } from '../resolve/url';
12
+
13
+ export class BitbucketUrl implements Url {
14
+ private static readonly BITBUCKET_URL = 'https://bitbucket.org';
15
+
16
+ constructor(
17
+ private readonly workspaceId: string,
18
+ private readonly repoName: string,
19
+ private readonly branchName: string
20
+ ) {}
21
+
22
+ getContentUrl(path: string): string {
23
+ return `${BitbucketUrl.BITBUCKET_URL}/${this.workspaceId}/${this.repoName}/raw/${this.branchName}/${path}`;
24
+ }
25
+
26
+ getUrl(): string {
27
+ return `${BitbucketUrl.BITBUCKET_URL}/${this.workspaceId}/${this.repoName}/src/${this.branchName}`;
28
+ }
29
+
30
+ getCloneUrl(): string {
31
+ return `${BitbucketUrl.BITBUCKET_URL}/${this.workspaceId}/${this.repoName}.git`;
32
+ }
33
+
34
+ getRepoName(): string {
35
+ return this.repoName;
36
+ }
37
+
38
+ getBranchName(): string {
39
+ return this.branchName;
40
+ }
41
+ }
@@ -0,0 +1,21 @@
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, interfaces } from 'inversify';
11
+
12
+ import { BitbucketServerResolver } from './bitbucket-server-resolver';
13
+ import { TYPES } from '../types';
14
+
15
+ const { Resolver } = TYPES;
16
+
17
+ const bitbucketServerModule = new ContainerModule((bind: interfaces.Bind) => {
18
+ bind(Resolver).to(BitbucketServerResolver).inSingletonScope();
19
+ });
20
+
21
+ export { bitbucketServerModule };
@@ -0,0 +1,53 @@
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
+
11
+ import { BitbucketServerUrl } from './bitbucket-server-url';
12
+ import { injectable } from 'inversify';
13
+ import { Url } from '../resolve/url';
14
+ import { Resolver } from '../resolve/resolver';
15
+
16
+ @injectable()
17
+ export class BitbucketServerResolver implements Resolver {
18
+ // eslint-disable-next-line max-len
19
+ static readonly BITBUCKET_URL_PATTERNS: RegExp[] = [
20
+ /^(?<scheme>https?):\/\/(?<host>.*)\/scm\/~(?<user>[^\/]+)\/(?<repo>.*).git$/,
21
+ /^(?<scheme>https?):\/\/(?<host>.*)\/users\/(?<user>[^\/]+)\/repos\/(?<repo>[^\/]+)\/browse(\?at=(?<branch>.*))?$/,
22
+ /^(?<scheme>https?):\/\/(?<host>.*)\/scm\/(?<project>[^\/~]+)\/(?<repo>[^\/]+).git$/,
23
+ /^(?<scheme>https?):\/\/(?<host>.*)\/projects\/(?<project>[^\/]+)\/repos\/(?<repo>[^\/]+)\/browse(\?at=(?<branch>.*))?$/,
24
+ ];
25
+
26
+ isValid(url: string): boolean {
27
+ return BitbucketServerResolver.BITBUCKET_URL_PATTERNS.some(p => p.test(url));
28
+ }
29
+
30
+ resolve(url: string): Url {
31
+ const regExp = BitbucketServerResolver.BITBUCKET_URL_PATTERNS.find(p => p.test(url));
32
+ if (!regExp) {
33
+ throw new Error(`Invalid bitbucket-server URL: ${url}`);
34
+ }
35
+ const match = regExp.exec(url);
36
+ const scheme = this.getGroup(match, 'scheme');
37
+ const hostName = this.getGroup(match, 'host');
38
+ const user = this.getGroup(match, 'user');
39
+ const project = this.getGroup(match, 'project');
40
+ const repo = this.getGroup(match, 'repo');
41
+ let branch = this.getGroup(match, 'branch');
42
+ if (branch !== undefined && branch.startsWith('refs%2Fheads%2F')) {
43
+ branch = branch.substring(15);
44
+ }
45
+ return new BitbucketServerUrl(scheme, hostName, user, project, repo, branch);
46
+ }
47
+
48
+ private getGroup(match: RegExpExecArray, groupName: string): string | undefined {
49
+ if (match.groups && match.groups[groupName]) {
50
+ return match.groups[groupName];
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,51 @@
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
+
11
+ import { Url } from '../resolve/url';
12
+
13
+ export class BitbucketServerUrl implements Url {
14
+ constructor(
15
+ private readonly scheme: string,
16
+ private readonly hostName: string,
17
+ private readonly user: string | undefined,
18
+ private readonly project: string | undefined,
19
+ private readonly repo: string,
20
+ private readonly branch: string | undefined
21
+ ) {}
22
+
23
+ getContentUrl(path: string): string {
24
+ const isUser = this.user !== undefined;
25
+ return `${this.scheme}://${this.hostName}/${isUser ? 'users' : 'projects'}/${
26
+ isUser ? this.user : this.project
27
+ }/repos/${this.repo}/raw/${path}${this.branch !== undefined ? '?/at=' + this.branch : ''}`;
28
+ }
29
+
30
+ getUrl(): string {
31
+ const isUser = this.user !== undefined;
32
+ return `${this.scheme}://${this.hostName}/${isUser ? 'users' : 'projects'}/${
33
+ isUser ? this.user : this.project
34
+ }/repos/${this.repo}${this.branch !== undefined ? '/browse?at=' + this.branch : ''}`;
35
+ }
36
+
37
+ getCloneUrl(): string {
38
+ const isUser = this.user !== undefined;
39
+ return `${this.scheme}://${this.hostName}/scm/${isUser ? '~' + this.user : this.project.toLowerCase()}/${
40
+ this.repo
41
+ }.git`;
42
+ }
43
+
44
+ getRepoName(): string {
45
+ return this.repo;
46
+ }
47
+
48
+ getBranchName(): string {
49
+ return this.branch;
50
+ }
51
+ }