@eclipse-che/che-devworkspace-generator 7.92.0 → 7.93.0-next-be04ded
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/LICENSE +201 -0
- package/README.md +51 -9
- package/lib/api/devfile-context.js +2 -2
- package/lib/api/devfile-context.js.map +1 -1
- package/lib/bitbucket/bitbucket-module.js +6 -6
- package/lib/bitbucket/bitbucket-module.js.map +1 -1
- package/lib/bitbucket/bitbucket-resolver.js +23 -26
- package/lib/bitbucket/bitbucket-resolver.js.map +1 -1
- package/lib/bitbucket/bitbucket-url.js +21 -19
- package/lib/bitbucket/bitbucket-url.js.map +1 -1
- package/lib/bitbucket-server/bitbucket-server-module.js +6 -6
- package/lib/bitbucket-server/bitbucket-server-module.js.map +1 -1
- package/lib/bitbucket-server/bitbucket-server-resolver.js +32 -35
- package/lib/bitbucket-server/bitbucket-server-resolver.js.map +1 -1
- package/lib/bitbucket-server/bitbucket-server-url.js +26 -21
- package/lib/bitbucket-server/bitbucket-server-url.js.map +1 -1
- package/lib/devfile/dev-container-component-finder.js +39 -81
- package/lib/devfile/dev-container-component-finder.js.map +1 -1
- package/lib/devfile/dev-container-component-inserter.js +30 -75
- package/lib/devfile/dev-container-component-inserter.js.map +1 -1
- package/lib/devfile/devfile-module.js +5 -5
- package/lib/devfile/devfile-module.js.map +1 -1
- package/lib/devfile-schema/devfile-schema-module.js +4 -4
- package/lib/devfile-schema/devfile-schema-module.js.map +1 -1
- package/lib/devfile-schema/devfile-schema-validator.js +22 -25
- package/lib/devfile-schema/devfile-schema-validator.js.map +1 -1
- package/lib/{plugin-registry/plugin-registry-module.d.ts → editor/editor-module.d.ts} +2 -2
- package/lib/editor/editor-module.js +19 -0
- package/lib/editor/editor-module.js.map +1 -0
- package/lib/{plugin-registry/plugin-registry-resolver.d.ts → editor/editor-resolver.d.ts} +2 -3
- package/lib/editor/editor-resolver.js +64 -0
- package/lib/editor/editor-resolver.js.map +1 -0
- package/lib/entrypoint.js +9 -54
- package/lib/entrypoint.js.map +1 -1
- package/lib/fetch/fetch-module.js +4 -4
- package/lib/fetch/fetch-module.js.map +1 -1
- package/lib/fetch/url-fetcher.js +33 -87
- package/lib/fetch/url-fetcher.js.map +1 -1
- package/lib/generate.js +89 -144
- package/lib/generate.js.map +1 -1
- package/lib/github/github-module.js +6 -6
- package/lib/github/github-module.js.map +1 -1
- package/lib/github/github-resolver.js +26 -29
- package/lib/github/github-resolver.js.map +1 -1
- package/lib/github/github-url.js +24 -19
- package/lib/github/github-url.js.map +1 -1
- package/lib/inversify/inversify-binding.d.ts +0 -1
- package/lib/inversify/inversify-binding.js +25 -68
- package/lib/inversify/inversify-binding.js.map +1 -1
- package/lib/main.d.ts +1 -2
- package/lib/main.js +156 -225
- package/lib/main.js.map +1 -1
- package/lib/resolve/git-url-resolver.js +16 -18
- package/lib/resolve/git-url-resolver.js.map +1 -1
- package/lib/resolve/resolve-module.js +4 -4
- package/lib/resolve/resolve-module.js.map +1 -1
- package/lib/resolve/resolver.js +1 -1
- package/lib/resolve/url.js +1 -1
- package/lib/types.js +3 -3
- package/lib/types.js.map +1 -1
- package/package.json +2 -2
- package/src/{plugin-registry/plugin-registry-module.ts → editor/editor-module.ts} +4 -4
- package/src/{plugin-registry/plugin-registry-resolver.ts → editor/editor-resolver.ts} +5 -10
- package/src/inversify/inversify-binding.ts +2 -4
- package/src/main.ts +12 -28
- package/lib/plugin-registry/plugin-registry-module.js +0 -19
- package/lib/plugin-registry/plugin-registry-module.js.map +0 -1
- package/lib/plugin-registry/plugin-registry-resolver.js +0 -117
- package/lib/plugin-registry/plugin-registry-resolver.js.map +0 -1
package/lib/entrypoint.js
CHANGED
|
@@ -9,59 +9,14 @@
|
|
|
9
9
|
*
|
|
10
10
|
* SPDX-License-Identifier: EPL-2.0
|
|
11
11
|
***********************************************************************/
|
|
12
|
-
|
|
13
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
-
function step(op) {
|
|
26
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
-
switch (op[0]) {
|
|
31
|
-
case 0: case 1: t = op; break;
|
|
32
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
-
default:
|
|
36
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
-
if (t[2]) _.ops.pop();
|
|
41
|
-
_.trys.pop(); continue;
|
|
42
|
-
}
|
|
43
|
-
op = body.call(thisArg, _);
|
|
44
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
exports.__esModule = true;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
13
|
require("reflect-metadata");
|
|
50
|
-
|
|
51
|
-
(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
case 1:
|
|
59
|
-
success = _a.sent();
|
|
60
|
-
if (!success) {
|
|
61
|
-
process.exit(1);
|
|
62
|
-
}
|
|
63
|
-
return [2 /*return*/];
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}); })();
|
|
14
|
+
const main_1 = require("./main");
|
|
15
|
+
(async () => {
|
|
16
|
+
const main = new main_1.Main();
|
|
17
|
+
const success = await main.start();
|
|
18
|
+
if (!success) {
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}
|
|
21
|
+
})();
|
|
67
22
|
//# sourceMappingURL=entrypoint.js.map
|
package/lib/entrypoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":";;AACA;;;;;;;;yEAQyE
|
|
1
|
+
{"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":";;AACA;;;;;;;;yEAQyE;;AAEzE,4BAA0B;AAE1B,iCAA8B;AAE9B,CAAC,KAAK,IAAmB,EAAE;IACzB,MAAM,IAAI,GAAG,IAAI,WAAI,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
exports
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.fetchModule = void 0;
|
|
4
4
|
/**********************************************************************
|
|
5
5
|
* Copyright (c) 2022-2024
|
|
@@ -10,9 +10,9 @@ exports.fetchModule = void 0;
|
|
|
10
10
|
*
|
|
11
11
|
* SPDX-License-Identifier: EPL-2.0
|
|
12
12
|
***********************************************************************/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
const inversify_1 = require("inversify");
|
|
14
|
+
const url_fetcher_1 = require("./url-fetcher");
|
|
15
|
+
const fetchModule = new inversify_1.ContainerModule((bind) => {
|
|
16
16
|
bind(url_fetcher_1.UrlFetcher).toSelf().inSingletonScope();
|
|
17
17
|
});
|
|
18
18
|
exports.fetchModule = fetchModule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-module.js","sourceRoot":"","sources":["../../src/fetch/fetch-module.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;yEAQyE;AACzE,
|
|
1
|
+
{"version":3,"file":"fetch-module.js","sourceRoot":"","sources":["../../src/fetch/fetch-module.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;yEAQyE;AACzE,yCAAwD;AAExD,+CAA2C;AAE3C,MAAM,WAAW,GAAG,IAAI,2BAAe,CAAC,CAAC,IAAqB,EAAE,EAAE;IAChE,IAAI,CAAC,wBAAU,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEM,kCAAW"}
|
package/lib/fetch/url-fetcher.js
CHANGED
|
@@ -5,43 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
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
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
|
|
9
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
18
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
19
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
20
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
21
|
-
function step(op) {
|
|
22
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
23
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
24
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
25
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
26
|
-
switch (op[0]) {
|
|
27
|
-
case 0: case 1: t = op; break;
|
|
28
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
29
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
30
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
31
|
-
default:
|
|
32
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
33
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
34
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
35
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
36
|
-
if (t[2]) _.ops.pop();
|
|
37
|
-
_.trys.pop(); continue;
|
|
38
|
-
}
|
|
39
|
-
op = body.call(thisArg, _);
|
|
40
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
41
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
exports.__esModule = true;
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
9
|
exports.UrlFetcher = void 0;
|
|
46
10
|
/**********************************************************************
|
|
47
11
|
* Copyright (c) 2022-2024
|
|
@@ -52,63 +16,45 @@ exports.UrlFetcher = void 0;
|
|
|
52
16
|
*
|
|
53
17
|
* SPDX-License-Identifier: EPL-2.0
|
|
54
18
|
***********************************************************************/
|
|
55
|
-
|
|
19
|
+
const inversify_1 = require("inversify");
|
|
56
20
|
/**
|
|
57
21
|
* Allow to grab external content
|
|
58
22
|
* if browser support is enabled, it will update URLs to make them work on browser side.
|
|
59
23
|
*/
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
24
|
+
let UrlFetcher = class UrlFetcher {
|
|
25
|
+
// Can't use AxiosInstance interface there
|
|
26
|
+
axiosInstance;
|
|
63
27
|
// fetch content optionally, if the URL is not found, we return undefined without throwing errors
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
switch (_a.label) {
|
|
69
|
-
case 0:
|
|
70
|
-
_a.trys.push([0, 2, , 3]);
|
|
71
|
-
return [4 /*yield*/, this.axiosInstance.get(url, {
|
|
72
|
-
responseType: 'text'
|
|
73
|
-
})];
|
|
74
|
-
case 1:
|
|
75
|
-
response = _a.sent();
|
|
76
|
-
return [2 /*return*/, response.data];
|
|
77
|
-
case 2:
|
|
78
|
-
error_1 = _a.sent();
|
|
79
|
-
// not found then we return undefined
|
|
80
|
-
if (error_1.response && error_1.response.status === 404) {
|
|
81
|
-
return [2 /*return*/, undefined];
|
|
82
|
-
}
|
|
83
|
-
throw error_1;
|
|
84
|
-
case 3: return [2 /*return*/];
|
|
85
|
-
}
|
|
28
|
+
async fetchTextOptionalContent(url) {
|
|
29
|
+
try {
|
|
30
|
+
const response = await this.axiosInstance.get(url, {
|
|
31
|
+
responseType: 'text',
|
|
86
32
|
});
|
|
87
|
-
|
|
88
|
-
|
|
33
|
+
return response.data;
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
// not found then we return undefined
|
|
38
|
+
if (error.response && error.response.status === 404) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
89
44
|
// fetch content
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
return __generator(this, function (_a) {
|
|
94
|
-
switch (_a.label) {
|
|
95
|
-
case 0: return [4 /*yield*/, this.axiosInstance.get(url, {
|
|
96
|
-
responseType: 'text'
|
|
97
|
-
})];
|
|
98
|
-
case 1:
|
|
99
|
-
response = _a.sent();
|
|
100
|
-
return [2 /*return*/, response.data];
|
|
101
|
-
}
|
|
102
|
-
});
|
|
45
|
+
async fetchText(url) {
|
|
46
|
+
const response = await this.axiosInstance.get(url, {
|
|
47
|
+
responseType: 'text',
|
|
103
48
|
});
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
UrlFetcher = __decorate([
|
|
109
|
-
(0, inversify_1.injectable)()
|
|
110
|
-
], UrlFetcher);
|
|
111
|
-
return UrlFetcher;
|
|
112
|
-
}());
|
|
49
|
+
return response.data;
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
51
|
+
}
|
|
52
|
+
};
|
|
113
53
|
exports.UrlFetcher = UrlFetcher;
|
|
54
|
+
__decorate([
|
|
55
|
+
(0, inversify_1.inject)(Symbol.for('AxiosInstance'))
|
|
56
|
+
], UrlFetcher.prototype, "axiosInstance", void 0);
|
|
57
|
+
exports.UrlFetcher = UrlFetcher = __decorate([
|
|
58
|
+
(0, inversify_1.injectable)()
|
|
59
|
+
], UrlFetcher);
|
|
114
60
|
//# sourceMappingURL=url-fetcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-fetcher.js","sourceRoot":"","sources":["../../src/fetch/url-fetcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"url-fetcher.js","sourceRoot":"","sources":["../../src/fetch/url-fetcher.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;yEAQyE;AACzE,yCAA+C;AAI/C;;;GAGG;AAEI,IAAM,UAAU,GAAhB,MAAM,UAAU;IACrB,0CAA0C;IAElC,aAAa,CAAgB;IAErC,iGAAiG;IACjG,KAAK,CAAC,wBAAwB,CAAC,GAAW;QACxC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,GAAG,EAAE;gBACzD,YAAY,EAAE,MAAM;aACrB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;YACrB,8DAA8D;QAChE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,qCAAqC;YACrC,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACpD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,GAAG,EAAE;YACzD,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACrB,8DAA8D;IAChE,CAAC;CACF,CAAA;AA9BY,gCAAU;AAGb;IADP,IAAA,kBAAM,EAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;iDACC;qBAH1B,UAAU;IADtB,IAAA,sBAAU,GAAE;GACA,UAAU,CA8BtB"}
|
package/lib/generate.js
CHANGED
|
@@ -37,142 +37,88 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
37
37
|
__setModuleDefault(result, mod);
|
|
38
38
|
return result;
|
|
39
39
|
};
|
|
40
|
-
|
|
41
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
42
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
43
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
44
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
45
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
46
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
47
|
-
});
|
|
48
|
-
};
|
|
49
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
50
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
51
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
52
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
53
|
-
function step(op) {
|
|
54
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
55
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
56
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
57
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
58
|
-
switch (op[0]) {
|
|
59
|
-
case 0: case 1: t = op; break;
|
|
60
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
61
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
62
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
63
|
-
default:
|
|
64
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
65
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
66
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
67
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
68
|
-
if (t[2]) _.ops.pop();
|
|
69
|
-
_.trys.pop(); continue;
|
|
70
|
-
}
|
|
71
|
-
op = body.call(thisArg, _);
|
|
72
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
73
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
exports.__esModule = true;
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
77
41
|
exports.Generate = void 0;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
42
|
+
const inversify_1 = require("inversify");
|
|
43
|
+
const jsYaml = __importStar(require("js-yaml"));
|
|
44
|
+
const fs = __importStar(require("fs-extra"));
|
|
45
|
+
const dev_container_component_finder_1 = require("./devfile/dev-container-component-finder");
|
|
46
|
+
let Generate = class Generate {
|
|
47
|
+
devContainerComponentFinder;
|
|
48
|
+
async generate(devfileContent, editorContent, outputFile, injectDefaultComponent, defaultComponentImage) {
|
|
49
|
+
const context = await this.generateContent(devfileContent, editorContent, injectDefaultComponent, defaultComponentImage);
|
|
50
|
+
// write the result
|
|
51
|
+
if (outputFile) {
|
|
52
|
+
// write templates and then DevWorkspace in a single file
|
|
53
|
+
const allContentArray = context.devWorkspaceTemplates.map(template => jsYaml.dump(template));
|
|
54
|
+
allContentArray.push(jsYaml.dump(context.devWorkspace));
|
|
55
|
+
const generatedContent = allContentArray.join('---\n');
|
|
56
|
+
await fs.writeFile(outputFile, generatedContent, 'utf-8');
|
|
57
|
+
}
|
|
58
|
+
console.log(`DevWorkspace ${context.devWorkspaceTemplates[0].metadata.name} was generated`);
|
|
59
|
+
return context;
|
|
84
60
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
contributions: [editorSpecContribution]
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
// if the devfile has a starter project, we use it for the devWorkspace
|
|
150
|
-
if (devfileCopy.starterProjects && devfileCopy.starterProjects.length > 0) {
|
|
151
|
-
devWorkspace.spec.template.attributes = {
|
|
152
|
-
'controller.devfile.io/use-starter-project': devfileCopy.starterProjects[0].name
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
devWorkspaceTemplates = [editorDevWorkspaceTemplate];
|
|
156
|
-
context = {
|
|
157
|
-
devfile: devfile,
|
|
158
|
-
devWorkspace: devWorkspace,
|
|
159
|
-
devWorkspaceTemplates: devWorkspaceTemplates,
|
|
160
|
-
suffix: suffix
|
|
161
|
-
};
|
|
162
|
-
// find devContainer component, add a default one if not found
|
|
163
|
-
return [4 /*yield*/, this.devContainerComponentFinder.find(context, injectDefaultComponent, defaultComponentImage)];
|
|
164
|
-
case 1:
|
|
165
|
-
// find devContainer component, add a default one if not found
|
|
166
|
-
_a.sent();
|
|
167
|
-
return [2 /*return*/, context];
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
};
|
|
172
|
-
Generate.prototype.createDevWorkspaceMetadata = function (devfile, addDevfileContent) {
|
|
173
|
-
if (addDevfileContent === void 0) { addDevfileContent = false; }
|
|
174
|
-
var devWorkspaceMetadata = {};
|
|
175
|
-
var devfileMetadata = devfile.metadata;
|
|
61
|
+
async generateContent(devfileContent, editorContent, injectDefaultComponent, defaultComponentImage) {
|
|
62
|
+
const devfile = jsYaml.load(devfileContent);
|
|
63
|
+
// sets the suffix to the devfile name
|
|
64
|
+
const suffix = devfile.metadata.name || '';
|
|
65
|
+
// devfile of the editor
|
|
66
|
+
const editorDevfile = jsYaml.load(editorContent);
|
|
67
|
+
// transform it into a devWorkspace template
|
|
68
|
+
const metadata = this.createDevWorkspaceMetadata(editorDevfile);
|
|
69
|
+
// add sufix
|
|
70
|
+
metadata.name = `${metadata.name}-${suffix}`;
|
|
71
|
+
delete editorDevfile.metadata;
|
|
72
|
+
delete editorDevfile.schemaVersion;
|
|
73
|
+
const editorDevWorkspaceTemplate = {
|
|
74
|
+
apiVersion: 'workspace.devfile.io/v1alpha2',
|
|
75
|
+
kind: 'DevWorkspaceTemplate',
|
|
76
|
+
metadata,
|
|
77
|
+
spec: editorDevfile,
|
|
78
|
+
};
|
|
79
|
+
// transform it into a devWorkspace
|
|
80
|
+
const devfileMetadata = this.createDevWorkspaceMetadata(devfile, true);
|
|
81
|
+
const devfileCopy = Object.assign({}, devfile);
|
|
82
|
+
delete devfileCopy.schemaVersion;
|
|
83
|
+
delete devfileCopy.metadata;
|
|
84
|
+
const editorSpecContribution = {
|
|
85
|
+
name: 'editor',
|
|
86
|
+
kubernetes: {
|
|
87
|
+
name: editorDevWorkspaceTemplate.metadata.name,
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
const devWorkspace = {
|
|
91
|
+
apiVersion: 'workspace.devfile.io/v1alpha2',
|
|
92
|
+
kind: 'DevWorkspace',
|
|
93
|
+
metadata: devfileMetadata,
|
|
94
|
+
spec: {
|
|
95
|
+
started: true,
|
|
96
|
+
routingClass: 'che',
|
|
97
|
+
template: devfileCopy,
|
|
98
|
+
contributions: [editorSpecContribution],
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
// if the devfile has a starter project, we use it for the devWorkspace
|
|
102
|
+
if (devfileCopy.starterProjects && devfileCopy.starterProjects.length > 0) {
|
|
103
|
+
devWorkspace.spec.template.attributes = {
|
|
104
|
+
'controller.devfile.io/use-starter-project': devfileCopy.starterProjects[0].name,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
// for now the list of devWorkspace templates is only the editor template
|
|
108
|
+
const devWorkspaceTemplates = [editorDevWorkspaceTemplate];
|
|
109
|
+
const context = {
|
|
110
|
+
devfile,
|
|
111
|
+
devWorkspace,
|
|
112
|
+
devWorkspaceTemplates,
|
|
113
|
+
suffix,
|
|
114
|
+
};
|
|
115
|
+
// find devContainer component, add a default one if not found
|
|
116
|
+
await this.devContainerComponentFinder.find(context, injectDefaultComponent, defaultComponentImage);
|
|
117
|
+
return context;
|
|
118
|
+
}
|
|
119
|
+
createDevWorkspaceMetadata(devfile, addDevfileContent = false) {
|
|
120
|
+
const devWorkspaceMetadata = {};
|
|
121
|
+
const devfileMetadata = devfile.metadata;
|
|
176
122
|
if (devfileMetadata.name) {
|
|
177
123
|
devWorkspaceMetadata.name = devfileMetadata.name;
|
|
178
124
|
}
|
|
@@ -181,18 +127,17 @@ var Generate = /** @class */ (function () {
|
|
|
181
127
|
}
|
|
182
128
|
if (addDevfileContent) {
|
|
183
129
|
devWorkspaceMetadata.annotations = {
|
|
184
|
-
'che.eclipse.org/devfile': jsYaml.dump(devfile)
|
|
130
|
+
'che.eclipse.org/devfile': jsYaml.dump(devfile),
|
|
185
131
|
};
|
|
186
132
|
}
|
|
187
133
|
return devWorkspaceMetadata;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
(0, inversify_1.inject)(dev_container_component_finder_1.DevContainerComponentFinder)
|
|
191
|
-
], Generate.prototype, "devContainerComponentFinder");
|
|
192
|
-
Generate = __decorate([
|
|
193
|
-
(0, inversify_1.injectable)()
|
|
194
|
-
], Generate);
|
|
195
|
-
return Generate;
|
|
196
|
-
}());
|
|
134
|
+
}
|
|
135
|
+
};
|
|
197
136
|
exports.Generate = Generate;
|
|
137
|
+
__decorate([
|
|
138
|
+
(0, inversify_1.inject)(dev_container_component_finder_1.DevContainerComponentFinder)
|
|
139
|
+
], Generate.prototype, "devContainerComponentFinder", void 0);
|
|
140
|
+
exports.Generate = Generate = __decorate([
|
|
141
|
+
(0, inversify_1.injectable)()
|
|
142
|
+
], Generate);
|
|
198
143
|
//# sourceMappingURL=generate.js.map
|
package/lib/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":";AAAA;;;;;;;;yEAQyE
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
exports
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.githubModule = void 0;
|
|
4
4
|
/**********************************************************************
|
|
5
5
|
* Copyright (c) 2022-2024
|
|
@@ -10,11 +10,11 @@ exports.githubModule = void 0;
|
|
|
10
10
|
*
|
|
11
11
|
* SPDX-License-Identifier: EPL-2.0
|
|
12
12
|
***********************************************************************/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
const inversify_1 = require("inversify");
|
|
14
|
+
const github_resolver_1 = require("./github-resolver");
|
|
15
|
+
const types_1 = require("../types");
|
|
16
|
+
const { Resolver } = types_1.TYPES;
|
|
17
|
+
const githubModule = new inversify_1.ContainerModule((bind) => {
|
|
18
18
|
bind(Resolver).to(github_resolver_1.GithubResolver).inSingletonScope();
|
|
19
19
|
});
|
|
20
20
|
exports.githubModule = githubModule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-module.js","sourceRoot":"","sources":["../../src/github/github-module.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;yEAQyE;AACzE,
|
|
1
|
+
{"version":3,"file":"github-module.js","sourceRoot":"","sources":["../../src/github/github-module.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;yEAQyE;AACzE,yCAAwD;AAExD,uDAAmD;AACnD,oCAAiC;AAEjC,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAK,CAAC;AAE3B,MAAM,YAAY,GAAG,IAAI,2BAAe,CAAC,CAAC,IAAqB,EAAE,EAAE;IACjE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,gCAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;AACvD,CAAC,CAAC,CAAC;AAEM,oCAAY"}
|
|
@@ -14,46 +14,43 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
14
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
15
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
var GithubResolver_1;
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
19
|
exports.GithubResolver = void 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
const github_url_1 = require("./github-url");
|
|
21
|
+
const inversify_1 = require("inversify");
|
|
22
|
+
let GithubResolver = class GithubResolver {
|
|
23
|
+
static { GithubResolver_1 = this; }
|
|
24
|
+
// eslint-disable-next-line max-len
|
|
25
|
+
static GITHUB_URL_PATTERN = /^(?<scheme>https?):\/\/(?<host>github(\..+)?\.[^\/]+)\/(?<repoUser>[^\/]+)\/(?<repoName>[^\/]+)((\/)|\/(blob|tree)\/(?<branchName>[^\/]+)(?:\/(?<subFolder>.*))?)?$/;
|
|
26
|
+
isValid(url) {
|
|
26
27
|
return GithubResolver_1.GITHUB_URL_PATTERN.test(url);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
}
|
|
29
|
+
resolve(link) {
|
|
30
|
+
const match = GithubResolver_1.GITHUB_URL_PATTERN.exec(link);
|
|
30
31
|
if (!match) {
|
|
31
|
-
throw new Error(
|
|
32
|
+
throw new Error(`Invalid github URL: ${link}`);
|
|
32
33
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
const scheme = this.getGroup(match, 'scheme');
|
|
35
|
+
const hostName = this.getGroup(match, 'host');
|
|
36
|
+
const repoUser = this.getGroup(match, 'repoUser');
|
|
37
|
+
let repoName = this.getGroup(match, 'repoName');
|
|
37
38
|
if (/^[\w-][\w.-]*?\.git$/.test(repoName)) {
|
|
38
39
|
repoName = repoName.substring(0, repoName.length - 4);
|
|
39
40
|
}
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
const branchName = this.getGroup(match, 'branchName', 'HEAD');
|
|
42
|
+
const subFolder = this.getGroup(match, 'subFolder');
|
|
42
43
|
return new github_url_1.GithubUrl(scheme, hostName, repoUser, repoName, branchName, subFolder);
|
|
43
|
-
}
|
|
44
|
-
|
|
44
|
+
}
|
|
45
|
+
getGroup(match, groupName, defaultValue) {
|
|
45
46
|
if (match.groups && match.groups[groupName]) {
|
|
46
47
|
return match.groups[groupName];
|
|
47
48
|
}
|
|
48
49
|
return defaultValue || '';
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// eslint-disable-next-line max-len
|
|
52
|
-
GithubResolver.GITHUB_URL_PATTERN = /^(?<scheme>https?):\/\/(?<host>github(\..+)?\.[^\/]+)\/(?<repoUser>[^\/]+)\/(?<repoName>[^\/]+)((\/)|\/(blob|tree)\/(?<branchName>[^\/]+)(?:\/(?<subFolder>.*))?)?$/;
|
|
53
|
-
GithubResolver = GithubResolver_1 = __decorate([
|
|
54
|
-
(0, inversify_1.injectable)()
|
|
55
|
-
], GithubResolver);
|
|
56
|
-
return GithubResolver;
|
|
57
|
-
}());
|
|
50
|
+
}
|
|
51
|
+
};
|
|
58
52
|
exports.GithubResolver = GithubResolver;
|
|
53
|
+
exports.GithubResolver = GithubResolver = GithubResolver_1 = __decorate([
|
|
54
|
+
(0, inversify_1.injectable)()
|
|
55
|
+
], GithubResolver);
|
|
59
56
|
//# sourceMappingURL=github-resolver.js.map
|