@openapitools/openapi-generator-cli 2.6.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +5 -1
  2. package/main.js +1 -1294
  3. package/package.json +7 -6
package/main.js CHANGED
@@ -1,1295 +1,2 @@
1
1
  #!/usr/bin/env node
2
- (function(e, a) { for(var i in a) e[i] = a[i]; }(exports, /******/ (function(modules) { // webpackBootstrap
3
- /******/ // The module cache
4
- /******/ var installedModules = {};
5
- /******/
6
- /******/ // The require function
7
- /******/ function __webpack_require__(moduleId) {
8
- /******/
9
- /******/ // Check if module is in cache
10
- /******/ if(installedModules[moduleId]) {
11
- /******/ return installedModules[moduleId].exports;
12
- /******/ }
13
- /******/ // Create a new module (and put it into the cache)
14
- /******/ var module = installedModules[moduleId] = {
15
- /******/ i: moduleId,
16
- /******/ l: false,
17
- /******/ exports: {}
18
- /******/ };
19
- /******/
20
- /******/ // Execute the module function
21
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22
- /******/
23
- /******/ // Flag the module as loaded
24
- /******/ module.l = true;
25
- /******/
26
- /******/ // Return the exports of the module
27
- /******/ return module.exports;
28
- /******/ }
29
- /******/
30
- /******/
31
- /******/ // expose the modules object (__webpack_modules__)
32
- /******/ __webpack_require__.m = modules;
33
- /******/
34
- /******/ // expose the module cache
35
- /******/ __webpack_require__.c = installedModules;
36
- /******/
37
- /******/ // define getter function for harmony exports
38
- /******/ __webpack_require__.d = function(exports, name, getter) {
39
- /******/ if(!__webpack_require__.o(exports, name)) {
40
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
41
- /******/ }
42
- /******/ };
43
- /******/
44
- /******/ // define __esModule on exports
45
- /******/ __webpack_require__.r = function(exports) {
46
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
47
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
48
- /******/ }
49
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
50
- /******/ };
51
- /******/
52
- /******/ // create a fake namespace object
53
- /******/ // mode & 1: value is a module id, require it
54
- /******/ // mode & 2: merge all properties of value into the ns
55
- /******/ // mode & 4: return value when already ns object
56
- /******/ // mode & 8|1: behave like require
57
- /******/ __webpack_require__.t = function(value, mode) {
58
- /******/ if(mode & 1) value = __webpack_require__(value);
59
- /******/ if(mode & 8) return value;
60
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
61
- /******/ var ns = Object.create(null);
62
- /******/ __webpack_require__.r(ns);
63
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
64
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
65
- /******/ return ns;
66
- /******/ };
67
- /******/
68
- /******/ // getDefaultExport function for compatibility with non-harmony modules
69
- /******/ __webpack_require__.n = function(module) {
70
- /******/ var getter = module && module.__esModule ?
71
- /******/ function getDefault() { return module['default']; } :
72
- /******/ function getModuleExports() { return module; };
73
- /******/ __webpack_require__.d(getter, 'a', getter);
74
- /******/ return getter;
75
- /******/ };
76
- /******/
77
- /******/ // Object.prototype.hasOwnProperty.call
78
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
79
- /******/
80
- /******/ // __webpack_public_path__
81
- /******/ __webpack_require__.p = "";
82
- /******/
83
- /******/
84
- /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 0);
86
- /******/ })
87
- /************************************************************************/
88
- /******/ ({
89
-
90
- /***/ "./apps/generator-cli/src/app/app.module.ts":
91
- /*!**************************************************!*\
92
- !*** ./apps/generator-cli/src/app/app.module.ts ***!
93
- \**************************************************/
94
- /*! exports provided: AppModule */
95
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
96
-
97
- "use strict";
98
- __webpack_require__.r(__webpack_exports__);
99
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppModule", function() { return AppModule; });
100
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "tslib");
101
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(tslib__WEBPACK_IMPORTED_MODULE_0__);
102
- /* harmony import */ var _nestjs_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nestjs/common */ "@nestjs/common");
103
- /* harmony import */ var _nestjs_common__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__);
104
- /* harmony import */ var _nestjs_axios__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @nestjs/axios */ "@nestjs/axios");
105
- /* harmony import */ var _nestjs_axios__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_nestjs_axios__WEBPACK_IMPORTED_MODULE_2__);
106
- /* harmony import */ var commander__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! commander */ "commander");
107
- /* harmony import */ var commander__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(commander__WEBPACK_IMPORTED_MODULE_3__);
108
- /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants */ "./apps/generator-cli/src/app/constants/index.ts");
109
- /* harmony import */ var _controllers_version_manager_controller__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./controllers/version-manager.controller */ "./apps/generator-cli/src/app/controllers/version-manager.controller.ts");
110
- /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./services */ "./apps/generator-cli/src/app/services/index.ts");
111
- var _a, _b, _c;
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
- let AppModule = class AppModule {
120
- constructor(program, versionManager, passThroughService) {
121
- this.program = program;
122
- this.versionManager = versionManager;
123
- this.passThroughService = passThroughService;
124
- this.onApplicationBootstrap = () => Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
125
- let selectedVersion = this.versionManager.getSelectedVersion();
126
- if (!selectedVersion) {
127
- const [{ version }] = yield this.versionManager.search(['latest']).toPromise();
128
- yield this.versionManager.setSelectedVersion(version);
129
- selectedVersion = version;
130
- }
131
- yield this.versionManager.downloadIfNeeded(selectedVersion);
132
- yield this.passThroughService.init();
133
- this.program.parse(process.argv);
134
- });
135
- }
136
- };
137
- AppModule = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
138
- Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Module"])({
139
- imports: [_nestjs_axios__WEBPACK_IMPORTED_MODULE_2__["HttpModule"]],
140
- controllers: [
141
- _controllers_version_manager_controller__WEBPACK_IMPORTED_MODULE_5__["VersionManagerController"]
142
- ],
143
- providers: [
144
- _services__WEBPACK_IMPORTED_MODULE_6__["UIService"],
145
- _services__WEBPACK_IMPORTED_MODULE_6__["ConfigService"],
146
- _services__WEBPACK_IMPORTED_MODULE_6__["GeneratorService"],
147
- _services__WEBPACK_IMPORTED_MODULE_6__["PassThroughService"],
148
- _services__WEBPACK_IMPORTED_MODULE_6__["VersionManagerService"],
149
- {
150
- provide: _constants__WEBPACK_IMPORTED_MODULE_4__["COMMANDER_PROGRAM"],
151
- useValue: new commander__WEBPACK_IMPORTED_MODULE_3__["Command"]('openapi-generator-cli').helpOption(false).usage('<command> [<args>]')
152
- },
153
- { provide: _constants__WEBPACK_IMPORTED_MODULE_4__["LOGGER"], useValue: console }
154
- ]
155
- }),
156
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__param"])(0, Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Inject"])(_constants__WEBPACK_IMPORTED_MODULE_4__["COMMANDER_PROGRAM"])),
157
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"])("design:paramtypes", [typeof (_a = typeof commander__WEBPACK_IMPORTED_MODULE_3__["Command"] !== "undefined" && commander__WEBPACK_IMPORTED_MODULE_3__["Command"]) === "function" ? _a : Object, typeof (_b = typeof _services__WEBPACK_IMPORTED_MODULE_6__["VersionManagerService"] !== "undefined" && _services__WEBPACK_IMPORTED_MODULE_6__["VersionManagerService"]) === "function" ? _b : Object, typeof (_c = typeof _services__WEBPACK_IMPORTED_MODULE_6__["PassThroughService"] !== "undefined" && _services__WEBPACK_IMPORTED_MODULE_6__["PassThroughService"]) === "function" ? _c : Object])
158
- ], AppModule);
159
-
160
-
161
-
162
- /***/ }),
163
-
164
- /***/ "./apps/generator-cli/src/app/constants/index.ts":
165
- /*!*******************************************************!*\
166
- !*** ./apps/generator-cli/src/app/constants/index.ts ***!
167
- \*******************************************************/
168
- /*! exports provided: LOGGER, COMMANDER_PROGRAM */
169
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
170
-
171
- "use strict";
172
- __webpack_require__.r(__webpack_exports__);
173
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LOGGER", function() { return LOGGER; });
174
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "COMMANDER_PROGRAM", function() { return COMMANDER_PROGRAM; });
175
- const LOGGER = Symbol('LOGGER');
176
- const COMMANDER_PROGRAM = Symbol('COMMANDER_PROGRAM');
177
-
178
-
179
- /***/ }),
180
-
181
- /***/ "./apps/generator-cli/src/app/controllers/version-manager.controller.ts":
182
- /*!******************************************************************************!*\
183
- !*** ./apps/generator-cli/src/app/controllers/version-manager.controller.ts ***!
184
- \******************************************************************************/
185
- /*! exports provided: VersionManagerController */
186
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
187
-
188
- "use strict";
189
- __webpack_require__.r(__webpack_exports__);
190
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VersionManagerController", function() { return VersionManagerController; });
191
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "tslib");
192
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(tslib__WEBPACK_IMPORTED_MODULE_0__);
193
- /* harmony import */ var _nestjs_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nestjs/common */ "@nestjs/common");
194
- /* harmony import */ var _nestjs_common__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__);
195
- /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants */ "./apps/generator-cli/src/app/constants/index.ts");
196
- /* harmony import */ var commander__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! commander */ "commander");
197
- /* harmony import */ var commander__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(commander__WEBPACK_IMPORTED_MODULE_3__);
198
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! chalk */ "chalk");
199
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_4__);
200
- /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services */ "./apps/generator-cli/src/app/services/index.ts");
201
- var _a, _b, _c, _d;
202
-
203
-
204
-
205
-
206
-
207
-
208
- let VersionManagerController = class VersionManagerController {
209
- constructor(logger, program, ui, service) {
210
- this.logger = logger;
211
- this.program = program;
212
- this.ui = ui;
213
- this.service = service;
214
- this.mainCommand = this.program
215
- .command('version-manager')
216
- .description('Manage used / installed generator version');
217
- this.listCommand = this.mainCommand
218
- .command('list [versionTags...]')
219
- .description('lists all published versions')
220
- .option('-j, --json', 'print as json', false)
221
- .action(tags => this.list(tags));
222
- this.setCommand = this.mainCommand
223
- .command('set <versionTags...>')
224
- .description('set version to use')
225
- .action(tags => this.set(tags));
226
- this.list = (versionTags) => Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
227
- const versions = yield this.service.search(versionTags).toPromise();
228
- if (this.listCommand.opts().json) {
229
- this.logger.log(JSON.stringify(versions, null, 2));
230
- return;
231
- }
232
- if (versions.length < 1) {
233
- this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_4__["red"]('No results for: ' + versionTags.join(' ')));
234
- return;
235
- }
236
- const { version, installed } = yield this.table(versions);
237
- const isSelected = yield this.service.isSelectedVersion(version);
238
- const choice = (name, cb = () => null, color = v => v) => ({ name: color(name), value: cb });
239
- const choices = [choice('exit')];
240
- if (!installed) {
241
- choices.unshift(choice('download', () => this.service.download(version), chalk__WEBPACK_IMPORTED_MODULE_4__["yellow"]));
242
- }
243
- else if (!isSelected) {
244
- choices.unshift(choice('remove', () => this.service.remove(version), chalk__WEBPACK_IMPORTED_MODULE_4__["red"]));
245
- }
246
- if (!isSelected) {
247
- choices.unshift(choice('use', () => this.service.setSelectedVersion(version), chalk__WEBPACK_IMPORTED_MODULE_4__["green"]));
248
- }
249
- yield (yield this.ui.list({ name: 'next', message: 'Whats next?', choices }))();
250
- });
251
- this.set = (versionTags) => Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
252
- const versions = yield this.service.search(versionTags).toPromise();
253
- if (versions.length > 0) {
254
- yield this.service.setSelectedVersion(versions[0].version);
255
- return;
256
- }
257
- this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_4__["red"](`Unable to find version matching criteria "${versionTags.join(' ')}"`));
258
- });
259
- this.table = (versions) => this.ui.table({
260
- printColNum: false,
261
- message: 'The following releases are available:',
262
- name: 'version',
263
- rows: versions.map(version => {
264
- const stable = version.versionTags.includes('stable');
265
- const selected = this.service.isSelectedVersion(version.version);
266
- const versionTags = version.versionTags.map(t => t === 'latest' ? chalk__WEBPACK_IMPORTED_MODULE_4__["green"](t) : t);
267
- return {
268
- value: version,
269
- short: version.version,
270
- row: {
271
- '☐': selected ? '☒' : '☐',
272
- releasedAt: version.releaseDate.toISOString().split('T')[0],
273
- version: stable ? chalk__WEBPACK_IMPORTED_MODULE_4__["yellow"](version.version) : chalk__WEBPACK_IMPORTED_MODULE_4__["gray"](version.version),
274
- installed: version.installed ? chalk__WEBPACK_IMPORTED_MODULE_4__["green"]('yes') : chalk__WEBPACK_IMPORTED_MODULE_4__["red"]('no'),
275
- versionTags: versionTags.join(' '),
276
- },
277
- };
278
- }),
279
- });
280
- }
281
- };
282
- VersionManagerController = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
283
- Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Controller"])(),
284
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__param"])(0, Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Inject"])(_constants__WEBPACK_IMPORTED_MODULE_2__["LOGGER"])),
285
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__param"])(1, Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Inject"])(_constants__WEBPACK_IMPORTED_MODULE_2__["COMMANDER_PROGRAM"])),
286
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"])("design:paramtypes", [typeof (_a = typeof _constants__WEBPACK_IMPORTED_MODULE_2__["LOGGER"] !== "undefined" && _constants__WEBPACK_IMPORTED_MODULE_2__["LOGGER"]) === "function" ? _a : Object, typeof (_b = typeof commander__WEBPACK_IMPORTED_MODULE_3__["Command"] !== "undefined" && commander__WEBPACK_IMPORTED_MODULE_3__["Command"]) === "function" ? _b : Object, typeof (_c = typeof _services__WEBPACK_IMPORTED_MODULE_5__["UIService"] !== "undefined" && _services__WEBPACK_IMPORTED_MODULE_5__["UIService"]) === "function" ? _c : Object, typeof (_d = typeof _services__WEBPACK_IMPORTED_MODULE_5__["VersionManagerService"] !== "undefined" && _services__WEBPACK_IMPORTED_MODULE_5__["VersionManagerService"]) === "function" ? _d : Object])
287
- ], VersionManagerController);
288
-
289
-
290
-
291
- /***/ }),
292
-
293
- /***/ "./apps/generator-cli/src/app/services/config.service.ts":
294
- /*!***************************************************************!*\
295
- !*** ./apps/generator-cli/src/app/services/config.service.ts ***!
296
- \***************************************************************/
297
- /*! exports provided: ConfigService */
298
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
299
-
300
- "use strict";
301
- __webpack_require__.r(__webpack_exports__);
302
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ConfigService", function() { return ConfigService; });
303
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "tslib");
304
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(tslib__WEBPACK_IMPORTED_MODULE_0__);
305
- /* harmony import */ var _nestjs_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nestjs/common */ "@nestjs/common");
306
- /* harmony import */ var _nestjs_common__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__);
307
- /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! path */ "path");
308
- /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__);
309
- /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constants */ "./apps/generator-cli/src/app/constants/index.ts");
310
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash */ "lodash");
311
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);
312
- /* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! fs-extra */ "fs-extra");
313
- /* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(fs_extra__WEBPACK_IMPORTED_MODULE_5__);
314
- var _a;
315
-
316
-
317
-
318
-
319
-
320
-
321
- let ConfigService = class ConfigService {
322
- get useDocker() {
323
- return this.get('generator-cli.useDocker', false);
324
- }
325
- get dockerImageName() {
326
- return this.get('generator-cli.dockerImageName', 'openapitools/openapi-generator-cli');
327
- }
328
- constructor(logger) {
329
- this.logger = logger;
330
- this.cwd = process.env.PWD || process.env.INIT_CWD || process.cwd();
331
- this.configFile = path__WEBPACK_IMPORTED_MODULE_2__["resolve"](this.cwd, 'openapitools.json');
332
- this.defaultConfig = {
333
- $schema: './node_modules/@openapitools/openapi-generator-cli/config.schema.json',
334
- spaces: 2,
335
- 'generator-cli': {
336
- version: undefined,
337
- },
338
- };
339
- }
340
- get(path, defaultValue) {
341
- return Object(lodash__WEBPACK_IMPORTED_MODULE_4__["get"])(this.read(), path, defaultValue);
342
- }
343
- has(path) {
344
- return Object(lodash__WEBPACK_IMPORTED_MODULE_4__["has"])(this.read(), path);
345
- }
346
- set(path, value) {
347
- this.write(Object(lodash__WEBPACK_IMPORTED_MODULE_4__["set"])(this.read(), path, value));
348
- return this;
349
- }
350
- read() {
351
- fs_extra__WEBPACK_IMPORTED_MODULE_5__["ensureFileSync"](this.configFile);
352
- return Object(lodash__WEBPACK_IMPORTED_MODULE_4__["merge"])(this.defaultConfig, fs_extra__WEBPACK_IMPORTED_MODULE_5__["readJSONSync"](this.configFile, { throws: false, encoding: 'utf8' }));
353
- }
354
- write(config) {
355
- fs_extra__WEBPACK_IMPORTED_MODULE_5__["writeJSONSync"](this.configFile, config, { encoding: 'utf8', spaces: config.spaces || 2 });
356
- }
357
- };
358
- ConfigService = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
359
- Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(),
360
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__param"])(0, Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Inject"])(_constants__WEBPACK_IMPORTED_MODULE_3__["LOGGER"])),
361
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"])("design:paramtypes", [typeof (_a = typeof _constants__WEBPACK_IMPORTED_MODULE_3__["LOGGER"] !== "undefined" && _constants__WEBPACK_IMPORTED_MODULE_3__["LOGGER"]) === "function" ? _a : Object])
362
- ], ConfigService);
363
-
364
-
365
-
366
- /***/ }),
367
-
368
- /***/ "./apps/generator-cli/src/app/services/generator.service.ts":
369
- /*!******************************************************************!*\
370
- !*** ./apps/generator-cli/src/app/services/generator.service.ts ***!
371
- \******************************************************************/
372
- /*! exports provided: GeneratorService */
373
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
374
-
375
- "use strict";
376
- __webpack_require__.r(__webpack_exports__);
377
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GeneratorService", function() { return GeneratorService; });
378
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "tslib");
379
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(tslib__WEBPACK_IMPORTED_MODULE_0__);
380
- /* harmony import */ var _nestjs_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nestjs/common */ "@nestjs/common");
381
- /* harmony import */ var _nestjs_common__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__);
382
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash */ "lodash");
383
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);
384
- /* harmony import */ var concurrently__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! concurrently */ "concurrently");
385
- /* harmony import */ var concurrently__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(concurrently__WEBPACK_IMPORTED_MODULE_3__);
386
- /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! path */ "path");
387
- /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_4__);
388
- /* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! fs-extra */ "fs-extra");
389
- /* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(fs_extra__WEBPACK_IMPORTED_MODULE_5__);
390
- /* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! glob */ "glob");
391
- /* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(glob__WEBPACK_IMPORTED_MODULE_6__);
392
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! chalk */ "chalk");
393
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_7__);
394
- /* harmony import */ var os__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! os */ "os");
395
- /* harmony import */ var os__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(os__WEBPACK_IMPORTED_MODULE_8__);
396
- /* harmony import */ var _version_manager_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./version-manager.service */ "./apps/generator-cli/src/app/services/version-manager.service.ts");
397
- /* harmony import */ var _config_service__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./config.service */ "./apps/generator-cli/src/app/services/config.service.ts");
398
- /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../constants */ "./apps/generator-cli/src/app/constants/index.ts");
399
- var _a, _b, _c;
400
-
401
-
402
-
403
-
404
-
405
-
406
-
407
-
408
-
409
-
410
-
411
-
412
- let GeneratorService = class GeneratorService {
413
- constructor(logger, configService, versionManager) {
414
- this.logger = logger;
415
- this.configService = configService;
416
- this.versionManager = versionManager;
417
- this.configPath = 'generator-cli.generators';
418
- this.enabled = this.configService.has(this.configPath);
419
- this.cmd = (customGenerator, appendix, dockerVolumes = {}) => {
420
- if (this.configService.useDocker) {
421
- const volumes = Object.entries(dockerVolumes).map(([k, v]) => `-v "${v}:${k}"`).join(' ');
422
- const userInfo = os__WEBPACK_IMPORTED_MODULE_8__["userInfo"]();
423
- const userArg = userInfo.uid !== -1 ? `--user ${userInfo.uid}:${userInfo.gid}` : ``;
424
- return [
425
- `docker run --rm`,
426
- userArg,
427
- volumes,
428
- this.versionManager.getDockerImageName(),
429
- 'generate',
430
- appendix
431
- ].join(' ');
432
- }
433
- const cliPath = this.versionManager.filePath();
434
- const subCmd = customGenerator
435
- ? `-cp "${[cliPath, customGenerator].join(this.isWin() ? ';' : ':')}" org.openapitools.codegen.OpenAPIGenerator`
436
- : `-jar "${cliPath}"`;
437
- return [
438
- 'java',
439
- process.env['JAVA_OPTS'],
440
- subCmd,
441
- 'generate',
442
- appendix,
443
- ].filter(lodash__WEBPACK_IMPORTED_MODULE_2__["isString"]).join(' ');
444
- };
445
- this.isWin = () => process.platform === "win32";
446
- }
447
- generate(customGenerator, ...keys) {
448
- return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
449
- const cwd = this.configService.cwd;
450
- const generators = Object.entries(this.configService.get(this.configPath, {}));
451
- const enabledGenerators = generators
452
- .filter(([key, { disabled }]) => {
453
- if (!disabled)
454
- return true;
455
- this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_7__["grey"](`[info] Skip ${chalk__WEBPACK_IMPORTED_MODULE_7__["yellow"](key)}, because this generator is disabled`));
456
- return false;
457
- })
458
- .filter(([key]) => {
459
- if (!keys.length || keys.includes(key))
460
- return true;
461
- this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_7__["grey"](`[info] Skip ${chalk__WEBPACK_IMPORTED_MODULE_7__["yellow"](key)}, because only ${keys.map((k) => chalk__WEBPACK_IMPORTED_MODULE_7__["yellow"](k)).join(', ')} shall run`));
462
- return false;
463
- });
464
- const globsWithNoMatches = [];
465
- const commands = Object(lodash__WEBPACK_IMPORTED_MODULE_2__["flatten"])(enabledGenerators.map(([name, config]) => {
466
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
467
- const { glob: globPattern, disabled } = config, params = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__rest"])(config, ["glob", "disabled"]);
468
- if (!globPattern) {
469
- return [{
470
- name: `[${name}] ${params.inputSpec}`,
471
- command: this.buildCommand(cwd, params, customGenerator)
472
- }];
473
- }
474
- const specFiles = glob__WEBPACK_IMPORTED_MODULE_6__["sync"](globPattern, { cwd });
475
- if (specFiles.length < 1) {
476
- globsWithNoMatches.push(globPattern);
477
- }
478
- return glob__WEBPACK_IMPORTED_MODULE_6__["sync"](globPattern, { cwd }).map(spec => ({
479
- name: `[${name}] ${spec}`,
480
- command: this.buildCommand(cwd, params, customGenerator, spec)
481
- }));
482
- }));
483
- const generated = commands.length > 0 && (yield (() => Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
484
- try {
485
- this.printResult(yield concurrently__WEBPACK_IMPORTED_MODULE_3__(commands, { maxProcesses: 10 }));
486
- return true;
487
- }
488
- catch (e) {
489
- this.printResult(e);
490
- return false;
491
- }
492
- }))());
493
- globsWithNoMatches.map(g => this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_7__["yellow"](`[warn] Did not found any file matching glob "${g}"`)));
494
- return generated;
495
- });
496
- }
497
- printResult(res) {
498
- this.logger.log(Object(lodash__WEBPACK_IMPORTED_MODULE_2__["sortBy"])(res, 'command.name').map(({ exitCode, command }) => {
499
- const failed = exitCode > 0;
500
- return [
501
- chalk__WEBPACK_IMPORTED_MODULE_7__[failed ? 'red' : 'green'](command.name),
502
- ...(failed ? [chalk__WEBPACK_IMPORTED_MODULE_7__["yellow"](` ${command.command}\n`)] : []),
503
- ].join('\n');
504
- }).join('\n'));
505
- }
506
- buildCommand(cwd, params, customGenerator, specFile) {
507
- const dockerVolumes = {};
508
- const absoluteSpecPath = specFile ? path__WEBPACK_IMPORTED_MODULE_4__["resolve"](cwd, specFile) : String(params.inputSpec);
509
- const ext = path__WEBPACK_IMPORTED_MODULE_4__["extname"](absoluteSpecPath);
510
- const name = path__WEBPACK_IMPORTED_MODULE_4__["basename"](absoluteSpecPath, ext);
511
- const placeholders = {
512
- name,
513
- Name: Object(lodash__WEBPACK_IMPORTED_MODULE_2__["upperFirst"])(name),
514
- cwd,
515
- base: path__WEBPACK_IMPORTED_MODULE_4__["basename"](absoluteSpecPath),
516
- dir: specFile && path__WEBPACK_IMPORTED_MODULE_4__["dirname"](absoluteSpecPath),
517
- path: absoluteSpecPath,
518
- relDir: specFile && path__WEBPACK_IMPORTED_MODULE_4__["dirname"](specFile),
519
- relPath: specFile,
520
- ext: ext.split('.').slice(-1).pop()
521
- };
522
- const command = Object.entries(Object.assign({ inputSpec: absoluteSpecPath }, params)).map(([k, v]) => {
523
- const key = Object(lodash__WEBPACK_IMPORTED_MODULE_2__["kebabCase"])(k);
524
- const value = (() => {
525
- switch (typeof v) {
526
- case 'object':
527
- return `"${Object.entries(v).map(z => z.join('=')).join(',')}"`;
528
- case 'number':
529
- case 'bigint':
530
- return `${v}`;
531
- case 'boolean':
532
- return undefined;
533
- default:
534
- if (this.configService.useDocker) {
535
- v = this.replacePlaceholders(placeholders, v);
536
- if (key === 'output') {
537
- fs_extra__WEBPACK_IMPORTED_MODULE_5__["ensureDirSync"](v);
538
- }
539
- if (fs_extra__WEBPACK_IMPORTED_MODULE_5__["existsSync"](v)) {
540
- dockerVolumes[`/local/${key}`] = path__WEBPACK_IMPORTED_MODULE_4__["resolve"](cwd, v);
541
- return `"/local/${key}"`;
542
- }
543
- }
544
- return `"${v}"`;
545
- }
546
- })();
547
- return value === undefined ? `--${key}` : `--${key}=${value}`;
548
- }).join(' ');
549
- return this.cmd(customGenerator, this.replacePlaceholders(placeholders, command), dockerVolumes);
550
- }
551
- replacePlaceholders(placeholders, input) {
552
- return Object.entries(placeholders)
553
- .filter(([, replacement]) => !!replacement)
554
- .reduce((acc, [search, replacement]) => {
555
- return acc.split(`#{${search}}`).join(replacement);
556
- }, input);
557
- }
558
- };
559
- GeneratorService = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
560
- Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(),
561
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__param"])(0, Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Inject"])(_constants__WEBPACK_IMPORTED_MODULE_11__["LOGGER"])),
562
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"])("design:paramtypes", [typeof (_a = typeof _constants__WEBPACK_IMPORTED_MODULE_11__["LOGGER"] !== "undefined" && _constants__WEBPACK_IMPORTED_MODULE_11__["LOGGER"]) === "function" ? _a : Object, typeof (_b = typeof _config_service__WEBPACK_IMPORTED_MODULE_10__["ConfigService"] !== "undefined" && _config_service__WEBPACK_IMPORTED_MODULE_10__["ConfigService"]) === "function" ? _b : Object, typeof (_c = typeof _version_manager_service__WEBPACK_IMPORTED_MODULE_9__["VersionManagerService"] !== "undefined" && _version_manager_service__WEBPACK_IMPORTED_MODULE_9__["VersionManagerService"]) === "function" ? _c : Object])
563
- ], GeneratorService);
564
-
565
-
566
-
567
- /***/ }),
568
-
569
- /***/ "./apps/generator-cli/src/app/services/index.ts":
570
- /*!******************************************************!*\
571
- !*** ./apps/generator-cli/src/app/services/index.ts ***!
572
- \******************************************************/
573
- /*! exports provided: UIService, ConfigService, GeneratorService, PassThroughService, VersionManagerService */
574
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
575
-
576
- "use strict";
577
- __webpack_require__.r(__webpack_exports__);
578
- /* harmony import */ var _ui_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui.service */ "./apps/generator-cli/src/app/services/ui.service.ts");
579
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "UIService", function() { return _ui_service__WEBPACK_IMPORTED_MODULE_0__["UIService"]; });
580
-
581
- /* harmony import */ var _config_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./config.service */ "./apps/generator-cli/src/app/services/config.service.ts");
582
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ConfigService", function() { return _config_service__WEBPACK_IMPORTED_MODULE_1__["ConfigService"]; });
583
-
584
- /* harmony import */ var _generator_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./generator.service */ "./apps/generator-cli/src/app/services/generator.service.ts");
585
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GeneratorService", function() { return _generator_service__WEBPACK_IMPORTED_MODULE_2__["GeneratorService"]; });
586
-
587
- /* harmony import */ var _pass_through_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pass-through.service */ "./apps/generator-cli/src/app/services/pass-through.service.ts");
588
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PassThroughService", function() { return _pass_through_service__WEBPACK_IMPORTED_MODULE_3__["PassThroughService"]; });
589
-
590
- /* harmony import */ var _version_manager_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./version-manager.service */ "./apps/generator-cli/src/app/services/version-manager.service.ts");
591
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "VersionManagerService", function() { return _version_manager_service__WEBPACK_IMPORTED_MODULE_4__["VersionManagerService"]; });
592
-
593
-
594
-
595
-
596
-
597
-
598
-
599
-
600
- /***/ }),
601
-
602
- /***/ "./apps/generator-cli/src/app/services/pass-through.service.ts":
603
- /*!*********************************************************************!*\
604
- !*** ./apps/generator-cli/src/app/services/pass-through.service.ts ***!
605
- \*********************************************************************/
606
- /*! exports provided: PassThroughService */
607
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
608
-
609
- "use strict";
610
- __webpack_require__.r(__webpack_exports__);
611
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PassThroughService", function() { return PassThroughService; });
612
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "tslib");
613
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(tslib__WEBPACK_IMPORTED_MODULE_0__);
614
- /* harmony import */ var _nestjs_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nestjs/common */ "@nestjs/common");
615
- /* harmony import */ var _nestjs_common__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__);
616
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! chalk */ "chalk");
617
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_2__);
618
- /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! child_process */ "child_process");
619
- /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(child_process__WEBPACK_IMPORTED_MODULE_3__);
620
- /* harmony import */ var commander__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! commander */ "commander");
621
- /* harmony import */ var commander__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(commander__WEBPACK_IMPORTED_MODULE_4__);
622
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash */ "lodash");
623
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_5__);
624
- /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../constants */ "./apps/generator-cli/src/app/constants/index.ts");
625
- /* harmony import */ var _generator_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./generator.service */ "./apps/generator-cli/src/app/services/generator.service.ts");
626
- /* harmony import */ var _version_manager_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./version-manager.service */ "./apps/generator-cli/src/app/services/version-manager.service.ts");
627
- /* harmony import */ var _config_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./config.service */ "./apps/generator-cli/src/app/services/config.service.ts");
628
- var _a, _b, _c, _d, _e;
629
-
630
-
631
-
632
-
633
-
634
-
635
-
636
-
637
-
638
-
639
- let PassThroughService = class PassThroughService {
640
- constructor(logger, program, versionManager, configService, generatorService) {
641
- this.logger = logger;
642
- this.program = program;
643
- this.versionManager = versionManager;
644
- this.configService = configService;
645
- this.generatorService = generatorService;
646
- this.passThrough = (cmd) => {
647
- const args = [cmd.name(), ...cmd.args];
648
- Object(child_process__WEBPACK_IMPORTED_MODULE_3__["spawn"])(this.cmd(), args, {
649
- stdio: 'inherit',
650
- shell: true
651
- }).on('exit', process.exit);
652
- };
653
- this.getCommands = () => Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
654
- const [help, completion] = (yield Promise.all([
655
- this.run('help'),
656
- this.run('completion').catch(() => '')
657
- ]));
658
- const commands = help.split('\n')
659
- .filter(line => Object(lodash__WEBPACK_IMPORTED_MODULE_5__["startsWith"])(line, ' '))
660
- .map(lodash__WEBPACK_IMPORTED_MODULE_5__["trim"])
661
- .map(line => line.match(/^([a-z-]+)\s+(.+)/i).slice(1))
662
- .reduce((acc, [cmd, desc]) => (Object.assign(Object.assign({}, acc), { [cmd]: desc })), {});
663
- const allCommands = completion.split('\n')
664
- .map(lodash__WEBPACK_IMPORTED_MODULE_5__["trim"])
665
- .filter(c => c.length > 0 && c.indexOf('--') !== 0);
666
- for (const cmd of allCommands) {
667
- commands[cmd] = commands[cmd] || '';
668
- }
669
- return Object.entries(commands);
670
- });
671
- this.run = (subCmd) => new Promise((resolve, reject) => {
672
- Object(child_process__WEBPACK_IMPORTED_MODULE_3__["exec"])(`${this.cmd()} ${subCmd}`, (error, stdout, stderr) => {
673
- error ? reject(new Error(stderr)) : resolve(stdout);
674
- });
675
- });
676
- this.isWin = () => process.platform === "win32";
677
- }
678
- init() {
679
- return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
680
- this.program
681
- .allowUnknownOption()
682
- .option("--custom-generator <generator>", "Custom generator jar");
683
- const commands = (yield this.getCommands()).reduce((acc, [name, desc]) => {
684
- return acc.set(name, this.program
685
- .command(name, { hidden: !desc })
686
- .description(desc)
687
- .allowUnknownOption()
688
- .action((_, c) => this.passThrough(c)));
689
- }, new Map());
690
- /*
691
- * Overwrite help command
692
- */
693
- commands.get('help').action((_, cmd) => {
694
- if (!cmd.args.length) {
695
- this.printHelp(this.program);
696
- return;
697
- }
698
- const [helpCmd] = cmd.args;
699
- if (commands.has(helpCmd)) {
700
- this.printHelp(commands.get(helpCmd));
701
- }
702
- this.passThrough(cmd);
703
- });
704
- /*
705
- * Overwrite generate command
706
- */
707
- commands.get('generate')
708
- .option("--generator-key <generator...>", "Run generator by key. Separate by comma to run many generators")
709
- .action((_, cmd) => Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
710
- var _a;
711
- if (cmd.args.length === 0 || cmd.opts().generatorKey) {
712
- const customGenerator = (_a = this.program.opts()) === null || _a === void 0 ? void 0 : _a.customGenerator;
713
- const generatorKeys = cmd.opts().generatorKey || [];
714
- if (this.generatorService.enabled) {
715
- // @todo cover by unit test
716
- if (!(yield this.generatorService.generate(customGenerator, ...generatorKeys))) {
717
- this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_2__["red"]('Code generation failed'));
718
- process.exit(1);
719
- }
720
- return;
721
- }
722
- }
723
- this.passThrough(cmd);
724
- }));
725
- });
726
- }
727
- cmd() {
728
- var _a;
729
- if (this.configService.useDocker) {
730
- return [
731
- `docker run --rm -v "${this.configService.cwd}:/local"`,
732
- this.versionManager.getDockerImageName(),
733
- ].join(' ');
734
- }
735
- const customGenerator = (_a = this.program.opts()) === null || _a === void 0 ? void 0 : _a.customGenerator;
736
- const cliPath = this.versionManager.filePath();
737
- const subCmd = customGenerator
738
- ? `-cp "${[cliPath, customGenerator].join(this.isWin() ? ';' : ':')}" org.openapitools.codegen.OpenAPIGenerator`
739
- : `-jar "${cliPath}"`;
740
- return ['java', process.env['JAVA_OPTS'], subCmd].filter(lodash__WEBPACK_IMPORTED_MODULE_5__["isString"]).join(' ');
741
- }
742
- printHelp(cmd) {
743
- console.log(chalk__WEBPACK_IMPORTED_MODULE_2__["cyanBright"](cmd.helpInformation()));
744
- }
745
- };
746
- PassThroughService = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
747
- Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(),
748
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__param"])(0, Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Inject"])(_constants__WEBPACK_IMPORTED_MODULE_6__["LOGGER"])),
749
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__param"])(1, Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Inject"])(_constants__WEBPACK_IMPORTED_MODULE_6__["COMMANDER_PROGRAM"])),
750
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"])("design:paramtypes", [typeof (_a = typeof _constants__WEBPACK_IMPORTED_MODULE_6__["LOGGER"] !== "undefined" && _constants__WEBPACK_IMPORTED_MODULE_6__["LOGGER"]) === "function" ? _a : Object, typeof (_b = typeof commander__WEBPACK_IMPORTED_MODULE_4__["Command"] !== "undefined" && commander__WEBPACK_IMPORTED_MODULE_4__["Command"]) === "function" ? _b : Object, typeof (_c = typeof _version_manager_service__WEBPACK_IMPORTED_MODULE_8__["VersionManagerService"] !== "undefined" && _version_manager_service__WEBPACK_IMPORTED_MODULE_8__["VersionManagerService"]) === "function" ? _c : Object, typeof (_d = typeof _config_service__WEBPACK_IMPORTED_MODULE_9__["ConfigService"] !== "undefined" && _config_service__WEBPACK_IMPORTED_MODULE_9__["ConfigService"]) === "function" ? _d : Object, typeof (_e = typeof _generator_service__WEBPACK_IMPORTED_MODULE_7__["GeneratorService"] !== "undefined" && _generator_service__WEBPACK_IMPORTED_MODULE_7__["GeneratorService"]) === "function" ? _e : Object])
751
- ], PassThroughService);
752
-
753
-
754
-
755
- /***/ }),
756
-
757
- /***/ "./apps/generator-cli/src/app/services/ui.service.ts":
758
- /*!***********************************************************!*\
759
- !*** ./apps/generator-cli/src/app/services/ui.service.ts ***!
760
- \***********************************************************/
761
- /*! exports provided: UIService */
762
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
763
-
764
- "use strict";
765
- __webpack_require__.r(__webpack_exports__);
766
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UIService", function() { return UIService; });
767
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "tslib");
768
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(tslib__WEBPACK_IMPORTED_MODULE_0__);
769
- /* harmony import */ var _nestjs_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nestjs/common */ "@nestjs/common");
770
- /* harmony import */ var _nestjs_common__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__);
771
- /* harmony import */ var inquirer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! inquirer */ "inquirer");
772
- /* harmony import */ var inquirer__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(inquirer__WEBPACK_IMPORTED_MODULE_2__);
773
- /* harmony import */ var console_table__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! console.table */ "console.table");
774
- /* harmony import */ var console_table__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(console_table__WEBPACK_IMPORTED_MODULE_3__);
775
-
776
- // import ora from 'ora'
777
-
778
-
779
-
780
- let UIService = class UIService {
781
- table(config) {
782
- return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
783
- const table = Object(console_table__WEBPACK_IMPORTED_MODULE_3__["getTable"])(config.rows.map(({ row }, index) => {
784
- return config.printColNum === false ? row : (Object.assign({ '#': index + 1 }, row));
785
- }));
786
- const [header, separator, ...rows] = table.trim().split('\n');
787
- return this.list({
788
- name: config.name,
789
- message: config.message,
790
- choices: [
791
- new inquirer__WEBPACK_IMPORTED_MODULE_2__["Separator"](header),
792
- new inquirer__WEBPACK_IMPORTED_MODULE_2__["Separator"](separator),
793
- ...rows.map((name, index) => ({
794
- name,
795
- short: config.rows[index].short,
796
- value: config.rows[index].value,
797
- })),
798
- new inquirer__WEBPACK_IMPORTED_MODULE_2__["Separator"](separator),
799
- new inquirer__WEBPACK_IMPORTED_MODULE_2__["Separator"](' '.repeat(separator.length)),
800
- ],
801
- });
802
- });
803
- }
804
- list(config) {
805
- return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
806
- const separatorCount = config
807
- .choices
808
- .filter((c) => c instanceof inquirer__WEBPACK_IMPORTED_MODULE_2__["Separator"])
809
- .length;
810
- const res = yield Object(inquirer__WEBPACK_IMPORTED_MODULE_2__["prompt"])([{
811
- type: 'list',
812
- name: config.name,
813
- pageSize: process.stdout.rows - separatorCount - 1,
814
- message: config.message,
815
- choices: config.choices,
816
- }]);
817
- return res[config.name];
818
- });
819
- }
820
- };
821
- UIService = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
822
- Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Injectable"])()
823
- ], UIService);
824
-
825
-
826
-
827
- /***/ }),
828
-
829
- /***/ "./apps/generator-cli/src/app/services/version-manager.service.ts":
830
- /*!************************************************************************!*\
831
- !*** ./apps/generator-cli/src/app/services/version-manager.service.ts ***!
832
- \************************************************************************/
833
- /*! exports provided: VersionManagerService */
834
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
835
-
836
- "use strict";
837
- __webpack_require__.r(__webpack_exports__);
838
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VersionManagerService", function() { return VersionManagerService; });
839
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "tslib");
840
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(tslib__WEBPACK_IMPORTED_MODULE_0__);
841
- /* harmony import */ var _nestjs_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nestjs/common */ "@nestjs/common");
842
- /* harmony import */ var _nestjs_common__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__);
843
- /* harmony import */ var _nestjs_axios__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @nestjs/axios */ "@nestjs/axios");
844
- /* harmony import */ var _nestjs_axios__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_nestjs_axios__WEBPACK_IMPORTED_MODULE_2__);
845
- /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs/operators */ "rxjs/operators");
846
- /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__);
847
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash */ "lodash");
848
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);
849
- /* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! fs-extra */ "fs-extra");
850
- /* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(fs_extra__WEBPACK_IMPORTED_MODULE_5__);
851
- /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! path */ "path");
852
- /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_6__);
853
- /* harmony import */ var os__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! os */ "os");
854
- /* harmony import */ var os__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(os__WEBPACK_IMPORTED_MODULE_7__);
855
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! chalk */ "chalk");
856
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_8__);
857
- /* harmony import */ var compare_versions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! compare-versions */ "compare-versions");
858
- /* harmony import */ var compare_versions__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(compare_versions__WEBPACK_IMPORTED_MODULE_9__);
859
- /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../constants */ "./apps/generator-cli/src/app/constants/index.ts");
860
- /* harmony import */ var _config_service__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./config.service */ "./apps/generator-cli/src/app/services/config.service.ts");
861
- /* harmony import */ var _config_schema_json__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../config.schema.json */ "./apps/generator-cli/src/config.schema.json");
862
- var _config_schema_json__WEBPACK_IMPORTED_MODULE_12___namespace = /*#__PURE__*/__webpack_require__.t(/*! ../../config.schema.json */ "./apps/generator-cli/src/config.schema.json", 1);
863
- /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! child_process */ "child_process");
864
- /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(child_process__WEBPACK_IMPORTED_MODULE_13__);
865
- var _a, _b, _c;
866
-
867
-
868
-
869
-
870
-
871
-
872
-
873
-
874
-
875
-
876
-
877
-
878
-
879
-
880
- const mvn = {
881
- repo: 'https://search.maven.org',
882
- groupId: 'org.openapitools',
883
- artifactId: 'openapi-generator-cli'
884
- };
885
- let VersionManagerService = class VersionManagerService {
886
- constructor(logger, httpService, configService) {
887
- this.logger = logger;
888
- this.httpService = httpService;
889
- this.configService = configService;
890
- this.customStorageDir = this.configService.get('generator-cli.storageDir');
891
- this.storage = this.customStorageDir ? path__WEBPACK_IMPORTED_MODULE_6__["resolve"](this.configService.cwd, this.customStorageDir.replace('~', os__WEBPACK_IMPORTED_MODULE_7__["homedir"]())) : path__WEBPACK_IMPORTED_MODULE_6__["resolve"](__dirname, './versions');
892
- }
893
- getAll() {
894
- const queryUrl = this.replacePlaceholders(this.configService.get('generator-cli.repository.queryUrl') ||
895
- _config_schema_json__WEBPACK_IMPORTED_MODULE_12__["properties"]['generator-cli'].properties.repository.queryUrl.default);
896
- return this.httpService.get(queryUrl).pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["map"])(({ data }) => data.response.docs), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["map"])(docs => docs.map((doc) => {
897
- var _a;
898
- return ({
899
- version: doc.v,
900
- versionTags: [
901
- ...(((_a = doc.v.match(/^[0-9]+\.[0-9]+\.[0-9]+$/)) === null || _a === void 0 ? void 0 : _a.concat('stable')) || []),
902
- ...(doc.v.match(/(^[0-9]+\.[0-9]+\.[0-9]+)-(([a-z]+)[0-9]?)$/) || [])
903
- ],
904
- releaseDate: new Date(doc.timestamp),
905
- installed: this.isDownloaded(doc.v),
906
- downloadLink: this.createDownloadLink(doc.v)
907
- });
908
- })), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["map"])(versions => {
909
- const latestVersion = this.filterVersionsByTags(versions, ['stable'])
910
- .sort((l, r) => compare_versions__WEBPACK_IMPORTED_MODULE_9__(l.version, r.version)).pop();
911
- latestVersion.versionTags.push('latest'); // works, because it's a reference
912
- return versions;
913
- }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["catchError"])((e) => {
914
- this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_8__["red"](`Unable to query repository, because of: "${e.message}"`));
915
- this.printResponseError(e);
916
- return [];
917
- }));
918
- }
919
- search(tags) {
920
- return this.getAll().pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["map"])(versions => this.filterVersionsByTags(versions, tags)));
921
- }
922
- isSelectedVersion(versionName) {
923
- return versionName === this.getSelectedVersion();
924
- }
925
- getSelectedVersion() {
926
- return this.configService.get('generator-cli.version');
927
- }
928
- getDockerImageName(versionName) {
929
- return `${this.configService.dockerImageName}:v${versionName || this.getSelectedVersion()}`;
930
- }
931
- setSelectedVersion(versionName) {
932
- return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
933
- const downloaded = yield this.downloadIfNeeded(versionName);
934
- if (downloaded) {
935
- this.configService.set('generator-cli.version', versionName);
936
- this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_8__["green"](`Did set selected version to ${versionName}`));
937
- }
938
- });
939
- }
940
- remove(versionName) {
941
- return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
942
- if (this.configService.useDocker) {
943
- yield new Promise(resolve => {
944
- Object(child_process__WEBPACK_IMPORTED_MODULE_13__["spawn"])('docker', ['rmi', this.getDockerImageName(versionName)], {
945
- stdio: 'inherit',
946
- shell: true
947
- }).on('exit', () => resolve());
948
- });
949
- }
950
- else {
951
- fs_extra__WEBPACK_IMPORTED_MODULE_5__["removeSync"](this.filePath(versionName));
952
- }
953
- this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_8__["green"](`Removed ${versionName}`));
954
- });
955
- }
956
- download(versionName) {
957
- return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
958
- this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_8__["yellow"](`Download ${versionName} ...`));
959
- if (this.configService.useDocker) {
960
- yield new Promise(resolve => {
961
- Object(child_process__WEBPACK_IMPORTED_MODULE_13__["spawn"])('docker', ['pull', this.getDockerImageName(versionName)], {
962
- stdio: 'inherit',
963
- shell: true
964
- }).on('exit', () => resolve());
965
- });
966
- this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_8__["green"](`Downloaded ${versionName}`));
967
- return;
968
- }
969
- const downloadLink = this.createDownloadLink(versionName);
970
- const filePath = this.filePath(versionName);
971
- try {
972
- yield this.httpService
973
- .get(downloadLink, { responseType: 'stream' })
974
- .pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["switchMap"])(res => new Promise(resolve => {
975
- fs_extra__WEBPACK_IMPORTED_MODULE_5__["ensureDirSync"](this.storage);
976
- const temporaryDirectory = fs_extra__WEBPACK_IMPORTED_MODULE_5__["mkdtempSync"](path__WEBPACK_IMPORTED_MODULE_6__["join"](os__WEBPACK_IMPORTED_MODULE_7__["tmpdir"](), 'generator-cli-'));
977
- const temporaryFilePath = path__WEBPACK_IMPORTED_MODULE_6__["join"](temporaryDirectory, versionName);
978
- const file = fs_extra__WEBPACK_IMPORTED_MODULE_5__["createWriteStream"](temporaryFilePath);
979
- res.data.pipe(file);
980
- file.on('finish', content => {
981
- fs_extra__WEBPACK_IMPORTED_MODULE_5__["moveSync"](temporaryFilePath, filePath, { overwrite: true });
982
- resolve(content);
983
- });
984
- }))).toPromise();
985
- if (this.customStorageDir) {
986
- this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_8__["green"](`Downloaded ${versionName} to custom storage location ${this.storage}`));
987
- }
988
- else {
989
- this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_8__["green"](`Downloaded ${versionName}`));
990
- }
991
- return true;
992
- }
993
- catch (e) {
994
- this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_8__["red"](`Download failed, because of: "${e.message}"`));
995
- this.printResponseError(e);
996
- return false;
997
- }
998
- });
999
- }
1000
- downloadIfNeeded(versionName) {
1001
- return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
1002
- return this.isDownloaded(versionName) || this.download(versionName);
1003
- });
1004
- }
1005
- isDownloaded(versionName) {
1006
- if (this.configService.useDocker) {
1007
- const { status } = Object(child_process__WEBPACK_IMPORTED_MODULE_13__["spawnSync"])('docker', ['image', 'inspect', this.getDockerImageName(versionName)]);
1008
- return status === 0;
1009
- }
1010
- return fs_extra__WEBPACK_IMPORTED_MODULE_5__["existsSync"](path__WEBPACK_IMPORTED_MODULE_6__["resolve"](this.storage, `${versionName}.jar`));
1011
- }
1012
- filterVersionsByTags(versions, tags) {
1013
- if (tags.length < 1) {
1014
- return versions;
1015
- }
1016
- return versions.filter(v => tags.every(tag => {
1017
- return v.versionTags.some(vTag => vTag.indexOf(tag) === 0);
1018
- }));
1019
- }
1020
- createDownloadLink(versionName) {
1021
- return this.replacePlaceholders((this.configService.get('generator-cli.repository.downloadUrl') ||
1022
- _config_schema_json__WEBPACK_IMPORTED_MODULE_12__["properties"]['generator-cli'].properties.repository.downloadUrl.default), { versionName });
1023
- }
1024
- replacePlaceholders(str, additionalPlaceholders = {}) {
1025
- const placeholders = Object.assign(Object.assign({}, additionalPlaceholders), { groupId: Object(lodash__WEBPACK_IMPORTED_MODULE_4__["replace"])(mvn.groupId, '.', '/'), artifactId: Object(lodash__WEBPACK_IMPORTED_MODULE_4__["replace"])(mvn.artifactId, '.', '/'), 'group.id': mvn.groupId, 'artifact.id': mvn.artifactId });
1026
- for (const [k, v] of Object.entries(placeholders)) {
1027
- str = str.split(`$\{${k}}`).join(v);
1028
- }
1029
- return str;
1030
- }
1031
- printResponseError(error) {
1032
- if (error.isAxiosError) {
1033
- this.logger.log(chalk__WEBPACK_IMPORTED_MODULE_8__["red"]('\nResponse:'));
1034
- Object.entries(error.response.headers).forEach(a => this.logger.log(...a));
1035
- this.logger.log();
1036
- error.response.data.on('data', data => this.logger.log(data.toString('utf8')));
1037
- }
1038
- }
1039
- filePath(versionName = this.getSelectedVersion()) {
1040
- return path__WEBPACK_IMPORTED_MODULE_6__["resolve"](this.storage, `${versionName}.jar`);
1041
- }
1042
- };
1043
- VersionManagerService = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
1044
- Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(),
1045
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__param"])(0, Object(_nestjs_common__WEBPACK_IMPORTED_MODULE_1__["Inject"])(_constants__WEBPACK_IMPORTED_MODULE_10__["LOGGER"])),
1046
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"])("design:paramtypes", [typeof (_a = typeof _constants__WEBPACK_IMPORTED_MODULE_10__["LOGGER"] !== "undefined" && _constants__WEBPACK_IMPORTED_MODULE_10__["LOGGER"]) === "function" ? _a : Object, typeof (_b = typeof _nestjs_axios__WEBPACK_IMPORTED_MODULE_2__["HttpService"] !== "undefined" && _nestjs_axios__WEBPACK_IMPORTED_MODULE_2__["HttpService"]) === "function" ? _b : Object, typeof (_c = typeof _config_service__WEBPACK_IMPORTED_MODULE_11__["ConfigService"] !== "undefined" && _config_service__WEBPACK_IMPORTED_MODULE_11__["ConfigService"]) === "function" ? _c : Object])
1047
- ], VersionManagerService);
1048
-
1049
-
1050
-
1051
- /***/ }),
1052
-
1053
- /***/ "./apps/generator-cli/src/config.schema.json":
1054
- /*!***************************************************!*\
1055
- !*** ./apps/generator-cli/src/config.schema.json ***!
1056
- \***************************************************/
1057
- /*! exports provided: $id, $schema, title, type, required, additionalProperties, properties, definitions, default */
1058
- /***/ (function(module) {
1059
-
1060
- module.exports = JSON.parse("{\"$id\":\"https://openapitools.org/openapi-generator-cli/config.schema.json\",\"$schema\":\"http://json-schema.org/draft-07/schema#\",\"title\":\"OpenAPI Generator CLI - Config\",\"type\":\"object\",\"required\":[\"generator-cli\"],\"additionalProperties\":false,\"properties\":{\"$schema\":{\"type\":\"string\"},\"spaces\":{\"type\":\"number\",\"default\":2},\"generator-cli\":{\"type\":\"object\",\"required\":[\"version\"],\"properties\":{\"version\":{\"type\":\"string\"},\"storageDir\":{\"type\":\"string\"},\"repository\":{\"queryUrl\":{\"type\":\"string\",\"default\":\"https://search.maven.org/solrsearch/select?q=g:${group.id}+AND+a:${artifact.id}&core=gav&start=0&rows=200\"},\"downloadUrl\":{\"type\":\"string\",\"default\":\"https://repo1.maven.org/maven2/${groupId}/${artifactId}/${versionName}/${artifactId}-${versionName}.jar\"}},\"useDocker\":{\"type\":\"boolean\",\"default\":false},\"dockerImageName\":{\"type\":\"string\",\"default\":\"openapitools/openapi-generator-cli\"},\"generators\":{\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/generator\"}}}}},\"definitions\":{\"strOrAnyObject\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"object\",\"additionalProperties\":true}]},\"generator\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"inputSpec\",\"output\",\"generatorName\"]},{\"required\":[\"glob\",\"output\",\"generatorName\"]}],\"properties\":{\"glob\":{\"description\":\"matches local specification files using a glob pattern\",\"type\":\"string\",\"minLength\":1},\"output\":{\"type\":\"string\",\"minLength\":1},\"disabled\":{\"type\":\"boolean\",\"default\":false},\"generatorName\":{\"description\":\"generator to use (see list command for list)\",\"anyOf\":[{\"type\":\"string\"},{\"type\":\"string\",\"enum\":[\"ada\",\"ada-server\",\"android\",\"apache2\",\"apex\",\"asciidoc\",\"aspnetcore\",\"avro-schema\",\"bash\",\"c\",\"clojure\",\"cpp-pistache-server\",\"cpp-qt5-client\",\"cpp-qt5-qhttpengine-server\",\"cpp-restbed-server\",\"cpp-restsdk\",\"cpp-tizen\",\"csharp\",\"csharp-nancyfx\",\"csharp-netcore\",\"cwiki\",\"dart\",\"dart-dio\",\"dart-jaguar\",\"dynamic-html\",\"eiffel\",\"elixir\",\"elm\",\"erlang-client\",\"erlang-proper\",\"erlang-server\",\"flash\",\"fsharp-functions\",\"fsharp-giraffe-server\",\"go\",\"go-experimental\",\"go-gin-server\",\"go-server\",\"graphql-nodejs-express-server\",\"graphql-schema\",\"groovy\",\"haskell\",\"haskell-http-client\",\"html\",\"html2\",\"java\",\"java-inflector\",\"java-msf4j\",\"java-pkmst\",\"java-play-framework\",\"java-undertow-server\",\"java-vertx\",\"java-vertx-web\",\"javascript\",\"javascript-apollo\",\"javascript-closure-angular\",\"javascript-flowtyped\",\"jaxrs-cxf\",\"jaxrs-cxf-cdi\",\"jaxrs-cxf-client\",\"jaxrs-cxf-extended\",\"jaxrs-jersey\",\"jaxrs-resteasy\",\"jaxrs-resteasy-eap\",\"jaxrs-spec\",\"jmeter\",\"k6\",\"kotlin\",\"kotlin-server\",\"kotlin-spring\",\"kotlin-vertx\",\"lua\",\"markdown\",\"mysql-schema\",\"nim\",\"nodejs-express-server\",\"objc\",\"ocaml\",\"openapi\",\"openapi-yaml\",\"perl\",\"php\",\"php-laravel\",\"php-lumen\",\"php-silex\",\"php-slim4\",\"php-symfony\",\"php-ze-ph\",\"powershell\",\"powershell-experimental\",\"protobuf-schema\",\"python\",\"python-aiohttp\",\"python-blueplanet\",\"python-experimental\",\"python-flask\",\"r\",\"ruby\",\"ruby-on-rails\",\"ruby-sinatra\",\"rust\",\"rust-server\",\"scala-akka\",\"scala-akka-http-server\",\"scala-finch\",\"scala-gatling\",\"scala-lagom-server\",\"scala-play-server\",\"scala-sttp\",\"scalatra\",\"scalaz\",\"spring\",\"swift4\",\"swift5\",\"typescript-angular\",\"typescript-angularjs\",\"typescript-aurelia\",\"typescript-axios\",\"typescript-fetch\",\"typescript-inversify\",\"typescript-jquery\",\"typescript-node\",\"typescript-redux-query\",\"typescript-rxjs\"]}]},\"auth\":{\"type\":\"string\",\"description\":\"adds authorization headers when fetching the OpenAPI definitions remotely. Pass in a URL-encoded string of name:header with a comma separating multiple values\"},\"apiNameSuffix\":{\"type\":\"string\",\"description\":\"suffix that will be appended to all API names ('tags'). Default: Api. e.g. Pet => PetApi. Note: Only ruby, python, jaxrs generators support this feature at the moment\"},\"apiPackage\":{\"type\":\"string\",\"description\":\"package for generated api classes\"},\"artifactId\":{\"type\":\"string\",\"description\":\"artifactId in generated pom.xml. This also becomes part of the generated library's filename\"},\"artifactVersion\":{\"type\":\"string\",\"description\":\"artifact version in generated pom.xml. This also becomes part of the generated library's filename\"},\"config\":{\"type\":\"string\",\"description\":\"path to configuration file. It can be JSON or YAML\"},\"dryRun\":{\"type\":\"boolean\",\"description\":\"try things out and report on potential changes (without actually making changes)\"},\"engine\":{\"type\":\"string\",\"enum\":[\"mustache\",\"handlebars\"],\"description\":\"templating engine: \\\"mustache\\\" (default) or \\\"handlebars\\\" (beta)\"},\"enablePostProcessFile\":{\"type\":\"boolean\",\"description\":\"enable post-processing file using environment variables\"},\"generateAliasAsModel\":{\"type\":\"boolean\",\"description\":\"generate model implementation for aliases to map and array schemas. An 'alias' is an array, map, or list which is defined inline in a OpenAPI document and becomes a model in the generated code. A 'map' schema is an object that can have undeclared properties, i.e. the 'additionalproperties' attribute is set on that object. An 'array' schema is a list of sub schemas in a OAS document\"},\"gitHost\":{\"type\":\"string\",\"description\":\"git host, e.g. gitlab.com\"},\"gitRepoId\":{\"type\":\"string\",\"description\":\"git repo ID, e.g. openapi-generator\"},\"gitUserId\":{\"type\":\"string\",\"description\":\"git user ID, e.g. openapitools\"},\"globalProperty\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"object\",\"additionalProperties\":true}],\"description\":\"sets specified global properties (previously called 'system properties') in the format of name=value,name=value (or multiple options, each with name=value)\"},\"groupId\":{\"type\":\"string\",\"description\":\"groupId in generated pom.xml\"},\"httpUserAgent\":{\"type\":\"string\",\"description\":\"HTTP user agent, e.g. codegen_csharp_api_client, default to 'OpenAPI-Generator/{packageVersion}}/{language}'\"},\"inputSpec\":{\"type\":\"string\",\"description\":\"location of the OpenAPI spec, as URL or file (required if not loaded via config using -c)\"},\"ignoreFileOverride\":{\"type\":\"string\",\"description\":\"specifies an override location for the .openapi-generator-ignore file. Most useful on initial generation.\\n\"},\"importMappings\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"object\",\"additionalProperties\":true}],\"description\":\"specifies mappings between a given class and the import that should be used for that class in the format of type=import,type=import. You can also have multiple occurrences of this option\"},\"instantiationTypes\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"object\",\"additionalProperties\":true}],\"description\":\"sets instantiation type mappings in the format of type=instantiatedType,type=instantiatedType.For example (in Java): array=ArrayList,map=HashMap. In other words array types will get instantiated as ArrayList in generated code. You can also have multiple occurrences of this option\"},\"invokerPackage\":{\"type\":\"string\",\"description\":\"root package for generated code\"},\"languageSpecificPrimitives\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"object\",\"additionalProperties\":true}],\"description\":\"specifies additional language specific primitive types in the format of type1,type2,type3,type3. For example: String,boolean,Boolean,Double. You can also have multiple occurrences of this option\"},\"legacyDiscriminatorBehavior\":{\"type\":\"boolean\",\"description\":\"this flag is used by OpenAPITools codegen to influence the processing of the discriminator attribute in OpenAPI documents. This flag has no impact if the OAS document does not use the discriminator attribute. The default value of this flag is set in each language-specific code generator (e.g. Python, Java, go...)using the method toModelName. Note to developers supporting a language generator in OpenAPITools; to fully support the discriminator attribute as defined in the OAS specification 3.x, language generators should set this flag to true by default; however this requires updating the mustache templates to generate a language-specific discriminator lookup function that iterates over {{#mappedModels}} and does not iterate over {{children}}, {{#anyOf}}, or {{#oneOf}}\"},\"library\":{\"type\":\"string\",\"description\":\"library template (sub-template)\"},\"logToStderr\":{\"type\":\"boolean\",\"description\":\"write all log messages (not just errors) to STDOUT. Useful for piping the JSON output of debug options (e.g. `-DdebugOperations`) to an external parser directly while testing a generator\"},\"minimalUpdate\":{\"type\":\"boolean\",\"description\":\"only write output files that have changed\"},\"modelNamePrefix\":{\"type\":\"string\",\"description\":\"prefix that will be prepended to all model names\"},\"modelNameSuffix\":{\"type\":\"string\",\"description\":\"suffix that will be appended to all model names\"},\"modelPackage\":{\"type\":\"string\",\"description\":\"package for generated models\"},\"additionalProperties\":{\"description\":\"sets additional properties that can be referenced by the mustache templates in the format of name=value,name=value. You can also have multiple occurrences of this option\",\"anyOf\":[{\"type\":\"string\"},{\"type\":\"object\",\"additionalProperties\":true}]},\"packageName\":{\"type\":\"string\",\"description\":\"package for generated classes (where supported)\"},\"releaseNote\":{\"type\":\"string\",\"description\":\"release note, default to 'Minor update'\"},\"removeOperationIdPrefix\":{\"type\":\"boolean\",\"description\":\"remove prefix of operationId, e.g. config_getId => getId\"},\"reservedWordsMappings\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"object\",\"additionalProperties\":true}],\"description\":\"specifies how a reserved name should be escaped to. Otherwise, the default _<name> is used. For example id=identifier. You can also have multiple occurrences of this option\"},\"skipOverwrite\":{\"type\":\"boolean\",\"description\":\"specifies if the existing files should be overwritten during the generation\"},\"serverVariables\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"object\",\"additionalProperties\":true}],\"description\":\"sets server variables overrides for spec documents which support variable templating of servers\"},\"skipValidateSpec\":{\"type\":\"boolean\",\"description\":\"skips the default behavior of validating an input specification\"},\"strictSpec\":{\"type\":\"boolean\",\"description\":\"'MUST' and 'SHALL' wording in OpenAPI spec is strictly adhered to. e.g. when false, no fixes will be applied to documents which pass validation but don't follow the spec\"},\"templateDir\":{\"type\":\"string\",\"description\":\"folder containing the template files\"},\"typeMappings\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"object\",\"additionalProperties\":true}],\"description\":\"sets mappings between OpenAPI spec types and generated code types in the format of OpenAPIType=generatedType,OpenAPIType=generatedType. For example: array=List,map=Map,string=String. You can also have multiple occurrences of this option\"},\"verbose\":{\"type\":\"boolean\",\"description\":\"verbose mode\"}}}}}");
1061
-
1062
- /***/ }),
1063
-
1064
- /***/ "./apps/generator-cli/src/main.ts":
1065
- /*!****************************************!*\
1066
- !*** ./apps/generator-cli/src/main.ts ***!
1067
- \****************************************/
1068
- /*! no exports provided */
1069
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1070
-
1071
- "use strict";
1072
- __webpack_require__.r(__webpack_exports__);
1073
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "tslib");
1074
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(tslib__WEBPACK_IMPORTED_MODULE_0__);
1075
- /* harmony import */ var _nestjs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nestjs/core */ "@nestjs/core");
1076
- /* harmony import */ var _nestjs_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_nestjs_core__WEBPACK_IMPORTED_MODULE_1__);
1077
- /* harmony import */ var _app_app_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app/app.module */ "./apps/generator-cli/src/app/app.module.ts");
1078
- /**
1079
- * This is not a production server yet!
1080
- * This is only a minimal backend to get started.
1081
- */
1082
-
1083
-
1084
-
1085
- function bootstrap() {
1086
- return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
1087
- yield _nestjs_core__WEBPACK_IMPORTED_MODULE_1__["NestFactory"].createApplicationContext(_app_app_module__WEBPACK_IMPORTED_MODULE_2__["AppModule"], { logger: false });
1088
- });
1089
- }
1090
- bootstrap();
1091
-
1092
-
1093
- /***/ }),
1094
-
1095
- /***/ 0:
1096
- /*!**********************************************!*\
1097
- !*** multi ./apps/generator-cli/src/main.ts ***!
1098
- \**********************************************/
1099
- /*! no static exports found */
1100
- /***/ (function(module, exports, __webpack_require__) {
1101
-
1102
- module.exports = __webpack_require__(/*! /home/runner/work/openapi-generator-cli/openapi-generator-cli/apps/generator-cli/src/main.ts */"./apps/generator-cli/src/main.ts");
1103
-
1104
-
1105
- /***/ }),
1106
-
1107
- /***/ "@nestjs/axios":
1108
- /*!********************************!*\
1109
- !*** external "@nestjs/axios" ***!
1110
- \********************************/
1111
- /*! no static exports found */
1112
- /***/ (function(module, exports) {
1113
-
1114
- module.exports = require("@nestjs/axios");
1115
-
1116
- /***/ }),
1117
-
1118
- /***/ "@nestjs/common":
1119
- /*!*********************************!*\
1120
- !*** external "@nestjs/common" ***!
1121
- \*********************************/
1122
- /*! no static exports found */
1123
- /***/ (function(module, exports) {
1124
-
1125
- module.exports = require("@nestjs/common");
1126
-
1127
- /***/ }),
1128
-
1129
- /***/ "@nestjs/core":
1130
- /*!*******************************!*\
1131
- !*** external "@nestjs/core" ***!
1132
- \*******************************/
1133
- /*! no static exports found */
1134
- /***/ (function(module, exports) {
1135
-
1136
- module.exports = require("@nestjs/core");
1137
-
1138
- /***/ }),
1139
-
1140
- /***/ "chalk":
1141
- /*!************************!*\
1142
- !*** external "chalk" ***!
1143
- \************************/
1144
- /*! no static exports found */
1145
- /***/ (function(module, exports) {
1146
-
1147
- module.exports = require("chalk");
1148
-
1149
- /***/ }),
1150
-
1151
- /***/ "child_process":
1152
- /*!********************************!*\
1153
- !*** external "child_process" ***!
1154
- \********************************/
1155
- /*! no static exports found */
1156
- /***/ (function(module, exports) {
1157
-
1158
- module.exports = require("child_process");
1159
-
1160
- /***/ }),
1161
-
1162
- /***/ "commander":
1163
- /*!****************************!*\
1164
- !*** external "commander" ***!
1165
- \****************************/
1166
- /*! no static exports found */
1167
- /***/ (function(module, exports) {
1168
-
1169
- module.exports = require("commander");
1170
-
1171
- /***/ }),
1172
-
1173
- /***/ "compare-versions":
1174
- /*!***********************************!*\
1175
- !*** external "compare-versions" ***!
1176
- \***********************************/
1177
- /*! no static exports found */
1178
- /***/ (function(module, exports) {
1179
-
1180
- module.exports = require("compare-versions");
1181
-
1182
- /***/ }),
1183
-
1184
- /***/ "concurrently":
1185
- /*!*******************************!*\
1186
- !*** external "concurrently" ***!
1187
- \*******************************/
1188
- /*! no static exports found */
1189
- /***/ (function(module, exports) {
1190
-
1191
- module.exports = require("concurrently");
1192
-
1193
- /***/ }),
1194
-
1195
- /***/ "console.table":
1196
- /*!********************************!*\
1197
- !*** external "console.table" ***!
1198
- \********************************/
1199
- /*! no static exports found */
1200
- /***/ (function(module, exports) {
1201
-
1202
- module.exports = require("console.table");
1203
-
1204
- /***/ }),
1205
-
1206
- /***/ "fs-extra":
1207
- /*!***************************!*\
1208
- !*** external "fs-extra" ***!
1209
- \***************************/
1210
- /*! no static exports found */
1211
- /***/ (function(module, exports) {
1212
-
1213
- module.exports = require("fs-extra");
1214
-
1215
- /***/ }),
1216
-
1217
- /***/ "glob":
1218
- /*!***********************!*\
1219
- !*** external "glob" ***!
1220
- \***********************/
1221
- /*! no static exports found */
1222
- /***/ (function(module, exports) {
1223
-
1224
- module.exports = require("glob");
1225
-
1226
- /***/ }),
1227
-
1228
- /***/ "inquirer":
1229
- /*!***************************!*\
1230
- !*** external "inquirer" ***!
1231
- \***************************/
1232
- /*! no static exports found */
1233
- /***/ (function(module, exports) {
1234
-
1235
- module.exports = require("inquirer");
1236
-
1237
- /***/ }),
1238
-
1239
- /***/ "lodash":
1240
- /*!*************************!*\
1241
- !*** external "lodash" ***!
1242
- \*************************/
1243
- /*! no static exports found */
1244
- /***/ (function(module, exports) {
1245
-
1246
- module.exports = require("lodash");
1247
-
1248
- /***/ }),
1249
-
1250
- /***/ "os":
1251
- /*!*********************!*\
1252
- !*** external "os" ***!
1253
- \*********************/
1254
- /*! no static exports found */
1255
- /***/ (function(module, exports) {
1256
-
1257
- module.exports = require("os");
1258
-
1259
- /***/ }),
1260
-
1261
- /***/ "path":
1262
- /*!***********************!*\
1263
- !*** external "path" ***!
1264
- \***********************/
1265
- /*! no static exports found */
1266
- /***/ (function(module, exports) {
1267
-
1268
- module.exports = require("path");
1269
-
1270
- /***/ }),
1271
-
1272
- /***/ "rxjs/operators":
1273
- /*!*********************************!*\
1274
- !*** external "rxjs/operators" ***!
1275
- \*********************************/
1276
- /*! no static exports found */
1277
- /***/ (function(module, exports) {
1278
-
1279
- module.exports = require("rxjs/operators");
1280
-
1281
- /***/ }),
1282
-
1283
- /***/ "tslib":
1284
- /*!************************!*\
1285
- !*** external "tslib" ***!
1286
- \************************/
1287
- /*! no static exports found */
1288
- /***/ (function(module, exports) {
1289
-
1290
- module.exports = require("tslib");
1291
-
1292
- /***/ })
1293
-
1294
- /******/ })));
1295
- //# sourceMappingURL=main.js.map
2
+ (()=>{"use strict";var e=[,e=>{e.exports=require("@nestjs/core")},(e,t,r)=>{var i,o,a;Object.defineProperty(t,"__esModule",{value:!0}),t.AppModule=void 0;const s=r(3),n=r(4),c=r(5),p=r(6),l=r(7),d=r(8),g=r(10);let h=class AppModule{constructor(e,t,r){this.program=e,this.versionManager=t,this.passThroughService=r,this.onApplicationBootstrap=async()=>{let e=this.versionManager.getSelectedVersion();if(!e){const[{version:t}]=await this.versionManager.search(["latest"]).toPromise();await this.versionManager.setSelectedVersion(t),e=t}await this.versionManager.downloadIfNeeded(e),await this.passThroughService.init(),this.program.parse(process.argv)}}};t.AppModule=h,t.AppModule=h=s.__decorate([(0,n.Module)({imports:[c.HttpModule],controllers:[d.VersionManagerController],providers:[g.UIService,g.ConfigService,g.GeneratorService,g.PassThroughService,g.VersionManagerService,{provide:l.COMMANDER_PROGRAM,useValue:new p.Command("openapi-generator-cli").helpOption(!1).usage("<command> [<args>]")},{provide:l.LOGGER,useValue:console}]}),s.__param(0,(0,n.Inject)(l.COMMANDER_PROGRAM)),s.__metadata("design:paramtypes",["function"==typeof(i=void 0!==p.Command&&p.Command)?i:Object,"function"==typeof(o=void 0!==g.VersionManagerService&&g.VersionManagerService)?o:Object,"function"==typeof(a=void 0!==g.PassThroughService&&g.PassThroughService)?a:Object])],h)},e=>{e.exports=require("tslib")},e=>{e.exports=require("@nestjs/common")},e=>{e.exports=require("@nestjs/axios")},e=>{e.exports=require("commander")},(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.COMMANDER_PROGRAM=t.LOGGER=void 0,t.LOGGER=Symbol("LOGGER"),t.COMMANDER_PROGRAM=Symbol("COMMANDER_PROGRAM")},(e,t,r)=>{var i,o,a,s;Object.defineProperty(t,"__esModule",{value:!0}),t.VersionManagerController=void 0;const n=r(3),c=r(4),p=r(7),l=r(6),d=n.__importDefault(r(9)),g=r(10);let h=class VersionManagerController{constructor(e,t,r,i){this.logger=e,this.program=t,this.ui=r,this.service=i,this.mainCommand=this.program.command("version-manager").description("Manage used / installed generator version"),this.listCommand=this.mainCommand.command("list [versionTags...]").description("lists all published versions").option("-j, --json","print as json",!1).action((e=>this.list(e))),this.setCommand=this.mainCommand.command("set <versionTags...>").description("set version to use").action((e=>this.set(e))),this.list=async e=>{const t=await this.service.search(e).toPromise();if(this.listCommand.opts().json)return void this.logger.log(JSON.stringify(t,null,2));if(t.length<1)return void this.logger.log(d.default.red("No results for: "+e.join(" ")));const{version:r,installed:i}=await this.table(t),o=await this.service.isSelectedVersion(r),a=(e,t=(()=>null),r=(e=>e))=>({name:r(e),value:t}),s=[a("exit")];i?o||s.unshift(a("remove",(()=>this.service.remove(r)),d.default.red)):s.unshift(a("download",(()=>this.service.download(r)),d.default.yellow)),o||s.unshift(a("use",(()=>this.service.setSelectedVersion(r)),d.default.green)),await(await this.ui.list({name:"next",message:"Whats next?",choices:s}))()},this.set=async e=>{const t=await this.service.search(e).toPromise();t.length>0?await this.service.setSelectedVersion(t[0].version):this.logger.log(d.default.red(`Unable to find version matching criteria "${e.join(" ")}"`))},this.table=e=>this.ui.table({printColNum:!1,message:"The following releases are available:",name:"version",rows:e.map((e=>{const t=e.versionTags.includes("stable"),r=this.service.isSelectedVersion(e.version),i=e.versionTags.map((e=>"latest"===e?d.default.green(e):e));return{value:e,short:e.version,row:{"\u2610":r?"\u2612":"\u2610",releasedAt:e.releaseDate.toISOString().split("T")[0],version:t?d.default.yellow(e.version):d.default.gray(e.version),installed:e.installed?d.default.green("yes"):d.default.red("no"),versionTags:i.join(" ")}}}))})}};t.VersionManagerController=h,t.VersionManagerController=h=n.__decorate([(0,c.Controller)(),n.__param(0,(0,c.Inject)(p.LOGGER)),n.__param(1,(0,c.Inject)(p.COMMANDER_PROGRAM)),n.__metadata("design:paramtypes",["function"==typeof(i=void 0!==p.LOGGER&&p.LOGGER)?i:Object,"function"==typeof(o=void 0!==l.Command&&l.Command)?o:Object,"function"==typeof(a=void 0!==g.UIService&&g.UIService)?a:Object,"function"==typeof(s=void 0!==g.VersionManagerService&&g.VersionManagerService)?s:Object])],h)},e=>{e.exports=require("chalk")},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});const i=r(3);i.__exportStar(r(11),t),i.__exportStar(r(14),t),i.__exportStar(r(18),t),i.__exportStar(r(27),t),i.__exportStar(r(22),t)},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UIService=void 0;const i=r(3),o=r(4),a=r(12),s=r(13);let n=class UIService{async table(e){const t=(0,s.getTable)(e.rows.map((({row:t},r)=>!1===e.printColNum?t:{"#":r+1,...t}))),[r,i,...o]=t.trim().split("\n");return this.list({name:e.name,message:e.message,choices:[new a.Separator(r),new a.Separator(i),...o.map(((t,r)=>({name:t,short:e.rows[r].short,value:e.rows[r].value}))),new a.Separator(i),new a.Separator(" ".repeat(i.length))]})}async list(e){const t=e.choices.filter((e=>e instanceof a.Separator)).length;return(await(0,a.prompt)([{type:"list",name:e.name,pageSize:process.stdout.rows-t-1,message:e.message,choices:e.choices}]))[e.name]}};t.UIService=n,t.UIService=n=i.__decorate([(0,o.Injectable)()],n)},e=>{e.exports=require("inquirer")},e=>{e.exports=require("console.table")},(e,t,r)=>{var i;Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigService=void 0;const o=r(3),a=r(4),s=o.__importStar(r(15)),n=r(7),c=r(16),p=o.__importStar(r(17));let l=class ConfigService{get useDocker(){return this.get("generator-cli.useDocker",!1)}get dockerImageName(){return this.get("generator-cli.dockerImageName","openapitools/openapi-generator-cli")}constructor(e){this.logger=e,this.cwd=process.env.PWD||process.env.INIT_CWD||process.cwd(),this.configFile=s.resolve(this.cwd,"openapitools.json"),this.defaultConfig={$schema:"./node_modules/@openapitools/openapi-generator-cli/config.schema.json",spaces:2,"generator-cli":{version:void 0}}}get(e,t){return(0,c.get)(this.read(),e,t)}has(e){return(0,c.has)(this.read(),e)}set(e,t){return this.write((0,c.set)(this.read(),e,t)),this}read(){return p.ensureFileSync(this.configFile),(0,c.merge)(this.defaultConfig,p.readJSONSync(this.configFile,{throws:!1,encoding:"utf8"}))}write(e){p.writeJSONSync(this.configFile,e,{encoding:"utf8",spaces:e.spaces||2})}};t.ConfigService=l,t.ConfigService=l=o.__decorate([(0,a.Injectable)(),o.__param(0,(0,a.Inject)(n.LOGGER)),o.__metadata("design:paramtypes",["function"==typeof(i=void 0!==n.LOGGER&&n.LOGGER)?i:Object])],l)},e=>{e.exports=require("path")},e=>{e.exports=require("lodash")},e=>{e.exports=require("fs-extra")},(e,t,r)=>{var i,o,a;Object.defineProperty(t,"__esModule",{value:!0}),t.GeneratorService=void 0;const s=r(3),n=r(4),c=r(16),p=s.__importDefault(r(19)),l=s.__importStar(r(15)),d=s.__importStar(r(17)),g=s.__importStar(r(20)),h=s.__importDefault(r(9)),u=s.__importStar(r(21)),m=r(22),f=r(14),v=r(7);let y=class GeneratorService{constructor(e,t,r){this.logger=e,this.configService=t,this.versionManager=r,this.configPath="generator-cli.generators",this.enabled=this.configService.has(this.configPath),this.cmd=(e,t,r={})=>{if(this.configService.useDocker){const e=Object.entries(r).map((([e,t])=>`-v "${t}:${e}"`)).join(" "),i=u.userInfo();return["docker run --rm",-1!==i.uid?`--user ${i.uid}:${i.gid}`:"",e,this.versionManager.getDockerImageName(),"generate",t].join(" ")}const i=this.versionManager.filePath(),o=e?`-cp "${[i,e].join(this.isWin()?";":":")}" org.openapitools.codegen.OpenAPIGenerator`:`-jar "${i}"`;return["java",process.env.JAVA_OPTS,o,"generate",t].filter(c.isString).join(" ")},this.isWin=()=>"win32"===process.platform}async generate(e,...t){const r=this.configService.cwd,i=Object.entries(this.configService.get(this.configPath,{})).filter((([e,{disabled:t}])=>!t||(this.logger.log(h.default.grey(`[info] Skip ${h.default.yellow(e)}, because this generator is disabled`)),!1))).filter((([e])=>!(t.length&&!t.includes(e))||(this.logger.log(h.default.grey(`[info] Skip ${h.default.yellow(e)}, because only ${t.map((e=>h.default.yellow(e))).join(", ")} shall run`)),!1))),o=[],a=(0,c.flatten)(i.map((([t,i])=>{const{glob:a,disabled:s,...n}=i;if(!a)return[{name:`[${t}] ${n.inputSpec}`,command:this.buildCommand(r,n,e)}];return g.sync(a,{cwd:r}).length<1&&o.push(a),g.sync(a,{cwd:r}).map((i=>({name:`[${t}] ${i}`,command:this.buildCommand(r,n,e,i)})))}))),s=a.length>0&&await(async()=>{try{return this.printResult(await(0,p.default)(a,{maxProcesses:10})),!0}catch(e){return this.printResult(e),!1}})();return o.map((e=>this.logger.log(h.default.yellow(`[warn] Did not found any file matching glob "${e}"`)))),s}printResult(e){this.logger.log((0,c.sortBy)(e,"command.name").map((({exitCode:e,command:t})=>{const r=e>0;return[h.default[r?"red":"green"](t.name),...r?[h.default.yellow(` ${t.command}\n`)]:[]].join("\n")})).join("\n"))}buildCommand(e,t,r,i){const o={},a=i?l.resolve(e,i):String(t.inputSpec),s=l.extname(a),n=l.basename(a,s),p={name:n,Name:(0,c.upperFirst)(n),cwd:e,base:l.basename(a),dir:i&&l.dirname(a),path:a,relDir:i&&l.dirname(i),relPath:i,ext:s.split(".").slice(-1).pop()},g=Object.entries({inputSpec:a,...t}).map((([t,r])=>{const i=(0,c.kebabCase)(t),a=(()=>{switch(typeof r){case"object":return`"${Object.entries(r).map((e=>e.join("="))).join(",")}"`;case"number":case"bigint":return`${r}`;case"boolean":return;default:return this.configService.useDocker&&(r=this.replacePlaceholders(p,r),"output"===i&&d.ensureDirSync(r),d.existsSync(r))?(o[`/local/${i}`]=l.resolve(e,r),`"/local/${i}"`):`"${r}"`}})();return void 0===a?`--${i}`:`--${i}=${a}`})).join(" ");return this.cmd(r,this.replacePlaceholders(p,g),o)}replacePlaceholders(e,t){return Object.entries(e).filter((([,e])=>!!e)).reduce(((e,[t,r])=>e.split(`#{${t}}`).join(r)),t)}};t.GeneratorService=y,t.GeneratorService=y=s.__decorate([(0,n.Injectable)(),s.__param(0,(0,n.Inject)(v.LOGGER)),s.__metadata("design:paramtypes",["function"==typeof(i=void 0!==v.LOGGER&&v.LOGGER)?i:Object,"function"==typeof(o=void 0!==f.ConfigService&&f.ConfigService)?o:Object,"function"==typeof(a=void 0!==m.VersionManagerService&&m.VersionManagerService)?a:Object])],y)},e=>{e.exports=require("concurrently")},e=>{e.exports=require("glob")},e=>{e.exports=require("os")},(e,t,r)=>{var i,o,a;Object.defineProperty(t,"__esModule",{value:!0}),t.VersionManagerService=void 0;const s=r(3),n=r(4),c=r(5),p=r(23),l=r(16),d=s.__importStar(r(17)),g=s.__importStar(r(15)),h=s.__importStar(r(21)),u=s.__importDefault(r(9)),m=s.__importDefault(r(24)),f=r(7),v=r(14),y=s.__importStar(r(25)),b=r(26),S="org.openapitools",j="openapi-generator-cli";let w=class VersionManagerService{constructor(e,t,r){this.logger=e,this.httpService=t,this.configService=r,this.customStorageDir=this.configService.get("generator-cli.storageDir"),this.storage=this.customStorageDir?g.resolve(this.configService.cwd,this.customStorageDir.replace("~",h.homedir())):g.resolve(__dirname,"./versions")}getAll(){const e=this.replacePlaceholders(this.configService.get("generator-cli.repository.queryUrl")||y.properties["generator-cli"].properties.repository.queryUrl.default);return this.httpService.get(e).pipe((0,p.map)((({data:e})=>e.response.docs)),(0,p.map)((e=>e.map((e=>({version:e.v,versionTags:[...e.v.match(/^[0-9]+\.[0-9]+\.[0-9]+$/)?.concat("stable")||[],...e.v.match(/(^[0-9]+\.[0-9]+\.[0-9]+)-(([a-z]+)[0-9]?)$/)||[]],releaseDate:new Date(e.timestamp),installed:this.isDownloaded(e.v),downloadLink:this.createDownloadLink(e.v)}))))),(0,p.map)((e=>(this.filterVersionsByTags(e,["stable"]).sort(((e,t)=>(0,m.default)(e.version,t.version))).pop().versionTags.push("latest"),e))),(0,p.catchError)((e=>(this.logger.log(u.default.red(`Unable to query repository, because of: "${e.message}"`)),this.printResponseError(e),[]))))}search(e){return this.getAll().pipe((0,p.map)((t=>this.filterVersionsByTags(t,e))))}isSelectedVersion(e){return e===this.getSelectedVersion()}getSelectedVersion(){return this.configService.get("generator-cli.version")}getDockerImageName(e){return`${this.configService.dockerImageName}:v${e||this.getSelectedVersion()}`}async setSelectedVersion(e){await this.downloadIfNeeded(e)&&(this.configService.set("generator-cli.version",e),this.logger.log(u.default.green(`Did set selected version to ${e}`)))}async remove(e){this.configService.useDocker?await new Promise((t=>{(0,b.spawn)("docker",["rmi",this.getDockerImageName(e)],{stdio:"inherit",shell:!0}).on("exit",(()=>t()))})):d.removeSync(this.filePath(e)),this.logger.log(u.default.green(`Removed ${e}`))}async download(e){if(this.logger.log(u.default.yellow(`Download ${e} ...`)),this.configService.useDocker)return await new Promise((t=>{(0,b.spawn)("docker",["pull",this.getDockerImageName(e)],{stdio:"inherit",shell:!0}).on("exit",(()=>t()))})),void this.logger.log(u.default.green(`Downloaded ${e}`));const t=this.createDownloadLink(e),r=this.filePath(e);try{return await this.httpService.get(t,{responseType:"stream"}).pipe((0,p.switchMap)((t=>new Promise((i=>{d.ensureDirSync(this.storage);const o=d.mkdtempSync(g.join(h.tmpdir(),"generator-cli-")),a=g.join(o,e),s=d.createWriteStream(a);t.data.pipe(s),s.on("finish",(e=>{d.moveSync(a,r,{overwrite:!0}),i(e)}))}))))).toPromise(),this.customStorageDir?this.logger.log(u.default.green(`Downloaded ${e} to custom storage location ${this.storage}`)):this.logger.log(u.default.green(`Downloaded ${e}`)),!0}catch(i){return this.logger.log(u.default.red(`Download failed, because of: "${i.message}"`)),this.printResponseError(i),!1}}async downloadIfNeeded(e){return this.isDownloaded(e)||this.download(e)}isDownloaded(e){if(this.configService.useDocker){const{status:t}=(0,b.spawnSync)("docker",["image","inspect",this.getDockerImageName(e)]);return 0===t}return d.existsSync(g.resolve(this.storage,`${e}.jar`))}filterVersionsByTags(e,t){return t.length<1?e:e.filter((e=>t.every((t=>e.versionTags.some((e=>0===e.indexOf(t)))))))}createDownloadLink(e){return this.replacePlaceholders(this.configService.get("generator-cli.repository.downloadUrl")||y.properties["generator-cli"].properties.repository.downloadUrl.default,{versionName:e})}replacePlaceholders(e,t={}){const r={...t,groupId:(0,l.replace)(S,".","/"),artifactId:(0,l.replace)(j,".","/"),"group.id":S,"artifact.id":j};for(const[i,o]of Object.entries(r))e=e.split(`\${${i}}`).join(o);return e}printResponseError(e){e.isAxiosError&&(this.logger.log(u.default.red("\nResponse:")),Object.entries(e.response.headers).forEach((e=>this.logger.log(...e))),this.logger.log(),e.response.data.on("data",(e=>this.logger.log(e.toString("utf8")))))}filePath(e=this.getSelectedVersion()){return g.resolve(this.storage,`${e}.jar`)}};t.VersionManagerService=w,t.VersionManagerService=w=s.__decorate([(0,n.Injectable)(),s.__param(0,(0,n.Inject)(f.LOGGER)),s.__metadata("design:paramtypes",["function"==typeof(i=void 0!==f.LOGGER&&f.LOGGER)?i:Object,"function"==typeof(o=void 0!==c.HttpService&&c.HttpService)?o:Object,"function"==typeof(a=void 0!==v.ConfigService&&v.ConfigService)?a:Object])],w)},e=>{e.exports=require("rxjs/operators")},e=>{e.exports=require("compare-versions")},e=>{e.exports=JSON.parse('{"$id":"https://openapitools.org/openapi-generator-cli/config.schema.json","$schema":"http://json-schema.org/draft-07/schema#","title":"OpenAPI Generator CLI - Config","type":"object","required":["generator-cli"],"additionalProperties":false,"properties":{"$schema":{"type":"string"},"spaces":{"type":"number","default":2},"generator-cli":{"type":"object","required":["version"],"properties":{"version":{"type":"string"},"storageDir":{"type":"string"},"repository":{"queryUrl":{"type":"string","default":"https://search.maven.org/solrsearch/select?q=g:${group.id}+AND+a:${artifact.id}&core=gav&start=0&rows=200"},"downloadUrl":{"type":"string","default":"https://repo1.maven.org/maven2/${groupId}/${artifactId}/${versionName}/${artifactId}-${versionName}.jar"}},"useDocker":{"type":"boolean","default":false},"dockerImageName":{"type":"string","default":"openapitools/openapi-generator-cli"},"generators":{"type":"object","additionalProperties":{"$ref":"#/definitions/generator"}}}}},"definitions":{"strOrAnyObject":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":true}]},"generator":{"type":"object","anyOf":[{"required":["inputSpec","output","generatorName"]},{"required":["glob","output","generatorName"]}],"properties":{"glob":{"description":"matches local specification files using a glob pattern","type":"string","minLength":1},"output":{"type":"string","minLength":1},"disabled":{"type":"boolean","default":false},"generatorName":{"description":"generator to use (see list command for list)","anyOf":[{"type":"string"},{"type":"string","enum":["ada","ada-server","android","apache2","apex","asciidoc","aspnetcore","avro-schema","bash","c","clojure","cpp-pistache-server","cpp-qt5-client","cpp-qt5-qhttpengine-server","cpp-restbed-server","cpp-restsdk","cpp-tizen","csharp","csharp-nancyfx","csharp-netcore","cwiki","dart","dart-dio","dart-jaguar","dynamic-html","eiffel","elixir","elm","erlang-client","erlang-proper","erlang-server","flash","fsharp-functions","fsharp-giraffe-server","go","go-experimental","go-gin-server","go-server","graphql-nodejs-express-server","graphql-schema","groovy","haskell","haskell-http-client","html","html2","java","java-inflector","java-msf4j","java-pkmst","java-play-framework","java-undertow-server","java-vertx","java-vertx-web","javascript","javascript-apollo","javascript-closure-angular","javascript-flowtyped","jaxrs-cxf","jaxrs-cxf-cdi","jaxrs-cxf-client","jaxrs-cxf-extended","jaxrs-jersey","jaxrs-resteasy","jaxrs-resteasy-eap","jaxrs-spec","jmeter","k6","kotlin","kotlin-server","kotlin-spring","kotlin-vertx","lua","markdown","mysql-schema","nim","nodejs-express-server","objc","ocaml","openapi","openapi-yaml","perl","php","php-laravel","php-lumen","php-silex","php-slim4","php-symfony","php-ze-ph","powershell","powershell-experimental","protobuf-schema","python","python-aiohttp","python-blueplanet","python-experimental","python-flask","r","ruby","ruby-on-rails","ruby-sinatra","rust","rust-server","scala-akka","scala-akka-http-server","scala-finch","scala-gatling","scala-lagom-server","scala-play-server","scala-sttp","scalatra","scalaz","spring","swift4","swift5","typescript-angular","typescript-angularjs","typescript-aurelia","typescript-axios","typescript-fetch","typescript-inversify","typescript-jquery","typescript-node","typescript-redux-query","typescript-rxjs"]}]},"auth":{"type":"string","description":"adds authorization headers when fetching the OpenAPI definitions remotely. Pass in a URL-encoded string of name:header with a comma separating multiple values"},"apiNameSuffix":{"type":"string","description":"suffix that will be appended to all API names (\'tags\'). Default: Api. e.g. Pet => PetApi. Note: Only ruby, python, jaxrs generators support this feature at the moment"},"apiPackage":{"type":"string","description":"package for generated api classes"},"artifactId":{"type":"string","description":"artifactId in generated pom.xml. This also becomes part of the generated library\'s filename"},"artifactVersion":{"type":"string","description":"artifact version in generated pom.xml. This also becomes part of the generated library\'s filename"},"config":{"type":"string","description":"path to configuration file. It can be JSON or YAML"},"dryRun":{"type":"boolean","description":"try things out and report on potential changes (without actually making changes)"},"engine":{"type":"string","enum":["mustache","handlebars"],"description":"templating engine: \\"mustache\\" (default) or \\"handlebars\\" (beta)"},"enablePostProcessFile":{"type":"boolean","description":"enable post-processing file using environment variables"},"generateAliasAsModel":{"type":"boolean","description":"generate model implementation for aliases to map and array schemas. An \'alias\' is an array, map, or list which is defined inline in a OpenAPI document and becomes a model in the generated code. A \'map\' schema is an object that can have undeclared properties, i.e. the \'additionalproperties\' attribute is set on that object. An \'array\' schema is a list of sub schemas in a OAS document"},"gitHost":{"type":"string","description":"git host, e.g. gitlab.com"},"gitRepoId":{"type":"string","description":"git repo ID, e.g. openapi-generator"},"gitUserId":{"type":"string","description":"git user ID, e.g. openapitools"},"globalProperty":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":true}],"description":"sets specified global properties (previously called \'system properties\') in the format of name=value,name=value (or multiple options, each with name=value)"},"groupId":{"type":"string","description":"groupId in generated pom.xml"},"httpUserAgent":{"type":"string","description":"HTTP user agent, e.g. codegen_csharp_api_client, default to \'OpenAPI-Generator/{packageVersion}}/{language}\'"},"inputSpec":{"type":"string","description":"location of the OpenAPI spec, as URL or file (required if not loaded via config using -c)"},"ignoreFileOverride":{"type":"string","description":"specifies an override location for the .openapi-generator-ignore file. Most useful on initial generation.\\n"},"importMappings":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":true}],"description":"specifies mappings between a given class and the import that should be used for that class in the format of type=import,type=import. You can also have multiple occurrences of this option"},"instantiationTypes":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":true}],"description":"sets instantiation type mappings in the format of type=instantiatedType,type=instantiatedType.For example (in Java): array=ArrayList,map=HashMap. In other words array types will get instantiated as ArrayList in generated code. You can also have multiple occurrences of this option"},"invokerPackage":{"type":"string","description":"root package for generated code"},"languageSpecificPrimitives":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":true}],"description":"specifies additional language specific primitive types in the format of type1,type2,type3,type3. For example: String,boolean,Boolean,Double. You can also have multiple occurrences of this option"},"legacyDiscriminatorBehavior":{"type":"boolean","description":"this flag is used by OpenAPITools codegen to influence the processing of the discriminator attribute in OpenAPI documents. This flag has no impact if the OAS document does not use the discriminator attribute. The default value of this flag is set in each language-specific code generator (e.g. Python, Java, go...)using the method toModelName. Note to developers supporting a language generator in OpenAPITools; to fully support the discriminator attribute as defined in the OAS specification 3.x, language generators should set this flag to true by default; however this requires updating the mustache templates to generate a language-specific discriminator lookup function that iterates over {{#mappedModels}} and does not iterate over {{children}}, {{#anyOf}}, or {{#oneOf}}"},"library":{"type":"string","description":"library template (sub-template)"},"logToStderr":{"type":"boolean","description":"write all log messages (not just errors) to STDOUT. Useful for piping the JSON output of debug options (e.g. `-DdebugOperations`) to an external parser directly while testing a generator"},"minimalUpdate":{"type":"boolean","description":"only write output files that have changed"},"modelNamePrefix":{"type":"string","description":"prefix that will be prepended to all model names"},"modelNameSuffix":{"type":"string","description":"suffix that will be appended to all model names"},"modelPackage":{"type":"string","description":"package for generated models"},"additionalProperties":{"description":"sets additional properties that can be referenced by the mustache templates in the format of name=value,name=value. You can also have multiple occurrences of this option","anyOf":[{"type":"string"},{"type":"object","additionalProperties":true}]},"packageName":{"type":"string","description":"package for generated classes (where supported)"},"releaseNote":{"type":"string","description":"release note, default to \'Minor update\'"},"removeOperationIdPrefix":{"type":"boolean","description":"remove prefix of operationId, e.g. config_getId => getId"},"reservedWordsMappings":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":true}],"description":"specifies how a reserved name should be escaped to. Otherwise, the default _<name> is used. For example id=identifier. You can also have multiple occurrences of this option"},"skipOverwrite":{"type":"boolean","description":"specifies if the existing files should be overwritten during the generation"},"serverVariables":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":true}],"description":"sets server variables overrides for spec documents which support variable templating of servers"},"skipValidateSpec":{"type":"boolean","description":"skips the default behavior of validating an input specification"},"strictSpec":{"type":"boolean","description":"\'MUST\' and \'SHALL\' wording in OpenAPI spec is strictly adhered to. e.g. when false, no fixes will be applied to documents which pass validation but don\'t follow the spec"},"templateDir":{"type":"string","description":"folder containing the template files"},"typeMappings":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":true}],"description":"sets mappings between OpenAPI spec types and generated code types in the format of OpenAPIType=generatedType,OpenAPIType=generatedType. For example: array=List,map=Map,string=String. You can also have multiple occurrences of this option"},"verbose":{"type":"boolean","description":"verbose mode"}}}}}')},e=>{e.exports=require("child_process")},(e,t,r)=>{var i,o,a,s,n;Object.defineProperty(t,"__esModule",{value:!0}),t.PassThroughService=void 0;const c=r(3),p=r(4),l=c.__importDefault(r(9)),d=r(26),g=r(6),h=r(16),u=r(7),m=r(18),f=r(22),v=r(14);let y=class PassThroughService{constructor(e,t,r,i,o){this.logger=e,this.program=t,this.versionManager=r,this.configService=i,this.generatorService=o,this.passThrough=e=>{const t=[e.name(),...e.args];(0,d.spawn)(this.cmd(),t,{stdio:"inherit",shell:!0}).on("exit",process.exit)},this.getCommands=async()=>{const[e,t]=await Promise.all([this.run("help"),this.run("completion").catch((()=>""))]),r=e.split("\n").filter((e=>(0,h.startsWith)(e," "))).map(h.trim).map((e=>e.match(/^([a-z-]+)\s+(.+)/i).slice(1))).reduce(((e,[t,r])=>({...e,[t]:r})),{}),i=t.split("\n").map(h.trim).filter((e=>e.length>0&&0!==e.indexOf("--")));for(const o of i)r[o]=r[o]||"";return Object.entries(r)},this.run=e=>new Promise(((t,r)=>{(0,d.exec)(`${this.cmd()} ${e}`,((e,i,o)=>{e?r(new Error(o)):t(i)}))})),this.isWin=()=>"win32"===process.platform}async init(){this.program.allowUnknownOption().option("--custom-generator <generator>","Custom generator jar");const e=(await this.getCommands()).reduce(((e,[t,r])=>e.set(t,this.program.command(t,{hidden:!r}).description(r).allowUnknownOption().action(((e,t)=>this.passThrough(t))))),new Map);e.get("help").action(((t,r)=>{if(!r.args.length)return void this.printHelp(this.program);const[i]=r.args;e.has(i)&&this.printHelp(e.get(i)),this.passThrough(r)})),e.get("generate").option("--generator-key <generator...>","Run generator by key. Separate by comma to run many generators").action((async(e,t)=>{if(0===t.args.length||t.opts().generatorKey){const e=this.program.opts()?.customGenerator,r=t.opts().generatorKey||[];if(this.generatorService.enabled)return void(await this.generatorService.generate(e,...r)||(this.logger.log(l.default.red("Code generation failed")),process.exit(1)))}this.passThrough(t)}))}cmd(){if(this.configService.useDocker)return[`docker run --rm -v "${this.configService.cwd}:/local"`,this.versionManager.getDockerImageName()].join(" ");const e=this.program.opts()?.customGenerator,t=this.versionManager.filePath(),r=e?`-cp "${[t,e].join(this.isWin()?";":":")}" org.openapitools.codegen.OpenAPIGenerator`:`-jar "${t}"`;return["java",process.env.JAVA_OPTS,r].filter(h.isString).join(" ")}printHelp(e){console.log(l.default.cyanBright(e.helpInformation()))}};t.PassThroughService=y,t.PassThroughService=y=c.__decorate([(0,p.Injectable)(),c.__param(0,(0,p.Inject)(u.LOGGER)),c.__param(1,(0,p.Inject)(u.COMMANDER_PROGRAM)),c.__metadata("design:paramtypes",["function"==typeof(i=void 0!==u.LOGGER&&u.LOGGER)?i:Object,"function"==typeof(o=void 0!==g.Command&&g.Command)?o:Object,"function"==typeof(a=void 0!==f.VersionManagerService&&f.VersionManagerService)?a:Object,"function"==typeof(s=void 0!==v.ConfigService&&v.ConfigService)?s:Object,"function"==typeof(n=void 0!==m.GeneratorService&&m.GeneratorService)?n:Object])],y)}],t={};function r(i){var o=t[i];if(void 0!==o)return o.exports;var a=t[i]={exports:{}};return e[i](a,a.exports,r),a.exports}var i={};(()=>{var e=i;Object.defineProperty(e,"__esModule",{value:!0});const t=r(1),o=r(2);!async function(){await t.NestFactory.createApplicationContext(o.AppModule,{logger:!1})}()})();var o=exports;for(var a in i)o[a]=i[a];i.__esModule&&Object.defineProperty(o,"__esModule",{value:!0})})();