@codenotch/codenotch.cli 1.0.35 → 1.0.37

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 (149) hide show
  1. package/README.md +2 -2
  2. package/dist/commands/generate/app.d.ts +2 -0
  3. package/dist/commands/generate/app.js +45 -0
  4. package/dist/commands/generate/app.js.map +1 -0
  5. package/dist/commands/generate/appmanifest.d.ts +2 -0
  6. package/dist/commands/generate/appmanifest.js +34 -0
  7. package/dist/commands/generate/appmanifest.js.map +1 -0
  8. package/dist/commands/generate/dbcontext.d.ts +2 -0
  9. package/dist/commands/generate/dbcontext.js +32 -0
  10. package/dist/commands/generate/dbcontext.js.map +1 -0
  11. package/dist/commands/generate/i18n.d.ts +2 -0
  12. package/dist/commands/generate/i18n.js +29 -0
  13. package/dist/commands/generate/i18n.js.map +1 -0
  14. package/dist/commands/generate/index.d.ts +2 -0
  15. package/dist/commands/generate/index.js +23 -0
  16. package/dist/commands/generate/index.js.map +1 -0
  17. package/dist/commands/generate/manifest.d.ts +2 -0
  18. package/dist/commands/generate/manifest.js +29 -0
  19. package/dist/commands/generate/manifest.js.map +1 -0
  20. package/dist/commands/generate/openapi.d.ts +2 -0
  21. package/dist/commands/generate/openapi.js +32 -0
  22. package/dist/commands/generate/openapi.js.map +1 -0
  23. package/dist/commands/generate/pkg.d.ts +2 -0
  24. package/dist/commands/generate/pkg.js +34 -0
  25. package/dist/commands/generate/pkg.js.map +1 -0
  26. package/dist/commands/generate/shared.d.ts +17 -0
  27. package/dist/commands/generate/shared.js +70 -0
  28. package/dist/commands/generate/shared.js.map +1 -0
  29. package/dist/commands/index.js +2 -0
  30. package/dist/commands/index.js.map +1 -1
  31. package/dist/commands/project/new.js +107 -187
  32. package/dist/commands/project/new.js.map +1 -1
  33. package/dist/commands/react/build.js +11 -5
  34. package/dist/commands/react/build.js.map +1 -1
  35. package/dist/commands/react/clean.d.ts +2 -0
  36. package/dist/commands/react/clean.js +46 -0
  37. package/dist/commands/react/clean.js.map +1 -0
  38. package/dist/commands/react/dev.d.ts +2 -0
  39. package/dist/commands/react/dev.js +27 -0
  40. package/dist/commands/react/dev.js.map +1 -0
  41. package/dist/commands/react/index.js +5 -1
  42. package/dist/commands/react/index.js.map +1 -1
  43. package/dist/commands/react/serve.js +33 -4
  44. package/dist/commands/react/serve.js.map +1 -1
  45. package/dist/commands/react/shared.d.ts +21 -0
  46. package/dist/commands/react/shared.js +80 -0
  47. package/dist/commands/react/shared.js.map +1 -0
  48. package/dist/commands/system/info.js +0 -7
  49. package/dist/commands/system/info.js.map +1 -1
  50. package/dist/commands/validation/ValidationUtils.d.ts +3 -13
  51. package/dist/commands/validation/ValidationUtils.js +5 -58
  52. package/dist/commands/validation/ValidationUtils.js.map +1 -1
  53. package/dist/commands/validation/files/AppManifestValidator.js +5 -20
  54. package/dist/commands/validation/files/AppManifestValidator.js.map +1 -1
  55. package/dist/commands/validation/files/I18nValidator.d.ts +24 -0
  56. package/dist/commands/validation/files/I18nValidator.js +190 -5
  57. package/dist/commands/validation/files/I18nValidator.js.map +1 -1
  58. package/dist/commands/validation/files/{BpmnValidator.d.ts → ProjectManifestValidator.d.ts} +1 -1
  59. package/dist/commands/validation/files/ProjectManifestValidator.js +31 -0
  60. package/dist/commands/validation/files/ProjectManifestValidator.js.map +1 -0
  61. package/dist/commands/validation/files/ScriptValidator.d.ts +6 -2
  62. package/dist/commands/validation/files/ScriptValidator.js +1 -1
  63. package/dist/commands/validation/files/ScriptValidator.js.map +1 -1
  64. package/dist/commands/validation/validate.js +15 -46
  65. package/dist/commands/validation/validate.js.map +1 -1
  66. package/dist/models/Codenotch.d.ts +0 -205
  67. package/dist/models/Codenotch.js +0 -211
  68. package/dist/models/Codenotch.js.map +1 -1
  69. package/dist/utils/BuildUtils.d.ts +66 -28
  70. package/dist/utils/BuildUtils.js +292 -330
  71. package/dist/utils/BuildUtils.js.map +1 -1
  72. package/dist/utils/ConsoleUtils.d.ts +13 -0
  73. package/dist/utils/ConsoleUtils.js +50 -0
  74. package/dist/utils/ConsoleUtils.js.map +1 -1
  75. package/dist/utils/DbSchemaUtils.d.ts +49 -0
  76. package/dist/utils/DbSchemaUtils.js +246 -0
  77. package/dist/utils/DbSchemaUtils.js.map +1 -0
  78. package/dist/utils/FileUtils.d.ts +104 -15
  79. package/dist/utils/FileUtils.js +285 -100
  80. package/dist/utils/FileUtils.js.map +1 -1
  81. package/dist/utils/GitHubAuthUtils.js.map +1 -1
  82. package/dist/utils/I18nTsUtils.d.ts +66 -0
  83. package/dist/utils/I18nTsUtils.js +221 -0
  84. package/dist/utils/I18nTsUtils.js.map +1 -0
  85. package/dist/utils/ManifestUtils.d.ts +24 -0
  86. package/dist/utils/ManifestUtils.js +53 -0
  87. package/dist/utils/ManifestUtils.js.map +1 -0
  88. package/dist/utils/OpenApiUtils.d.ts +81 -0
  89. package/dist/utils/OpenApiUtils.js +123 -0
  90. package/dist/utils/OpenApiUtils.js.map +1 -0
  91. package/dist/utils/ProjectCompilationUtils.d.ts +3 -30
  92. package/dist/utils/ProjectCompilationUtils.js +26 -760
  93. package/dist/utils/ProjectCompilationUtils.js.map +1 -1
  94. package/dist/utils/ProjectGeneratorUtils.d.ts +35 -0
  95. package/dist/utils/ProjectGeneratorUtils.js +119 -0
  96. package/dist/utils/ProjectGeneratorUtils.js.map +1 -0
  97. package/dist/utils/ProjectTemplates.d.ts +102 -0
  98. package/dist/utils/ProjectTemplates.js +284 -0
  99. package/dist/utils/ProjectTemplates.js.map +1 -0
  100. package/dist/utils/ProjectUtils.d.ts +217 -4
  101. package/dist/utils/ProjectUtils.js +386 -50
  102. package/dist/utils/ProjectUtils.js.map +1 -1
  103. package/dist/utils/RuntimeUtils.js +14 -8
  104. package/dist/utils/RuntimeUtils.js.map +1 -1
  105. package/dist/utils/ScriptDeclarationUtils.d.ts +169 -0
  106. package/dist/utils/ScriptDeclarationUtils.js +398 -0
  107. package/dist/utils/ScriptDeclarationUtils.js.map +1 -0
  108. package/dist/utils/ServeUtils.d.ts +0 -1
  109. package/dist/utils/ServeUtils.js +11 -29
  110. package/dist/utils/ServeUtils.js.map +1 -1
  111. package/dist/utils/ShellUtils.d.ts +6 -0
  112. package/dist/utils/ShellUtils.js +13 -0
  113. package/dist/utils/ShellUtils.js.map +1 -1
  114. package/dist/utils/TemplateUtils.d.ts +62 -0
  115. package/dist/utils/TemplateUtils.js +218 -0
  116. package/dist/utils/TemplateUtils.js.map +1 -0
  117. package/dist/utils/TypeSchemaUtils.d.ts +42 -0
  118. package/dist/utils/TypeSchemaUtils.js +171 -0
  119. package/dist/utils/TypeSchemaUtils.js.map +1 -0
  120. package/package.json +3 -3
  121. package/dist/commands/validation/files/BpmnValidator.js +0 -32
  122. package/dist/commands/validation/files/BpmnValidator.js.map +0 -1
  123. package/dist/commands/validation/files/DbSchemaValidator.d.ts +0 -5
  124. package/dist/commands/validation/files/DbSchemaValidator.js +0 -16
  125. package/dist/commands/validation/files/DbSchemaValidator.js.map +0 -1
  126. package/dist/commands/validation/files/DocumentValidator.d.ts +0 -5
  127. package/dist/commands/validation/files/DocumentValidator.js +0 -12
  128. package/dist/commands/validation/files/DocumentValidator.js.map +0 -1
  129. package/dist/commands/validation/files/ManifestCacheValidator.d.ts +0 -5
  130. package/dist/commands/validation/files/ManifestCacheValidator.js +0 -121
  131. package/dist/commands/validation/files/ManifestCacheValidator.js.map +0 -1
  132. package/dist/commands/validation/files/ManifestValidator.d.ts +0 -5
  133. package/dist/commands/validation/files/ManifestValidator.js +0 -14
  134. package/dist/commands/validation/files/ManifestValidator.js.map +0 -1
  135. package/dist/commands/validation/files/TableValidator.d.ts +0 -5
  136. package/dist/commands/validation/files/TableValidator.js +0 -19
  137. package/dist/commands/validation/files/TableValidator.js.map +0 -1
  138. package/dist/models/DbModels.d.ts +0 -221
  139. package/dist/models/DbModels.js +0 -130
  140. package/dist/models/DbModels.js.map +0 -1
  141. package/dist/models/OpenApiModels.d.ts +0 -115
  142. package/dist/models/OpenApiModels.js +0 -103
  143. package/dist/models/OpenApiModels.js.map +0 -1
  144. package/dist/utils/I18nUtils.d.ts +0 -9
  145. package/dist/utils/I18nUtils.js +0 -54
  146. package/dist/utils/I18nUtils.js.map +0 -1
  147. package/dist/utils/OpenAPIUtils.d.ts +0 -33
  148. package/dist/utils/OpenAPIUtils.js +0 -279
  149. package/dist/utils/OpenAPIUtils.js.map +0 -1
@@ -1,279 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.OpenApiUtils = void 0;
40
- const OpenApiModels_1 = __importStar(require("../models/OpenApiModels"));
41
- const ProjectCompilationUtils_1 = __importDefault(require("./ProjectCompilationUtils"));
42
- const codenotch_core_1 = require("@codenotch/codenotch.core");
43
- const codenotch_core_workflow_1 = require("@codenotch/codenotch.core.workflow");
44
- class OpenApiUtils {
45
- static async generateOpenApi(context) {
46
- let openApi = new OpenApiModels_1.default();
47
- let apiCount = 0;
48
- for (let processId in context.processes) {
49
- if (!context.processes[processId]) {
50
- continue;
51
- }
52
- try {
53
- if (this.AddBPMN(openApi, context.processes[processId])) {
54
- apiCount++;
55
- }
56
- }
57
- catch (e) {
58
- context.errors.push(`Failed to add process ${processId} to OpenAPI spec: ${e instanceof Error ? e.message : String(e)}`);
59
- }
60
- }
61
- if (apiCount === 0) {
62
- return undefined;
63
- }
64
- return openApi;
65
- }
66
- /**
67
- * Convert codevariable object to openapi json standard
68
- * @param codevariable Code variable object
69
- * @returns the converted object
70
- */
71
- static CodeVariableToOpenAPISchema(codevariable) {
72
- let result = new OpenApiModels_1.SchemaType();
73
- result.properties = {};
74
- result.type = "object";
75
- codevariable.objectType?.forEach(child => {
76
- if (child.type === codenotch_core_1.VariableType.object) {
77
- result.properties[child.name] = this.CodeVariableToOpenAPISchema(child);
78
- }
79
- else if (child.type === codenotch_core_1.VariableType.array) {
80
- result.properties[child.name] = new OpenApiModels_1.SchemaType();
81
- result.properties[child.name].type = ProjectCompilationUtils_1.default.ProcessVariableTypeToJsonSchemaTypeName(child.type);
82
- if (child.arrayType) {
83
- if (child.arrayType.type === codenotch_core_1.VariableType.object)
84
- result.properties[child.name].items = this.CodeVariableToOpenAPISchema(child.arrayType);
85
- else {
86
- result.properties[child.name].items = {
87
- type: ProjectCompilationUtils_1.default.ProcessVariableTypeToJsonSchemaTypeName(child.arrayType.type)
88
- };
89
- }
90
- }
91
- }
92
- else {
93
- result.properties[child.name] = new OpenApiModels_1.SchemaType();
94
- result.properties[child.name].type = ProjectCompilationUtils_1.default.ProcessVariableTypeToJsonSchemaTypeName(child.type);
95
- }
96
- });
97
- return result;
98
- }
99
- /**
100
- * Return parameters from codevariables
101
- * @param codevariable the codevariable source
102
- * @param intype
103
- * @param required
104
- * @returns
105
- */
106
- static CodevariableToParameters(codevariable, intype, required) {
107
- let result = [];
108
- codevariable?.objectType?.forEach(child => {
109
- let parameter = new OpenApiModels_1.APIParameter();
110
- parameter.name = child.name;
111
- parameter.in = intype;
112
- parameter.required = required;
113
- parameter.schema = new OpenApiModels_1.SchemaType();
114
- parameter.schema.type = ProjectCompilationUtils_1.default.ProcessVariableTypeToJsonSchemaTypeName(child.type);
115
- result.push(parameter);
116
- });
117
- return result;
118
- }
119
- /**
120
- * Browse the graph recursivly to find api error or api end event
121
- * @param item the start node
122
- * @param model the entire bpmn model
123
- * @returns the list of node to convert into openapi
124
- */
125
- static BrowseResponses(item, model) {
126
- let result;
127
- if (item.type === codenotch_core_workflow_1.WorkflowItemType.ErrorEndEvent
128
- || item.type === codenotch_core_workflow_1.WorkflowItemType.CallbackEndEvent
129
- || item.type === codenotch_core_workflow_1.WorkflowItemType.ThrowCallbackIntermediateEvent) {
130
- result = [item];
131
- }
132
- else if (item?.errors?.length > 0) {
133
- result = [item];
134
- }
135
- else {
136
- result = [];
137
- }
138
- let flows = model.items.filter(c => c.sourceId === item.id);
139
- flows?.forEach(flow => {
140
- let targetNode = model.items.find(c => c.id === flow.targetId);
141
- if (targetNode) {
142
- let targetResponses = this.BrowseResponses(targetNode, model);
143
- if (targetResponses) {
144
- result = result.concat(targetResponses);
145
- }
146
- }
147
- });
148
- let boundaries = model.items.filter(c => c.nodeId === item.id);
149
- boundaries?.forEach(boundary => {
150
- let targetResponses = this.BrowseResponses(boundary, model);
151
- if (targetResponses) {
152
- result = result.concat(targetResponses);
153
- }
154
- });
155
- return result;
156
- }
157
- /**
158
- * Add bpmn model into open api spec
159
- * @param model Bpmn definition model
160
- */
161
- static AddBPMN(spec, model) {
162
- //get api start
163
- let hasApi = false;
164
- let startEvents = model.items.filter(c => c.type === codenotch_core_workflow_1.WorkflowItemType.ApiStartEvent);
165
- startEvents.forEach(node => {
166
- //reterieve eventnode model
167
- let startEvent = node;
168
- let parameters = startEvent.outputs[0].outputVariables;
169
- //get definition
170
- let definition = startEvent.eventDefinitions.find(c => c);
171
- if (definition) {
172
- let apicontroller = new OpenApiModels_1.APIController();
173
- apicontroller.description = startEvent.desc || "";
174
- let body = parameters.find(c => c.name === "body");
175
- if (body) {
176
- apicontroller.requestBody = {
177
- "content": {
178
- "application/json": {
179
- "schema": this.CodeVariableToOpenAPISchema(body)
180
- }
181
- }
182
- };
183
- }
184
- let header = parameters.find(c => c.name === "header");
185
- if (header) {
186
- let parameters = this.CodevariableToParameters(header, "header", true);
187
- if (!apicontroller.parameters)
188
- apicontroller.parameters = parameters;
189
- else
190
- apicontroller.parameters = apicontroller.parameters.concat(parameters);
191
- }
192
- let query = parameters.find(c => c.name === "query");
193
- if (query) {
194
- let parameters = this.CodevariableToParameters(query, "query", true);
195
- if (!apicontroller.parameters)
196
- apicontroller.parameters = parameters;
197
- else
198
- apicontroller.parameters = apicontroller.parameters.concat(parameters);
199
- }
200
- let path = parameters.find(c => c.name === "path");
201
- if (path) {
202
- let parameters = this.CodevariableToParameters(path, "path", true);
203
- if (!apicontroller.parameters)
204
- apicontroller.parameters = parameters;
205
- else
206
- apicontroller.parameters = apicontroller.parameters.concat(parameters);
207
- }
208
- let responses = this.BrowseResponses(startEvent, model);
209
- responses?.forEach(response => {
210
- let eventDefinitions = node.eventDefinitions;
211
- let errors = node.errors;
212
- if (eventDefinitions) {
213
- let callbackeventdefinition = eventDefinitions[0];
214
- let evtParameters = response.outputs[0].outputVariables;
215
- if (callbackeventdefinition) {
216
- let apiresponse = new OpenApiModels_1.APIResponse();
217
- apiresponse.description = response.desc || "";
218
- let responsecode = evtParameters.find(c => c.name === "code");
219
- let code = responsecode ? responsecode.value : "200";
220
- let responseshema = evtParameters.find(c => c.name === "response");
221
- let i = (code + "").indexOf('{');
222
- let codeisValid = i < 0;
223
- if (responseshema && codeisValid) {
224
- apiresponse.content = {
225
- "application/json": {
226
- "schema": this.CodeVariableToOpenAPISchema(responseshema)
227
- }
228
- };
229
- apicontroller.responses[code] = apiresponse;
230
- }
231
- }
232
- }
233
- else if (errors) {
234
- errors.forEach(error => {
235
- if ((error.code + "").indexOf('{') < 0) {
236
- let apiresponse = new OpenApiModels_1.APIResponse();
237
- apiresponse.description = error.description;
238
- apiresponse.content = {
239
- "application/json": {
240
- "schema": {
241
- "type": "object",
242
- "properties": {
243
- "code": { "type": "string", example: error.code },
244
- "message": { "type": "string", example: error.description }
245
- }
246
- }
247
- }
248
- };
249
- apicontroller.responses[error.code] = apiresponse;
250
- }
251
- });
252
- }
253
- //add default error
254
- let apiresponse = new OpenApiModels_1.APIResponse();
255
- apiresponse.description = "Server error";
256
- apiresponse.content = {
257
- "application/json": {
258
- "schema": {
259
- "type": "object",
260
- "properties": {
261
- "code": { "type": "string", example: "500" },
262
- "message": { "type": "string", example: "Server error" }
263
- }
264
- }
265
- }
266
- };
267
- apicontroller.responses["500"] = apiresponse;
268
- });
269
- if (!spec.paths[definition.route])
270
- spec.paths[definition.route] = {};
271
- spec.paths[definition.route][definition.method] = apicontroller;
272
- hasApi = true;
273
- }
274
- });
275
- return hasApi;
276
- }
277
- }
278
- exports.OpenApiUtils = OpenApiUtils;
279
- //# sourceMappingURL=OpenAPIUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OpenAPIUtils.js","sourceRoot":"","sources":["../../src/utils/OpenAPIUtils.ts"],"names":[],"mappings":"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"}