@wavemaker-ai/react-codegen 1.0.0-rc.647684 → 12.0.0-rc.335

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 (69) hide show
  1. package/command.js +52 -7
  2. package/command.js.map +1 -1
  3. package/dist/transpiler/index.d.mts +42 -1
  4. package/dist/transpiler/index.mjs +682 -90
  5. package/dist/transpiler/index.mjs.map +1 -1
  6. package/dist/transpiler/wm-styles.css +10 -20
  7. package/index.js +7 -0
  8. package/index.js.map +1 -1
  9. package/package-lock.json +102 -102
  10. package/package.json +1 -1
  11. package/src/app.generator.js +223 -35
  12. package/src/app.generator.js.map +1 -1
  13. package/src/handlebar-helpers.js +32 -0
  14. package/src/handlebar-helpers.js.map +1 -1
  15. package/src/increment-builder.js +32 -2
  16. package/src/increment-builder.js.map +1 -1
  17. package/src/profiles/profile.js +2 -0
  18. package/src/profiles/profile.js.map +1 -1
  19. package/src/profiles/web-preview.profile.js +4 -0
  20. package/src/profiles/web-preview.profile.js.map +1 -1
  21. package/src/services/designtime-collector.js +235 -0
  22. package/src/services/designtime-collector.js.map +1 -0
  23. package/src/services/doc-normalizer.js +185 -0
  24. package/src/services/doc-normalizer.js.map +1 -0
  25. package/src/services/method-emitter.js +367 -0
  26. package/src/services/method-emitter.js.map +1 -0
  27. package/src/services/model-emitter.js +281 -0
  28. package/src/services/model-emitter.js.map +1 -0
  29. package/src/services/schema-to-ts.js +50 -0
  30. package/src/services/schema-to-ts.js.map +1 -0
  31. package/src/services/service.generator.js +223 -0
  32. package/src/services/service.generator.js.map +1 -0
  33. package/src/transpile/bind.ex.transformer.js +4 -1
  34. package/src/transpile/bind.ex.transformer.js.map +1 -1
  35. package/src/transpile/components/container/accordion.transformer.js +4 -4
  36. package/src/transpile/components/container/accordion.transformer.js.map +1 -1
  37. package/src/transpile/components/container/tabs.transformer.js +4 -2
  38. package/src/transpile/components/container/tabs.transformer.js.map +1 -1
  39. package/src/transpile/components/data/list/list-transformer.js +7 -2
  40. package/src/transpile/components/data/list/list-transformer.js.map +1 -1
  41. package/src/transpile/components/data/table/table.transformer.js +14 -20
  42. package/src/transpile/components/data/table/table.transformer.js.map +1 -1
  43. package/src/transpile/components/data/table/utils.js +90 -0
  44. package/src/transpile/components/data/table/utils.js.map +1 -1
  45. package/src/transpile/components/dialogs/dialog-actions.transformer.js +4 -6
  46. package/src/transpile/components/dialogs/dialog-actions.transformer.js.map +1 -1
  47. package/src/transpile/components/dialogs/dialog.transformer.js +14 -3
  48. package/src/transpile/components/dialogs/dialog.transformer.js.map +1 -1
  49. package/src/transpile/components/layout/layout-region-factory.js +8 -2
  50. package/src/transpile/components/layout/layout-region-factory.js.map +1 -1
  51. package/src/transpile/components/nav/nav.transformer.js +3 -5
  52. package/src/transpile/components/nav/nav.transformer.js.map +1 -1
  53. package/src/transpile/components/utils.js +11 -5
  54. package/src/transpile/components/utils.js.map +1 -1
  55. package/src/transpile/transpile.js +62 -21
  56. package/src/transpile/transpile.js.map +1 -1
  57. package/src/transpile/variables-template-source.js +2 -2
  58. package/src/transpile/variables-template-source.js.map +1 -1
  59. package/src/utils.browser.js +51 -6
  60. package/src/utils.browser.js.map +1 -1
  61. package/src/variables/variable.transformer.js +623 -12
  62. package/src/variables/variable.transformer.js.map +1 -1
  63. package/templates/project/app/client.layout.tsx +7 -7
  64. package/templates/project/app/components.css +10 -0
  65. package/templates/project/app/widgetInlineStylesOverride.css +0 -20
  66. package/templates/project/package.json +6 -5
  67. package/templates/project/services/base.service.ts +361 -0
  68. package/templates/service/service-class.hbs +19 -0
  69. package/templates/variables.template +67 -1
@@ -51,6 +51,7 @@ const bind_ex_transformer_1 = __importDefault(require("./transpile/bind.ex.trans
51
51
  const profile_1 = __importDefault(require("./profiles/profile"));
52
52
  const gen_app_override_css_1 = require("./gen-app-override-css");
53
53
  const wmx_generator_1 = require("./wmx.generator");
54
+ const service_generator_1 = require("./services/service.generator");
54
55
  const COMPONENT_TEMPLATE = (0, utils_1.loadTemplate)(__dirname + "/../templates/component/component.hbs");
55
56
  const COMPONENT_PAGE_TEMPLATE = (0, utils_1.loadTemplate)(__dirname + "/../templates/component/page.hbs");
56
57
  const PARTIAL_TEMPLATE = (0, utils_1.loadTemplate)(__dirname + "/../templates/component/partial.hbs");
@@ -149,9 +150,138 @@ class AppGenerator {
149
150
  this.wmxGenerator = new wmx_generator_1.WmxGenerator(projectPath, projectService);
150
151
  this.wmxComponents = this.wmxGenerator.getComponentNames();
151
152
  }
153
+ /**
154
+ * Class names service.generator.ts actually emitted for this generator's own scope. Some
155
+ * backend services referenced by a variable's operationId have no designtime definition of
156
+ * their own (e.g. a permissions-check service), so no class for them is ever generated even
157
+ * though the project still has variables pointing at them. Cross-checking against this set lets
158
+ * variable.transformer skip those variables instead of emitting an import that doesn't exist
159
+ * and fails the whole app build. Computed once and cached; returns undefined (no filtering)
160
+ * if the relevant services directory isn't present, so behavior is unchanged wherever service
161
+ * codegen didn't run.
162
+ *
163
+ * Root-app services are always generated once into the root project's services/ (flat, one
164
+ * .ts file per service) - so a normal (non-prefab) AppGenerator reads from there. A prefab's
165
+ * own services (its own services/ folder, connectors, and prefab-servicedefs) are generated
166
+ * separately into services/prefabs/<prefabName>/ (see service.generator.ts), fully
167
+ * independent of the root app's and of every other prefab's services - collection never diffs
168
+ * a prefab's operations against the root app's, so a same-named service declared by both (even
169
+ * with identical operationIds) still gets two complete, separate classes, neither missing any
170
+ * methods. A prefab-scoped AppGenerator (isPrefabApp) therefore reads ONLY from its own prefab
171
+ * subfolder, never falling back to the root, keeping prefab variables strictly bound to the
172
+ * prefab's own services - exactly mirroring how a page's variables are strictly bound to the
173
+ * root app's own services.
174
+ */
175
+ getValidServiceClassNames() {
176
+ if (this.validServiceClassNames) {
177
+ return this.validServiceClassNames;
178
+ }
179
+ const rootProjectPath = this.rootProjectPath();
180
+ const servicesDir = this.isPrefabApp
181
+ ? `${rootProjectPath}/services/prefabs/${this.prefabName}`
182
+ : `${rootProjectPath}/services`;
183
+ if (!fs_extra_1.default.existsSync(servicesDir)) {
184
+ return undefined;
185
+ }
186
+ // Generated services live one folder per backend service (services/<serviceId>/X.ts, or
187
+ // services/prefabs/<Prefab>/<serviceId>/X.ts), with the service's own POJOs under a nested
188
+ // models/ — so this walks the tree rather than reading one flat directory. models/ is skipped
189
+ // (it holds interfaces, never a service class) and so is the root prefabs/ folder, whose
190
+ // classes belong to a prefab's OWN AppGenerator instance, not the root app's.
191
+ const names = new Set();
192
+ const scan = (dir, depth) => {
193
+ for (const entry of fs_extra_1.default.readdirSync(dir, { withFileTypes: true })) {
194
+ const entryPath = `${dir}/${entry.name}`;
195
+ if (entry.isDirectory()) {
196
+ if (entry.name === "types")
197
+ continue;
198
+ if (depth === 0 && !this.isPrefabApp && entry.name === "prefabs")
199
+ continue;
200
+ scan(entryPath, depth + 1);
201
+ continue;
202
+ }
203
+ if (!entry.name.endsWith(".ts") || entry.name === "base.service.ts")
204
+ continue;
205
+ const content = fs_extra_1.default.readFileSync(entryPath, "utf-8");
206
+ for (const match of content.matchAll(/export class (\w+)/g)) {
207
+ names.add(match[1]);
208
+ }
209
+ }
210
+ };
211
+ scan(servicesDir, 0);
212
+ this.validServiceClassNames = names;
213
+ return names;
214
+ }
215
+ /** Root project path — a prefab's own AppGenerator still reads the root app's services/. */
216
+ rootProjectPath() {
217
+ return this.isPrefabApp ? this.projectPath.split("/app/prefabs/")[0] : this.projectPath;
218
+ }
219
+ /**
220
+ * One of the sidecar lookup tables service.generator.ts writes into `services/` alongside the
221
+ * generated code, keyed by `${serviceName}::${operationIdAlias}`. generateServices() only ever
222
+ * runs on the ROOT AppGenerator instance (generateServiceCodeGen() — a prefab's own instance
223
+ * calls generatePagesAndPartials() directly and so has none of these maps in memory), so a
224
+ * prefab instance loads them from disk instead, using the same root-path math
225
+ * getValidServiceClassNames() already uses for the same reason.
226
+ */
227
+ loadServiceMetadata(fileName) {
228
+ const metadataPath = `${this.rootProjectPath()}/services/${fileName}`;
229
+ if (!fs_extra_1.default.existsSync(metadataPath)) {
230
+ return undefined;
231
+ }
232
+ return new Map(Object.entries(fs_extra_1.default.readJsonSync(metadataPath)));
233
+ }
234
+ /**
235
+ * The full positional argument list of each generated method — what the invokeHttp glue needs
236
+ * in order to map the WM runtime's flat params object onto a method whose signature mirrors the
237
+ * backend operation's own declared parameters (see src/services/method-emitter.ts).
238
+ */
239
+ getMethodArgsByOperation() {
240
+ if (!this.methodArgsByOperation) {
241
+ this.methodArgsByOperation = this.loadServiceMetadata("_methodArgs.json");
242
+ }
243
+ return this.methodArgsByOperation;
244
+ }
245
+ /**
246
+ * The import path (relative to `services/`) of the class owning each operation's method — e.g.
247
+ * "hrdb/HrdbDepartmentService". Needed because generated services now live in a per-service
248
+ * FOLDER, so a class name alone no longer determines its import path.
249
+ */
250
+ getServicePathByOperation() {
251
+ if (!this.servicePathByOperation) {
252
+ this.servicePathByOperation = this.loadServiceMetadata("_servicePaths.json");
253
+ }
254
+ return this.servicePathByOperation;
255
+ }
256
+ /** A CrudVariable's operation group, keyed by crudOperationId (see GenerateServicesResult). */
257
+ getCrudOperationsById() {
258
+ if (!this.crudOperationsById) {
259
+ this.crudOperationsById =
260
+ this.loadServiceMetadata("_crudOperations.json");
261
+ }
262
+ return this.crudOperationsById;
263
+ }
264
+ /**
265
+ * The actual generated method name per operation, keyed the same way as the other sidecar
266
+ * tables. variable.transformer.ts prefers this authoritative lookup over re-deriving the name
267
+ * itself from variable.operationId, which can disagree with what was actually generated
268
+ * whenever WM recorded a shorter/differently-prefixed operationId alias on the variable than
269
+ * the designtime doc's own raw operationId.
270
+ */
271
+ getMethodNameByOperation() {
272
+ if (!this.methodNameByOperation) {
273
+ this.methodNameByOperation = this.loadServiceMetadata("_methodNames.json");
274
+ }
275
+ return this.methodNameByOperation;
276
+ }
152
277
  prepareVariables(variableJSON, scope, imports) {
278
+ const validServiceClassNames = this.getValidServiceClassNames();
279
+ const methodArgsByOperation = this.getMethodArgsByOperation();
280
+ const methodNameByOperation = this.getMethodNameByOperation();
281
+ const servicePathByOperation = this.getServicePathByOperation();
282
+ const crudOperationsById = this.getCrudOperationsById();
153
283
  const variables = Object.values(variableJSON)
154
- .map((v) => (0, variable_transformer_1.default)(v, scope, this.appUrl, imports))
284
+ .map((v) => (0, variable_transformer_1.default)(v, scope, this.appUrl, imports, validServiceClassNames, methodArgsByOperation, methodNameByOperation, servicePathByOperation, crudOperationsById))
155
285
  .filter(v => !!v);
156
286
  const item = VARIABLE_TEMPLATE({
157
287
  scope: scope,
@@ -670,13 +800,55 @@ class AppGenerator {
670
800
  (0, utils_1.writeFile)(`${this.projectPath}/app/app.css`, updatedCss);
671
801
  });
672
802
  }
803
+ /**
804
+ * Appends the collected auto-layout rules to the template's autoLayout.css.
805
+ *
806
+ * The generated part is fenced by markers and REPLACED, not appended blindly.
807
+ * Appending was safe only while every run recopied the project template, which
808
+ * reset the file first -- a run that reuses an existing target (an incremental
809
+ * or file-scoped one) does not, so each run stacked another copy of the same
810
+ * rules on top and the file grew without bound.
811
+ */
673
812
  generateAutoLayoutCSS() {
674
- if (this.autolayoutCssRules.size === 0)
675
- return;
676
813
  const cssPath = `${this.projectPath}/app/autoLayout.css`;
677
- const rules = Array.from(this.autolayoutCssRules).join("\n\n");
678
- const updatedCss = (0, utils_browser_1.fixURLPath)(rules, this.getBasePath(), true);
679
- fs_extra_1.default.appendFileSync(cssPath, "\n" + updatedCss + "\n");
814
+ const BEGIN = "/* wm-autolayout:begin (generated -- replaced on every run) */";
815
+ const END = "/* wm-autolayout:end */";
816
+ let existing = "";
817
+ try {
818
+ existing = fs_extra_1.default.readFileSync(cssPath, "utf8");
819
+ }
820
+ catch (e) {
821
+ existing = "";
822
+ }
823
+ let base = existing;
824
+ const from = existing.indexOf(BEGIN);
825
+ if (from >= 0) {
826
+ const to = existing.indexOf(END, from);
827
+ base =
828
+ to >= 0
829
+ ? existing.slice(0, from) + existing.slice(to + END.length)
830
+ : existing.slice(0, from);
831
+ }
832
+ if (this.autolayoutCssRules.size === 0) {
833
+ return;
834
+ }
835
+ // Merged with what the previous run left, not swapped for it. This run only
836
+ // collected rules for the pages it generated, so a scoped run that replaced
837
+ // the block outright would drop every other page's layout CSS. Rules are
838
+ // deduplicated by text, so repeated runs converge instead of growing.
839
+ //
840
+ // fixURLPath is applied only to the newly collected rules -- what is already
841
+ // in the block went through it on the run that wrote it.
842
+ const fresh = (0, utils_browser_1.fixURLPath)(Array.from(this.autolayoutCssRules).join("\n\n"), this.getBasePath(), true);
843
+ const merged = new Set();
844
+ const previous = from >= 0 ? existing.slice(from + BEGIN.length, existing.indexOf(END, from)) : "";
845
+ [previous, fresh].forEach(chunk => chunk
846
+ .split(/\n\s*\n/)
847
+ .map(rule => rule.trim())
848
+ .filter(Boolean)
849
+ .forEach(rule => merged.add(rule)));
850
+ const block = Array.from(merged).join("\n\n");
851
+ fs_extra_1.default.writeFileSync(cssPath, `${base.replace(/\s+$/, "")}\n\n${BEGIN}\n${block}\n${END}\n`);
680
852
  }
681
853
  getAllResources(filter = (str) => true, dirPath = this.projectPath + "/assets/resources", pathPrefix = "resources", arrayOfFiles = []) {
682
854
  if (fs_extra_1.default.existsSync(dirPath)) {
@@ -708,12 +880,33 @@ class AppGenerator {
708
880
  return Promise.resolve({});
709
881
  });
710
882
  }
883
+ generateServiceCodeGen() {
884
+ const outputPath = `${this.projectPath}/services`;
885
+ const sourceProjectPath = this.projectService.path;
886
+ const servicesPath = path_2.default.resolve(sourceProjectPath, "../../../services");
887
+ console.log("Generating services...");
888
+ try {
889
+ const { classNames, methodArgsByOperation, methodNameByOperation, servicePathByOperation, crudOperationsById, } = (0, service_generator_1.generateServices)(servicesPath, outputPath, sourceProjectPath);
890
+ this.validServiceClassNames = classNames;
891
+ this.methodArgsByOperation = methodArgsByOperation;
892
+ this.methodNameByOperation = methodNameByOperation;
893
+ this.servicePathByOperation = servicePathByOperation;
894
+ this.crudOperationsById = crudOperationsById;
895
+ console.log(`Service generation completed successfully (${classNames.size} service(s)).`);
896
+ return Promise.resolve({});
897
+ }
898
+ catch (error) {
899
+ console.error("Service generation failed:", error);
900
+ return Promise.reject(error);
901
+ }
902
+ }
711
903
  copyServiceDefs() {
712
904
  if (this.serviceDefsSource !== "STATIC") {
713
905
  return Promise.resolve();
714
906
  }
715
907
  return this.projectService.getServiceDefsPath().then(serviceDefsPath => {
716
908
  const targetDir = path_2.default.resolve(this.projectPath + "/public/services");
909
+ let prefabCount = 0;
717
910
  try {
718
911
  // Copy regular service defs
719
912
  if (fs_extra_1.default.existsSync(serviceDefsPath)) {
@@ -722,46 +915,29 @@ class AppGenerator {
722
915
  const targetFile = path_2.default.join(targetDir, "servicedefs.json");
723
916
  if (fs_extra_1.default.existsSync(sourceFile)) {
724
917
  fs_extra_1.default.copyFileSync(sourceFile, targetFile);
725
- console.log("Service defs copied to servicedefs");
726
- }
727
- else {
728
- console.warn(`Source file does not exist: ${sourceFile}`);
729
918
  }
730
919
  }
731
- else {
732
- console.warn(`Source directory does not exist: ${serviceDefsPath}`);
733
- }
734
920
  // Copy prefab service defs
735
921
  const normalizedPath = serviceDefsPath.replace(/[/\\]$/, ""); // Remove trailing slash
736
922
  const prefabSourceDir = normalizedPath.replace(/servicedefs$/, "prefabs");
737
923
  if (fs_extra_1.default.existsSync(prefabSourceDir)) {
738
- // Ensure target directory exists
739
924
  fs_extra_1.default.mkdirSync(targetDir, { recursive: true });
740
- // Read all prefab directories
741
925
  const prefabDirs = fs_extra_1.default
742
926
  .readdirSync(prefabSourceDir, { withFileTypes: true })
743
927
  .filter((dirent) => dirent.isDirectory())
744
928
  .map((dirent) => dirent.name);
745
- let copiedCount = 0;
746
- // Process each prefab directory
747
929
  prefabDirs.forEach((prefabName) => {
748
930
  const prefabSourcePath = path_2.default.join(prefabSourceDir, prefabName, "prefab-servicedefs.json");
749
931
  const prefabTargetDir = path_2.default.join(targetDir, "prefabs", prefabName);
750
932
  const prefabTargetPath = path_2.default.join(prefabTargetDir, "servicedefs.json");
751
- // Check if prefab-servicedefs.json exists
752
933
  if (fs_extra_1.default.existsSync(prefabSourcePath)) {
753
- // Create target directory for this prefab
754
934
  fs_extra_1.default.mkdirSync(prefabTargetDir, { recursive: true });
755
- // Copy and rename the file
756
935
  fs_extra_1.default.copyFileSync(prefabSourcePath, prefabTargetPath);
757
- copiedCount++;
758
- console.log(`Copied prefab service defs: ${prefabName} -> services/prefabs/${prefabName}/servicedefs.json`);
936
+ prefabCount++;
759
937
  }
760
938
  });
761
- if (copiedCount > 0) {
762
- console.log(`✅ Copied ${copiedCount} prefab service defs to servicedefs`);
763
- }
764
939
  }
940
+ console.log(`Service defs copied${prefabCount ? ` (${prefabCount} prefab(s))` : ""}.`);
765
941
  }
766
942
  catch (error) {
767
943
  console.error("Error copying service defs:", error);
@@ -990,6 +1166,25 @@ class AppGenerator {
990
1166
  });
991
1167
  // Build layout map and create route group layouts (auto-detect when layoutId absent)
992
1168
  this.pageLayoutMap = {};
1169
+ const createPagesAndPartials = () => {
1170
+ const promises = pageConfigs.map(p => {
1171
+ if (p.type === "PAGE") {
1172
+ return this.generatePageComponent(p.name, isPartOfPrefab);
1173
+ }
1174
+ if (this.isPartial(p.type)) {
1175
+ return this.generatePartialComponent(p.name, true, isPartOfPrefab);
1176
+ }
1177
+ });
1178
+ return Promise.all(promises).then(() => undefined);
1179
+ };
1180
+ // Left empty for profiles that do not group pages: every page then
1181
+ // generates flat, carrying its own complete markup -- the same path a
1182
+ // page whose layout no other page shares already takes today. Skipping
1183
+ // detection also skips a getPageInfo and a full transpileMarkup for
1184
+ // every page, done here purely to work out the grouping.
1185
+ if (!profile_1.default.groupPagesByLayout) {
1186
+ return createPagesAndPartials();
1187
+ }
993
1188
  const pageNames = (pageConfigs || [])
994
1189
  .filter((p) => p.type === "PAGE")
995
1190
  .map((p) => p.name);
@@ -1046,15 +1241,7 @@ class AppGenerator {
1046
1241
  }
1047
1242
  });
1048
1243
  // After grouping is prepared, create pages/partials
1049
- const pageCreationPromises = pageConfigs.map(p => {
1050
- if (p.type === "PAGE") {
1051
- return this.generatePageComponent(p.name, isPartOfPrefab);
1052
- }
1053
- if (this.isPartial(p.type)) {
1054
- return this.generatePartialComponent(p.name, true, isPartOfPrefab);
1055
- }
1056
- });
1057
- return Promise.all(pageCreationPromises).then(() => undefined);
1244
+ return createPagesAndPartials();
1058
1245
  });
1059
1246
  // page/partial generation handled in previous step
1060
1247
  return Promise.resolve();
@@ -1258,6 +1445,7 @@ class AppGenerator {
1258
1445
  this.incBuilder || fs_extra_1.default.copySync(__dirname + "/../templates/project", this.projectPath);
1259
1446
  return (this.generateOverrideCSS(options)
1260
1447
  .then(() => this.resolveProjectType())
1448
+ .then(() => this.generateServiceCodeGen())
1261
1449
  .then(() => this.setSecurityConfig())
1262
1450
  .then(() => this.generatePagesAndPartials())
1263
1451
  .then(() => this.generateWebComponentHelper())
@@ -1286,7 +1474,7 @@ class AppGenerator {
1286
1474
  .then(() => !this.incBuilder || this.incBuilder.isFontConfigModified())
1287
1475
  .then((build) => (build && this.generateFontConfig()))
1288
1476
  .then(() => {
1289
- if (this.incBuilder) {
1477
+ if (this.incBuilder && profile_1.default.generateWmxComponents) {
1290
1478
  const components = this.incBuilder.getWMXModifiedComponents();
1291
1479
  return Promise.all(components.map((c) => this.wmxGenerator.generate(c, true)));
1292
1480
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app.generator.js","sourceRoot":"","sources":["../../src/app.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.generator.js","sourceRoot":"","sources":["../../src/app.generator.ts"],"names":[],"mappings":"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"}