@opra/cli 1.21.0 → 1.22.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 (61) hide show
  1. package/package.json +10 -27
  2. package/{esm/ts-generator → ts-generator}/ts-file.js +6 -4
  3. package/{esm/ts-generator → ts-generator}/ts-generator.js +26 -17
  4. package/cjs/code-block.js +0 -17
  5. package/cjs/file-writer.js +0 -11
  6. package/cjs/generator/code-generator.js +0 -7
  7. package/cjs/index.js +0 -4
  8. package/cjs/interfaces/file-writer.interface.js +0 -2
  9. package/cjs/interfaces/logger.interface.js +0 -2
  10. package/cjs/interfaces/service-generation-context.interface.js +0 -2
  11. package/cjs/oprimp-cli.js +0 -40
  12. package/cjs/package.json +0 -3
  13. package/cjs/ts-generator/generators/clean-directory.js +0 -34
  14. package/cjs/ts-generator/generators/generate-data-type.js +0 -338
  15. package/cjs/ts-generator/generators/generate-document.js +0 -73
  16. package/cjs/ts-generator/generators/generate-http-api.js +0 -46
  17. package/cjs/ts-generator/generators/generate-http-controller.js +0 -314
  18. package/cjs/ts-generator/http-controller-node.js +0 -21
  19. package/cjs/ts-generator/index.js +0 -4
  20. package/cjs/ts-generator/ts-file.js +0 -114
  21. package/cjs/ts-generator/ts-generator.js +0 -117
  22. package/cjs/ts-generator/utils/locate-named-type.js +0 -16
  23. package/cjs/ts-generator/utils/string-utils.js +0 -68
  24. package/esm/package.json +0 -3
  25. package/types/index.d.cts +0 -1
  26. /package/{types/code-block.d.ts → code-block.d.ts} +0 -0
  27. /package/{esm/code-block.js → code-block.js} +0 -0
  28. /package/{types/file-writer.d.ts → file-writer.d.ts} +0 -0
  29. /package/{esm/file-writer.js → file-writer.js} +0 -0
  30. /package/{types/generator → generator}/code-generator.d.ts +0 -0
  31. /package/{esm/generator → generator}/code-generator.js +0 -0
  32. /package/{types/index.d.ts → index.d.ts} +0 -0
  33. /package/{esm/index.js → index.js} +0 -0
  34. /package/{types/interfaces → interfaces}/file-writer.interface.d.ts +0 -0
  35. /package/{esm/interfaces → interfaces}/file-writer.interface.js +0 -0
  36. /package/{types/interfaces → interfaces}/logger.interface.d.ts +0 -0
  37. /package/{esm/interfaces → interfaces}/logger.interface.js +0 -0
  38. /package/{types/interfaces → interfaces}/service-generation-context.interface.d.ts +0 -0
  39. /package/{esm/interfaces → interfaces}/service-generation-context.interface.js +0 -0
  40. /package/{types/oprimp-cli.d.ts → oprimp-cli.d.ts} +0 -0
  41. /package/{esm/oprimp-cli.js → oprimp-cli.js} +0 -0
  42. /package/{types/ts-generator → ts-generator}/generators/clean-directory.d.ts +0 -0
  43. /package/{esm/ts-generator → ts-generator}/generators/clean-directory.js +0 -0
  44. /package/{types/ts-generator → ts-generator}/generators/generate-data-type.d.ts +0 -0
  45. /package/{esm/ts-generator → ts-generator}/generators/generate-data-type.js +0 -0
  46. /package/{types/ts-generator → ts-generator}/generators/generate-document.d.ts +0 -0
  47. /package/{esm/ts-generator → ts-generator}/generators/generate-document.js +0 -0
  48. /package/{types/ts-generator → ts-generator}/generators/generate-http-api.d.ts +0 -0
  49. /package/{esm/ts-generator → ts-generator}/generators/generate-http-api.js +0 -0
  50. /package/{types/ts-generator → ts-generator}/generators/generate-http-controller.d.ts +0 -0
  51. /package/{esm/ts-generator → ts-generator}/generators/generate-http-controller.js +0 -0
  52. /package/{types/ts-generator → ts-generator}/http-controller-node.d.ts +0 -0
  53. /package/{esm/ts-generator → ts-generator}/http-controller-node.js +0 -0
  54. /package/{types/ts-generator → ts-generator}/index.d.ts +0 -0
  55. /package/{esm/ts-generator → ts-generator}/index.js +0 -0
  56. /package/{types/ts-generator → ts-generator}/ts-file.d.ts +0 -0
  57. /package/{types/ts-generator → ts-generator}/ts-generator.d.ts +0 -0
  58. /package/{types/ts-generator → ts-generator}/utils/locate-named-type.d.ts +0 -0
  59. /package/{esm/ts-generator → ts-generator}/utils/locate-named-type.js +0 -0
  60. /package/{types/ts-generator → ts-generator}/utils/string-utils.d.ts +0 -0
  61. /package/{esm/ts-generator → ts-generator}/utils/string-utils.js +0 -0
@@ -1,117 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TsGenerator = void 0;
4
- const tslib_1 = require("tslib");
5
- const node_events_1 = require("node:events");
6
- const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
7
- const node_path_1 = tslib_1.__importDefault(require("node:path"));
8
- const node_process_1 = tslib_1.__importDefault(require("node:process"));
9
- const ansi_colors_1 = tslib_1.__importDefault(require("ansi-colors"));
10
- const file_writer_js_1 = require("../file-writer.js");
11
- const clean_directory_js_1 = require("./generators/clean-directory.js");
12
- const generate_data_type_js_1 = require("./generators/generate-data-type.js");
13
- const generate_document_js_1 = require("./generators/generate-document.js");
14
- const generate_http_api_js_1 = require("./generators/generate-http-api.js");
15
- const generate_http_controller_js_1 = require("./generators/generate-http-controller.js");
16
- const ts_file_js_1 = require("./ts-file.js");
17
- /**
18
- * @class TsGenerator
19
- */
20
- class TsGenerator extends node_events_1.EventEmitter {
21
- /**
22
- *
23
- * @constructor
24
- */
25
- constructor(init) {
26
- super();
27
- this._files = {};
28
- this._started = false;
29
- this.serviceUrl = init.serviceUrl;
30
- this.cwd = init.cwd || node_process_1.default.cwd();
31
- this.outDir = init.outDir ? node_path_1.default.resolve(this.cwd, init.outDir) : this.cwd;
32
- this.fileHeader = init.fileHeader || '';
33
- this.writer = init.writer || new file_writer_js_1.FileWriter();
34
- this.options = {
35
- importExt: !!init.importExt,
36
- referenceNamespaces: init.referenceNamespaces,
37
- };
38
- this._documentsMap = new Map();
39
- this._filesMap = new WeakMap();
40
- this.on('log', (message, ...args) => init.logger?.log?.(message, ...args));
41
- this.on('error', (message, ...args) => init.logger?.error?.(message, ...args));
42
- this.on('debug', (message, ...args) => init.logger?.debug?.(message, ...args));
43
- this.on('warn', (message, ...args) => init.logger?.warn?.(message, ...args));
44
- this.on('verbose', (message, ...args) => init.logger?.verbose?.(message, ...args));
45
- }
46
- async generate() {
47
- if (this._started)
48
- return;
49
- this.emit('start');
50
- try {
51
- this._started = true;
52
- this.emit('log', ansi_colors_1.default.cyan('Removing old files..'));
53
- this.cleanDirectory(this.outDir);
54
- this._apiPath = '/api';
55
- this._typesRoot = '/models';
56
- await this.generateDocument();
57
- const { importExt } = this.options;
58
- // Write files
59
- for (const file of Object.values(this._files)) {
60
- const filename = node_path_1.default.join(this.outDir, file.filename);
61
- const targetDir = node_path_1.default.dirname(filename);
62
- node_fs_1.default.mkdirSync(targetDir, { recursive: true });
63
- await this.writer.writeFile(filename, file.generate({ importExt }));
64
- }
65
- }
66
- catch (e) {
67
- this.emit('error', e);
68
- throw e;
69
- }
70
- finally {
71
- this.emit('finish');
72
- }
73
- }
74
- getFile(filePath) {
75
- return this._files[filePath];
76
- }
77
- addFile(filePath, returnExists) {
78
- if (!(filePath.startsWith('.') || filePath.startsWith('/')))
79
- filePath = './' + filePath;
80
- let file = this.getFile(filePath);
81
- if (file) {
82
- if (returnExists)
83
- return file;
84
- throw new Error(`File "${filePath}" already exists`);
85
- }
86
- file = new ts_file_js_1.TsFile(filePath);
87
- file.code.header =
88
- this.fileHeader +
89
- (this._fileHeaderDocInfo ? '\n' + this._fileHeaderDocInfo : '') +
90
- '\n\n';
91
- this._files[file.filename] = file;
92
- return file;
93
- }
94
- extend() {
95
- const instance = {
96
- options: { ...this.options },
97
- };
98
- Object.setPrototypeOf(instance, this);
99
- return instance;
100
- }
101
- }
102
- exports.TsGenerator = TsGenerator;
103
- (() => {
104
- TsGenerator.prototype.cleanDirectory = clean_directory_js_1.cleanDirectory;
105
- TsGenerator.prototype.generateDocument = generate_document_js_1.generateDocument;
106
- TsGenerator.prototype.generateDataType = generate_data_type_js_1.generateDataType;
107
- TsGenerator.prototype._generateTypeCode = generate_data_type_js_1._generateTypeCode;
108
- TsGenerator.prototype._generateArrayTypeCode = generate_data_type_js_1._generateArrayTypeCode;
109
- TsGenerator.prototype._generateComplexTypeCode = generate_data_type_js_1._generateComplexTypeCode;
110
- TsGenerator.prototype._generateEnumTypeCode = generate_data_type_js_1._generateEnumTypeCode;
111
- TsGenerator.prototype._generateMappedTypeCode = generate_data_type_js_1._generateMappedTypeCode;
112
- TsGenerator.prototype._generateMixinTypeCode = generate_data_type_js_1._generateMixinTypeCode;
113
- TsGenerator.prototype._generateSimpleTypeCode = generate_data_type_js_1._generateSimpleTypeCode;
114
- TsGenerator.prototype._generateUnionTypeCode = generate_data_type_js_1._generateUnionTypeCode;
115
- TsGenerator.prototype.generateHttpApi = generate_http_api_js_1.generateHttpApi;
116
- TsGenerator.prototype.generateHttpController = generate_http_controller_js_1.generateHttpController;
117
- })();
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.locateNamedType = locateNamedType;
4
- const common_1 = require("@opra/common");
5
- function locateNamedType(type) {
6
- if (!type)
7
- return;
8
- if (type.name)
9
- return type;
10
- if (type instanceof common_1.SimpleType ||
11
- type instanceof common_1.ComplexType ||
12
- type instanceof common_1.EnumType ||
13
- type instanceof common_1.MappedType) {
14
- return locateNamedType(type.base);
15
- }
16
- }
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wrapJSDocString = wrapJSDocString;
4
- exports.wrapQuotedString = wrapQuotedString;
5
- exports.wrapStringArray = wrapStringArray;
6
- exports.wrapTypeArray = wrapTypeArray;
7
- const tslib_1 = require("tslib");
8
- const js_string_escape_1 = tslib_1.__importDefault(require("js-string-escape"));
9
- function wrapJSDocString(s, indent, currentColumn) {
10
- const arr = (s || '')
11
- .split(/[ \n\r]/)
12
- .map((x, i, a) => i < a.length - 1 ? x + ' ' : x);
13
- return _printLines(arr, {
14
- indent,
15
- currentColumn,
16
- lineStart: '* ',
17
- lineEnd: '',
18
- });
19
- }
20
- function wrapQuotedString(s, indent, currentColumn) {
21
- const arr = (0, js_string_escape_1.default)(s || '')
22
- .split(' ')
23
- .map((x, i, a) => i < a.length - 1 ? x + ' ' : x);
24
- return ("'" +
25
- _printLines(arr, {
26
- indent,
27
- currentColumn,
28
- lineStart: "'",
29
- lineEnd: "' +",
30
- }) +
31
- "'");
32
- }
33
- function wrapStringArray(arr, indent, currentColumn) {
34
- const ar1 = arr.map((x, i, a) => "'" + x + "'" + (i < a.length - 1 ? ', ' : ''));
35
- return '[' + _printLines(ar1, { indent, currentColumn }) + ']';
36
- }
37
- function wrapTypeArray(arr, indent, currentColumn) {
38
- const ar1 = arr.map((x, i, a) => x + (i < a.length - 1 ? ' | ' : ''));
39
- return _printLines(ar1, { indent, currentColumn });
40
- }
41
- function _printLines(arr, opts = {}) {
42
- let s = '';
43
- let line = '';
44
- const indent = opts.indent || 0;
45
- let lineWidth = (opts.lineWidth || 90) - (opts.currentColumn || 0);
46
- const l = arr.length;
47
- const printLine = (eof) => {
48
- s +=
49
- (s
50
- ? '\n' +
51
- ' '.repeat(indent || 0) +
52
- (opts.lineStart ? opts.lineStart : '')
53
- : '') +
54
- line +
55
- (!eof ? (opts.lineEnd ? opts.lineEnd : '') : '');
56
- line = '';
57
- };
58
- for (let i = 0; i < l; i++) {
59
- const x = arr[i];
60
- if (line && line.length + x.length > lineWidth) {
61
- lineWidth = (opts.lineWidth || 90) - indent;
62
- printLine(false);
63
- }
64
- line += x;
65
- }
66
- printLine(true);
67
- return s;
68
- }
package/esm/package.json DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "type": "module"
3
- }
package/types/index.d.cts DELETED
@@ -1 +0,0 @@
1
- export * from './ts-generator/index.js';
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes