@wavemaker/react-codegen 11.14.3-rc.6401 → 11.15.0-2.247

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 (102) hide show
  1. package/build-react-web.js +0 -19
  2. package/build-react-web.js.map +1 -1
  3. package/package-lock.json +43 -40
  4. package/package.json +2 -2
  5. package/src/app.generator.js +176 -18
  6. package/src/app.generator.js.map +1 -1
  7. package/src/gen-app-override-css.js +1 -1
  8. package/src/gen-app-override-css.js.map +1 -1
  9. package/src/handlebar-helpers.js +116 -19
  10. package/src/handlebar-helpers.js.map +1 -1
  11. package/src/project.service.js +47 -5
  12. package/src/project.service.js.map +1 -1
  13. package/src/transpile/bind.ex.transformer.js +11 -1
  14. package/src/transpile/bind.ex.transformer.js.map +1 -1
  15. package/src/transpile/components/basic/richtexteditor.transformer.js +3 -2
  16. package/src/transpile/components/basic/richtexteditor.transformer.js.map +1 -1
  17. package/src/transpile/components/basic/search.transformer.js +4 -6
  18. package/src/transpile/components/basic/search.transformer.js.map +1 -1
  19. package/src/transpile/components/container/repeat-template.transformer.js +9 -5
  20. package/src/transpile/components/container/repeat-template.transformer.js.map +1 -1
  21. package/src/transpile/components/container/tabpane.transformer.js +16 -1
  22. package/src/transpile/components/container/tabpane.transformer.js.map +1 -1
  23. package/src/transpile/components/container/tabs.transformer.js +11 -2
  24. package/src/transpile/components/container/tabs.transformer.js.map +1 -1
  25. package/src/transpile/components/data/card/card-content.transformer.js +5 -1
  26. package/src/transpile/components/data/card/card-content.transformer.js.map +1 -1
  27. package/src/transpile/components/data/form/form-action.transformer.js +73 -18
  28. package/src/transpile/components/data/form/form-action.transformer.js.map +1 -1
  29. package/src/transpile/components/data/form/form-field.transformer.js +46 -11
  30. package/src/transpile/components/data/form/form-field.transformer.js.map +1 -1
  31. package/src/transpile/components/data/form/form.transformer.js +53 -17
  32. package/src/transpile/components/data/form/form.transformer.js.map +1 -1
  33. package/src/transpile/components/data/list/list-transformer.js +65 -33
  34. package/src/transpile/components/data/list/list-transformer.js.map +1 -1
  35. package/src/transpile/components/data/live-filter-field.transformer.js +65 -10
  36. package/src/transpile/components/data/live-filter-field.transformer.js.map +1 -1
  37. package/src/transpile/components/data/liveform.transformer.js +11 -4
  38. package/src/transpile/components/data/liveform.transformer.js.map +1 -1
  39. package/src/transpile/components/data/table/table-action.transformer.js +6 -2
  40. package/src/transpile/components/data/table/table-action.transformer.js.map +1 -1
  41. package/src/transpile/components/data/table/table-column.transformer.js +95 -20
  42. package/src/transpile/components/data/table/table-column.transformer.js.map +1 -1
  43. package/src/transpile/components/data/table/table-group.transformer.js +16 -0
  44. package/src/transpile/components/data/table/table-group.transformer.js.map +1 -0
  45. package/src/transpile/components/data/table/table-row-action.transformer.js +6 -2
  46. package/src/transpile/components/data/table/table-row-action.transformer.js.map +1 -1
  47. package/src/transpile/components/data/table/table-row.transformer.js +7 -4
  48. package/src/transpile/components/data/table/table-row.transformer.js.map +1 -1
  49. package/src/transpile/components/data/table/table.transformer.js +29 -1
  50. package/src/transpile/components/data/table/table.transformer.js.map +1 -1
  51. package/src/transpile/components/data/table/utils.js +3 -1
  52. package/src/transpile/components/data/table/utils.js.map +1 -1
  53. package/src/transpile/components/form/button.transformer.js +12 -1
  54. package/src/transpile/components/form/button.transformer.js.map +1 -1
  55. package/src/transpile/components/input/checkbox-set.transformer.js +1 -1
  56. package/src/transpile/components/input/checkbox-set.transformer.js.map +1 -1
  57. package/src/transpile/components/input/chips.transformer.js +2 -1
  58. package/src/transpile/components/input/chips.transformer.js.map +1 -1
  59. package/src/transpile/components/input/color-picker.transformer.js +2 -1
  60. package/src/transpile/components/input/color-picker.transformer.js.map +1 -1
  61. package/src/transpile/components/input/rating.transformer.js +1 -1
  62. package/src/transpile/components/input/rating.transformer.js.map +1 -1
  63. package/src/transpile/components/input/select.transformer.js +1 -1
  64. package/src/transpile/components/input/select.transformer.js.map +1 -1
  65. package/src/transpile/components/input/text.transformer.js +3 -1
  66. package/src/transpile/components/input/text.transformer.js.map +1 -1
  67. package/src/transpile/components/input/upload.transformer.js +19 -0
  68. package/src/transpile/components/input/upload.transformer.js.map +1 -0
  69. package/src/transpile/components/nav/navbar.transformer.js +84 -0
  70. package/src/transpile/components/nav/navbar.transformer.js.map +1 -1
  71. package/src/transpile/components/navigation/popover.transformer.js +1 -1
  72. package/src/transpile/components/navigation/popover.transformer.js.map +1 -1
  73. package/src/transpile/components/page/partial-container.transformer.js +15 -6
  74. package/src/transpile/components/page/partial-container.transformer.js.map +1 -1
  75. package/src/transpile/components/prefab/prefab.transformer.js +23 -2
  76. package/src/transpile/components/prefab/prefab.transformer.js.map +1 -1
  77. package/src/transpile/components/transform-register.js +4 -0
  78. package/src/transpile/components/transform-register.js.map +1 -1
  79. package/src/transpile/components/utils.js +176 -15
  80. package/src/transpile/components/utils.js.map +1 -1
  81. package/src/transpile/property/property-parser.js +12 -0
  82. package/src/transpile/property/property-parser.js.map +1 -1
  83. package/src/transpile/style.transformer.js +7 -1
  84. package/src/transpile/style.transformer.js.map +1 -1
  85. package/src/transpile/transpile.js +370 -25
  86. package/src/transpile/transpile.js.map +1 -1
  87. package/src/utils.js +343 -36
  88. package/src/utils.js.map +1 -1
  89. package/src/utils.test.js +703 -0
  90. package/src/utils.test.js.map +1 -0
  91. package/src/variables/variable.transformer.js +302 -135
  92. package/src/variables/variable.transformer.js.map +1 -1
  93. package/templates/component/app.template.hbs +1 -0
  94. package/templates/component/component.hbs +12 -1
  95. package/templates/component/partial.hbs +8 -0
  96. package/templates/project/.env +1 -1
  97. package/templates/project/app/components.css +16 -15
  98. package/templates/project/app/globals.css +39 -0
  99. package/templates/project/app/loading.tsx +1 -1
  100. package/templates/project/package.json +8 -8
  101. package/templates/variables.template +21 -2
  102. package/templates/project/.npmrc +0 -5
@@ -103,22 +103,6 @@ const buildAppInReactMode = async (reactBuildConfig) => {
103
103
  console.log("React app production build is completed with zip!!!");
104
104
  };
105
105
  exports.buildAppInReactMode = buildAppInReactMode;
106
- const copyResources = (buildAppConfig) => {
107
- try {
108
- const sourceDir = path.resolve(buildAppConfig.sourceDir + "/target/ui-resources/resources");
109
- const targetDir = path.resolve(buildAppConfig.appTarget + "/public/resources");
110
- if (!fs.existsSync(sourceDir)) {
111
- console.warn(`Source directory does not exist: ${sourceDir}`);
112
- return;
113
- }
114
- fs.mkdirSync(targetDir, { recursive: true });
115
- copyRecursiveSync(sourceDir, targetDir);
116
- console.log("Resources copied to public/resources");
117
- }
118
- catch (error) {
119
- console.error("Error copying resources:", error);
120
- }
121
- };
122
106
  const generateReactApp = async (reactCodegenPath, appTarget, env, sourceDir = "./src/main/webapp", buildConfig = {}) => {
123
107
  const basePath = env.basePath || "";
124
108
  let baseDir = buildConfig.optimizeUIBuild
@@ -156,9 +140,6 @@ const initBuild = async (buildConfig) => {
156
140
  sourceDir: rest.appSrc,
157
141
  env,
158
142
  };
159
- console.log("Copying resources...");
160
- copyResources(buildAppConfig);
161
- console.log("Copied resources. Building app in React mode...");
162
143
  buildAppInReactMode(buildAppConfig);
163
144
  console.log("Built app in React mode.");
164
145
  console.log("React app build is completed with generated react web app...");
@@ -1 +1 @@
1
- {"version":3,"file":"build-react-web.js","sourceRoot":"","sources":["../build-react-web.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAiE;AACjE,uCAA4D;AAC5D,2CAA6B;AAC7B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAErC,4CAA4C;AAE5C,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE;IACtD,IAAI,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAC7B,KAAK,GAAG,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAClC,WAAW,GAAG,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,aAAqB;YACzD,iBAAiB,CAAC,GAAG,GAAG,GAAG,GAAG,aAAa,EAAE,IAAI,GAAG,GAAG,GAAG,aAAa,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,aAAa,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;IAChD,MAAM,IAAA,sBAAc,EAAC,KAAK,GAAG,SAAS,GAAG,iBAAiB,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,MAAM,IAAA,sBAAc,EAAC,KAAK,GAAG,SAAS,GAAG,mBAAmB,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;IAChD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,+BAA+B,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,yBAAyB,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE;YAC9B,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACnB,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,2CAA2C,OAAO,EAAE,CAAC,CAAC;YAClE,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;YAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,gBAIlC,EAAE,EAAE;IACH,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,gCAAgC,EAAE,MAAM,CAAC,CAAC;IAEjG,mCAAmC;IACnC,IAAA,qBAAa,EAAC,OAAO,EAAE;QACrB,uBAAuB,EAAE,gBAAgB,CAAC,GAAG,CAAC,UAAU;QACxD,qBAAqB,EAAE,gBAAgB,CAAC,GAAG,CAAC,QAAQ;KACrD,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IAErD,MAAM,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAE7C,iBAAiB,CACf,gBAAgB,CAAC,SAAS,GAAG,uCAAuC,EACpE,gBAAgB,CAAC,SAAS,GAAG,gCAAgC,CAC9D,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAEnD,MAAM,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;AACrE,CAAC,CAAC;AAiFO,kDAAmB;AA/E5B,MAAM,aAAa,GAAG,CAAC,cAAmB,EAAE,EAAE;IAC5C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,GAAG,gCAAgC,CAAC,CAAC;QAC5F,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,GAAG,mBAAmB,CAAC,CAAC;QAE/E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,oCAAoC,SAAS,EAAE,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,EAC5B,gBAAwB,EACxB,SAAiB,EACjB,GAA8B,EAC9B,YAAoB,mBAAmB,EACvC,cAAmB,EAAE,EACrB,EAAE;IACF,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;IACpC,IAAI,OAAO,GAAuB,WAAW,CAAC,eAAe;QAC3D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC5F,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,kBAAkB,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;IAEpD,MAAM,IAAA,0CAAmB,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAE3D,IAAI,eAAe,GAAG,GAAG,gBAAgB,8CAA8C,OAAO,IAAI,SAAS,EAAE,CAAC;IAE9G,IAAI,QAAQ,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QACzC,eAAe,IAAI,mBAAmB,QAAQ,GAAG,CAAC;IACpD,CAAC;IACD,MAAM,IAAA,sBAAc,EAClB,eAAe,EACf,CAAC,CAAM,EAAE,EAAE;QACT,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,EACD,yBAAyB,CAC1B,CAAC;IACF,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAC;AA6B4B,4CAAgB;AA3B9C,MAAM,SAAS,GAAG,KAAK,EAAE,WAAgB,EAAE,EAAE;IAC3C,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;IAChD,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAEpD,oDAAoD;IACpD,MAAM,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAEjD,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;IAC3F,CAAC;SAAM,CAAC;QACN,IAAI,cAAc,GAAG;YACnB,GAAG,WAAW;YACd,SAAS,EAAE,IAAI,CAAC,MAAM;YACtB,GAAG;SACJ,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,mBAAmB,CAAC,cAAc,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC,CAAC;AAE8C,8BAAS"}
1
+ {"version":3,"file":"build-react-web.js","sourceRoot":"","sources":["../build-react-web.ts"],"names":[],"mappings":"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"}
package/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@wavemaker/react-codegen",
3
- "version": "11.14.3-rc.6401",
3
+ "version": "11.15.0-2.247",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@wavemaker/react-codegen",
9
- "version": "11.14.3-rc.6401",
9
+ "version": "11.15.0-2.247",
10
10
  "license": "ISC",
11
11
  "dependencies": {
12
12
  "@angular/compiler": "^12.2.1",
@@ -1035,8 +1035,8 @@
1035
1035
  }
1036
1036
  },
1037
1037
  "node_modules/@jest/reporters/node_modules/minimatch": {
1038
- "version": "3.1.2",
1039
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
1038
+ "version": "3.1.5",
1039
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
1040
1040
  "dev": true,
1041
1041
  "license": "ISC",
1042
1042
  "dependencies": {
@@ -1635,8 +1635,8 @@
1635
1635
  }
1636
1636
  },
1637
1637
  "node_modules/b4a": {
1638
- "version": "1.7.3",
1639
- "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==",
1638
+ "version": "1.8.0",
1639
+ "integrity": "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==",
1640
1640
  "license": "Apache-2.0",
1641
1641
  "peerDependencies": {
1642
1642
  "react-native-b4a": "*"
@@ -1819,12 +1819,15 @@
1819
1819
  "license": "MIT"
1820
1820
  },
1821
1821
  "node_modules/baseline-browser-mapping": {
1822
- "version": "2.9.19",
1823
- "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==",
1822
+ "version": "2.10.0",
1823
+ "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==",
1824
1824
  "dev": true,
1825
1825
  "license": "Apache-2.0",
1826
1826
  "bin": {
1827
- "baseline-browser-mapping": "dist/cli.js"
1827
+ "baseline-browser-mapping": "dist/cli.cjs"
1828
+ },
1829
+ "engines": {
1830
+ "node": ">=6.0.0"
1828
1831
  }
1829
1832
  },
1830
1833
  "node_modules/boolbase": {
@@ -1974,8 +1977,8 @@
1974
1977
  }
1975
1978
  },
1976
1979
  "node_modules/caniuse-lite": {
1977
- "version": "1.0.30001769",
1978
- "integrity": "sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==",
1980
+ "version": "1.0.30001774",
1981
+ "integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==",
1979
1982
  "dev": true,
1980
1983
  "funding": [
1981
1984
  {
@@ -2090,13 +2093,13 @@
2090
2093
  }
2091
2094
  },
2092
2095
  "node_modules/cli-truncate/node_modules/string-width": {
2093
- "version": "8.1.1",
2094
- "integrity": "sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==",
2096
+ "version": "8.2.0",
2097
+ "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==",
2095
2098
  "dev": true,
2096
2099
  "license": "MIT",
2097
2100
  "dependencies": {
2098
- "get-east-asian-width": "^1.3.0",
2099
- "strip-ansi": "^7.1.0"
2101
+ "get-east-asian-width": "^1.5.0",
2102
+ "strip-ansi": "^7.1.2"
2100
2103
  },
2101
2104
  "engines": {
2102
2105
  "node": ">=20"
@@ -2528,8 +2531,8 @@
2528
2531
  "license": "MIT"
2529
2532
  },
2530
2533
  "node_modules/electron-to-chromium": {
2531
- "version": "1.5.286",
2532
- "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==",
2534
+ "version": "1.5.302",
2535
+ "integrity": "sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==",
2533
2536
  "dev": true,
2534
2537
  "license": "ISC"
2535
2538
  },
@@ -2902,8 +2905,8 @@
2902
2905
  }
2903
2906
  },
2904
2907
  "node_modules/get-east-asian-width": {
2905
- "version": "1.4.0",
2906
- "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==",
2908
+ "version": "1.5.0",
2909
+ "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==",
2907
2910
  "dev": true,
2908
2911
  "license": "MIT",
2909
2912
  "engines": {
@@ -3689,8 +3692,8 @@
3689
3692
  }
3690
3693
  },
3691
3694
  "node_modules/jest-config/node_modules/minimatch": {
3692
- "version": "3.1.2",
3693
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
3695
+ "version": "3.1.5",
3696
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
3694
3697
  "dev": true,
3695
3698
  "license": "ISC",
3696
3699
  "dependencies": {
@@ -4012,8 +4015,8 @@
4012
4015
  }
4013
4016
  },
4014
4017
  "node_modules/jest-runtime/node_modules/minimatch": {
4015
- "version": "3.1.2",
4016
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
4018
+ "version": "3.1.5",
4019
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
4017
4020
  "dev": true,
4018
4021
  "license": "ISC",
4019
4022
  "dependencies": {
@@ -4678,11 +4681,11 @@
4678
4681
  }
4679
4682
  },
4680
4683
  "node_modules/minimatch": {
4681
- "version": "9.0.5",
4682
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
4684
+ "version": "9.0.9",
4685
+ "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
4683
4686
  "license": "ISC",
4684
4687
  "dependencies": {
4685
- "brace-expansion": "^2.0.1"
4688
+ "brace-expansion": "^2.0.2"
4686
4689
  },
4687
4690
  "engines": {
4688
4691
  "node": ">=16 || 14 >=14.17"
@@ -4700,9 +4703,9 @@
4700
4703
  }
4701
4704
  },
4702
4705
  "node_modules/minipass": {
4703
- "version": "7.1.2",
4704
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
4705
- "license": "ISC",
4706
+ "version": "7.1.3",
4707
+ "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
4708
+ "license": "BlueOak-1.0.0",
4706
4709
  "engines": {
4707
4710
  "node": ">=16 || 14 >=14.17"
4708
4711
  }
@@ -5150,8 +5153,8 @@
5150
5153
  }
5151
5154
  },
5152
5155
  "node_modules/readdir-glob/node_modules/minimatch": {
5153
- "version": "5.1.6",
5154
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
5156
+ "version": "5.1.9",
5157
+ "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==",
5155
5158
  "license": "ISC",
5156
5159
  "dependencies": {
5157
5160
  "brace-expansion": "^2.0.1"
@@ -5312,8 +5315,8 @@
5312
5315
  }
5313
5316
  },
5314
5317
  "node_modules/rimraf/node_modules/minimatch": {
5315
- "version": "3.1.2",
5316
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
5318
+ "version": "3.1.5",
5319
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
5317
5320
  "license": "ISC",
5318
5321
  "dependencies": {
5319
5322
  "brace-expansion": "^1.1.7"
@@ -5645,11 +5648,11 @@
5645
5648
  }
5646
5649
  },
5647
5650
  "node_modules/strip-ansi": {
5648
- "version": "7.1.2",
5649
- "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
5651
+ "version": "7.2.0",
5652
+ "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
5650
5653
  "license": "MIT",
5651
5654
  "dependencies": {
5652
- "ansi-regex": "^6.0.1"
5655
+ "ansi-regex": "^6.2.2"
5653
5656
  },
5654
5657
  "engines": {
5655
5658
  "node": ">=12"
@@ -5787,8 +5790,8 @@
5787
5790
  }
5788
5791
  },
5789
5792
  "node_modules/test-exclude/node_modules/minimatch": {
5790
- "version": "3.1.2",
5791
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
5793
+ "version": "3.1.5",
5794
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
5792
5795
  "dev": true,
5793
5796
  "license": "ISC",
5794
5797
  "dependencies": {
@@ -5799,8 +5802,8 @@
5799
5802
  }
5800
5803
  },
5801
5804
  "node_modules/text-decoder": {
5802
- "version": "1.2.3",
5803
- "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==",
5805
+ "version": "1.2.7",
5806
+ "integrity": "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==",
5804
5807
  "license": "Apache-2.0",
5805
5808
  "dependencies": {
5806
5809
  "b4a": "^1.6.4"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/react-codegen",
3
- "version": "11.14.3-rc.6401",
3
+ "version": "11.15.0-2.247",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "lint-staged": {
20
20
  "*.{js,jsx,ts,tsx,json,css,scss,md}": [
21
- "npm run format"
21
+ "prettier --write"
22
22
  ]
23
23
  },
24
24
  "author": "",
@@ -124,6 +124,8 @@ class AppGenerator {
124
124
  NPM_PACKAGES: [],
125
125
  };
126
126
  this.isWaveApp = false;
127
+ this.serviceDefsSource = "STATIC";
128
+ this.languageBundleSource = "STATIC";
127
129
  this.isTrue = (value) => {
128
130
  return value === true || value === "true";
129
131
  };
@@ -141,6 +143,7 @@ class AppGenerator {
141
143
  addEntityProvider: !this.isPrefabApp && scope !== "App",
142
144
  isPrefabApp: this.isPrefabApp,
143
145
  prefabName: this.prefabName,
146
+ isPrefabScope: scope === "Prefab",
144
147
  context: {
145
148
  Variables: variables.filter(v => v.group === "variable"),
146
149
  Actions: variables.filter(v => v.group === "action"),
@@ -334,7 +337,7 @@ class AppGenerator {
334
337
  try {
335
338
  const output = this.prepareVariables(variables, typeLabel, []);
336
339
  (0, utils_1.writeFile)(`${dest}/${name}.variables.ts`, output);
337
- const transpiledOutput = (0, transpile_1.transpileMarkup)(info.markup, this.isPrefabApp);
340
+ const transpiledOutput = (0, transpile_1.transpileMarkup)(info.markup, this.isPrefabApp, undefined, variables);
338
341
  const imports = (0, lodash_1.sortBy)((0, lodash_1.uniqBy)(transpiledOutput.imports, i => i.name + i.from), i => i.name);
339
342
  const _markup = "\n" + transpiledOutput.markup;
340
343
  const dynamicRefs = this.extractRefsFromMarkup(_markup);
@@ -468,7 +471,16 @@ class AppGenerator {
468
471
  const prefabGenerator = new AppGenerator(`${projectPath}/app/prefabs/${name}`, this.projectService.getPrefabProjectService(name), `${appUrl}/app/prefabs/${name}`, name, undefined, undefined, dynamicPrefabProps);
469
472
  return prefabGenerator
470
473
  .generatePagesAndPartials(true)
471
- .then(() => this.copyPrefabResources(projectPath, name));
474
+ .then(() => this.copyPrefabResources(projectPath, name))
475
+ .then(() => this.addPrefabLibsToLayout(prefabGenerator.projectPath, name));
476
+ });
477
+ }
478
+ addPrefabLibsToLayout(projectPath, prefabName) {
479
+ if (!projectPath || !prefabName)
480
+ return;
481
+ return this.projectService.getPrefabIndexHtml(prefabName).then(html => {
482
+ this.IncludePrefabsHtmlLibs(html);
483
+ return Promise.resolve({});
472
484
  });
473
485
  }
474
486
  copyPrefabResources(projectPath, prefabName) {
@@ -477,7 +489,11 @@ class AppGenerator {
477
489
  return this.projectService.getPrefabResources(prefabName).then(p => {
478
490
  if (p) {
479
491
  const dest = `${projectPath}/public/${prefabName}/resources`;
480
- fs_extra_1.default.copySync(p, dest);
492
+ fs_extra_1.default.copySync(p, dest, {
493
+ filter: (src) => {
494
+ return !src.includes(path_2.default.sep + "i18n" + path_2.default.sep) && !src.endsWith(path_2.default.sep + "i18n");
495
+ },
496
+ });
481
497
  }
482
498
  this.resolvePrefabImports(prefabName).then(res => {
483
499
  if (res.CSS_IMPORTS.length) {
@@ -594,21 +610,82 @@ class AppGenerator {
594
610
  return arrayOfFiles;
595
611
  }
596
612
  copyi18nFiles() {
597
- if (profile_1.default.useLocalMetadata) {
598
- if (this.incBuilder) {
599
- console.log(`Copying i18n files.`);
613
+ if (this.incBuilder) {
614
+ console.log(`Copying i18n files.`);
615
+ }
616
+ if (this.languageBundleSource !== "STATIC") {
617
+ return Promise.resolve({});
618
+ }
619
+ return this.projectService.geti18NFiles().then(p => {
620
+ if (p) {
621
+ fs_extra_1.default.copySync(p, this.projectPath + "/public/resources/i18n");
600
622
  }
601
- return this.projectService.geti18NFiles().then(p => {
602
- if (p) {
603
- fs_extra_1.default.copySync(p, this.projectPath + "/public/resources/i18n");
604
- }
605
- });
623
+ return Promise.resolve({});
624
+ });
625
+ }
626
+ copyServiceDefs() {
627
+ if (this.serviceDefsSource !== "STATIC") {
628
+ return Promise.resolve();
606
629
  }
607
- return Promise.resolve();
630
+ return this.projectService.getServiceDefsPath().then(serviceDefsPath => {
631
+ const targetDir = path_2.default.resolve(this.projectPath + "/public/services");
632
+ try {
633
+ // Copy regular service defs
634
+ if (fs_extra_1.default.existsSync(serviceDefsPath)) {
635
+ fs_extra_1.default.mkdirSync(targetDir, { recursive: true });
636
+ const sourceFile = path_2.default.join(serviceDefsPath, "app-servicedefs.json");
637
+ const targetFile = path_2.default.join(targetDir, "servicedefs.json");
638
+ if (fs_extra_1.default.existsSync(sourceFile)) {
639
+ fs_extra_1.default.copyFileSync(sourceFile, targetFile);
640
+ console.log("Service defs copied to servicedefs");
641
+ }
642
+ else {
643
+ console.warn(`Source file does not exist: ${sourceFile}`);
644
+ }
645
+ }
646
+ else {
647
+ console.warn(`Source directory does not exist: ${serviceDefsPath}`);
648
+ }
649
+ // Copy prefab service defs
650
+ const normalizedPath = serviceDefsPath.replace(/[/\\]$/, ""); // Remove trailing slash
651
+ const prefabSourceDir = normalizedPath.replace(/servicedefs$/, "prefabs");
652
+ if (fs_extra_1.default.existsSync(prefabSourceDir)) {
653
+ // Ensure target directory exists
654
+ fs_extra_1.default.mkdirSync(targetDir, { recursive: true });
655
+ // Read all prefab directories
656
+ const prefabDirs = fs_extra_1.default
657
+ .readdirSync(prefabSourceDir, { withFileTypes: true })
658
+ .filter((dirent) => dirent.isDirectory())
659
+ .map((dirent) => dirent.name);
660
+ let copiedCount = 0;
661
+ // Process each prefab directory
662
+ prefabDirs.forEach((prefabName) => {
663
+ const prefabSourcePath = path_2.default.join(prefabSourceDir, prefabName, "prefab-servicedefs.json");
664
+ const prefabTargetDir = path_2.default.join(targetDir, "prefabs", prefabName);
665
+ const prefabTargetPath = path_2.default.join(prefabTargetDir, "servicedefs.json");
666
+ // Check if prefab-servicedefs.json exists
667
+ if (fs_extra_1.default.existsSync(prefabSourcePath)) {
668
+ // Create target directory for this prefab
669
+ fs_extra_1.default.mkdirSync(prefabTargetDir, { recursive: true });
670
+ // Copy and rename the file
671
+ fs_extra_1.default.copyFileSync(prefabSourcePath, prefabTargetPath);
672
+ copiedCount++;
673
+ console.log(`Copied prefab service defs: ${prefabName} -> services/prefabs/${prefabName}/servicedefs.json`);
674
+ }
675
+ });
676
+ if (copiedCount > 0) {
677
+ console.log(`✅ Copied ${copiedCount} prefab service defs to servicedefs`);
678
+ }
679
+ }
680
+ }
681
+ catch (error) {
682
+ console.error("Error copying service defs:", error);
683
+ }
684
+ });
608
685
  }
609
686
  copyThemesFiles() {
610
687
  return this.projectService
611
- .getThemesFiles()
688
+ .getThemesFiles(this.isWaveApp)
612
689
  .then(p => {
613
690
  try {
614
691
  if (p && this.isWaveApp) {
@@ -668,6 +745,37 @@ class AppGenerator {
668
745
  console.log("Error generating font.config.js", e);
669
746
  }
670
747
  }
748
+ async IncludePrefabsHtmlLibs(html) {
749
+ try {
750
+ const layoutContent = fs_extra_1.default.readFileSync(`${this.projectPath}/app/layout.tsx`, "utf-8");
751
+ // Extract script and link tags, passing layoutContent to avoid duplicates
752
+ const scriptsElements = (0, utils_1.extractScriptAndLinkTags)(html, layoutContent);
753
+ // Only update if there are new elements to add
754
+ if (scriptsElements && scriptsElements.trim()) {
755
+ // Find the position of </head> and insert before it
756
+ // This preserves existing imports
757
+ const headCloseIndex = layoutContent.lastIndexOf("</head>");
758
+ if (headCloseIndex !== -1) {
759
+ const beforeHead = layoutContent.substring(0, headCloseIndex);
760
+ const afterHead = layoutContent.substring(headCloseIndex);
761
+ const updatedContent = `${beforeHead}
762
+ ${scriptsElements}
763
+ ${afterHead}`;
764
+ fs_extra_1.default.writeFileSync(`${this.projectPath}/app/layout.tsx`, updatedContent, "utf-8");
765
+ }
766
+ else {
767
+ // Fallback to original method if </head> not found
768
+ const updatedContent = layoutContent.replace(/\s*<\/head>/, `
769
+ ${scriptsElements}\n
770
+ </head>`);
771
+ fs_extra_1.default.writeFileSync(`${this.projectPath}/app/layout.tsx`, updatedContent, "utf-8");
772
+ }
773
+ }
774
+ }
775
+ catch (e) {
776
+ console.log("Error in IncludePrefabsHtmlLibs:", e);
777
+ }
778
+ }
671
779
  async IncludeScriptImports() {
672
780
  try {
673
781
  const layoutContent = fs_extra_1.default.readFileSync(`${this.projectPath}/app/layout.tsx`, "utf-8");
@@ -698,11 +806,20 @@ class AppGenerator {
698
806
  console.log("Error in IncludeScriptImports:", e);
699
807
  }
700
808
  }
701
- copyResource() {
809
+ async copyResource() {
702
810
  return this.projectService.getResources().then(p => {
703
811
  if (p) {
704
812
  const dest = `${this.projectPath}${!this.isPrefabApp ? "/public" : ""}/resources`;
705
- fs_extra_1.default.copySync(p, dest);
813
+ if (this.languageBundleSource !== "STATIC") {
814
+ fs_extra_1.default.copySync(p, dest, {
815
+ filter: (src) => {
816
+ return (!src.includes(path_2.default.sep + "i18n" + path_2.default.sep) && !src.endsWith(path_2.default.sep + "i18n"));
817
+ },
818
+ });
819
+ }
820
+ else {
821
+ fs_extra_1.default.copySync(p, dest);
822
+ }
706
823
  }
707
824
  return Promise.resolve({});
708
825
  });
@@ -815,8 +932,21 @@ class AppGenerator {
815
932
  return `<script defer src={\`\${configs.appConfig.basePath}${cleanScript}\`}></script>`;
816
933
  })
817
934
  .join("\n");
818
- const updatedContent = layoutContent.replace(/\s*<\/head>/, `${scriptElements}\n </head>`);
819
- fs_extra_1.default.writeFileSync(layoutPath, updatedContent);
935
+ // Append new scripts before </head> instead of replacing
936
+ const headCloseIndex = layoutContent.lastIndexOf("</head>");
937
+ if (headCloseIndex !== -1) {
938
+ const beforeHead = layoutContent.substring(0, headCloseIndex);
939
+ const afterHead = layoutContent.substring(headCloseIndex);
940
+ const updatedContent = `${beforeHead}
941
+ ${scriptElements}
942
+ ${afterHead}`;
943
+ fs_extra_1.default.writeFileSync(layoutPath, updatedContent);
944
+ }
945
+ else {
946
+ // Fallback to original method if </head> not found
947
+ const updatedContent = layoutContent.replace(/\s*<\/head>/, `${scriptElements}\n </head>`);
948
+ fs_extra_1.default.writeFileSync(layoutPath, updatedContent);
949
+ }
820
950
  }
821
951
  }
822
952
  }
@@ -874,7 +1004,9 @@ class AppGenerator {
874
1004
  fs_extra_1.default.writeFileSync(layoutPath, lines.join("\n"), "utf-8");
875
1005
  // update layout
876
1006
  let layoutContent = fs_extra_1.default.readFileSync(WaveLayoutPath, "utf-8");
877
- const isAppOverrideCssExist = await this.projectService.getThemesFiles().then(p => {
1007
+ const isAppOverrideCssExist = await this.projectService
1008
+ .getThemesFiles(this.isWaveApp)
1009
+ .then(p => {
878
1010
  if (p && fs_extra_1.default.existsSync(path_2.default.join(p, "app.override.css"))) {
879
1011
  return true;
880
1012
  }
@@ -909,12 +1041,38 @@ class AppGenerator {
909
1041
  return (0, utils_1.writeFile)(`${this.projectPath}/libs/extensions/formatters.js`, code);
910
1042
  });
911
1043
  }
1044
+ async resolvei18nAndServiceDefsSource() {
1045
+ const { i18nSource, serviceDefsSource } = await this.projectService.geti18nAndServiceDefsSource();
1046
+ this.languageBundleSource = i18nSource;
1047
+ this.serviceDefsSource = serviceDefsSource;
1048
+ return Promise.resolve();
1049
+ }
1050
+ async copyWmProjectProperties() {
1051
+ return this.projectService.getWmProjectPropertiesPath().then(sourceFile => {
1052
+ const targetDir = path_2.default.resolve(this.projectPath + "/public/services/application");
1053
+ const targetFile = path_2.default.join(targetDir, "wmProperties.js");
1054
+ // Ensure target directory exists before copying or writing
1055
+ fs_extra_1.default.mkdirSync(targetDir, { recursive: true });
1056
+ if (fs_extra_1.default.existsSync(sourceFile)) {
1057
+ fs_extra_1.default.copyFileSync(sourceFile, targetFile);
1058
+ console.log("Wm project properties copied to wmProperties.js");
1059
+ }
1060
+ else {
1061
+ fs_extra_1.default.writeFileSync(targetFile, "");
1062
+ console.log("Warning: Empty file created at wmProperties.js");
1063
+ }
1064
+ return Promise.resolve();
1065
+ });
1066
+ }
912
1067
  generateApp(options) {
913
1068
  this.incBuilder || fs_extra_1.default.copySync(__dirname + "/../templates/project", this.projectPath);
914
1069
  return (this.generateOverrideCSS(options)
915
1070
  .then(() => this.resolveProjectType())
916
1071
  .then(() => this.setSecurityConfig())
917
1072
  .then(() => this.generatePagesAndPartials())
1073
+ .then(() => this.resolvei18nAndServiceDefsSource())
1074
+ .then(() => this.copyServiceDefs())
1075
+ .then(() => this.copyWmProjectProperties())
918
1076
  .then(() => this.incBuilder && this.generateAllPrefabComponents())
919
1077
  .then(() => !this.incBuilder || this.incBuilder.isAppScriptModified())
920
1078
  .then(() => !this.incBuilder || this.incBuilder.isAppStyleModified())