@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.
- package/build-react-web.js +0 -19
- package/build-react-web.js.map +1 -1
- package/package-lock.json +43 -40
- package/package.json +2 -2
- package/src/app.generator.js +176 -18
- package/src/app.generator.js.map +1 -1
- package/src/gen-app-override-css.js +1 -1
- package/src/gen-app-override-css.js.map +1 -1
- package/src/handlebar-helpers.js +116 -19
- package/src/handlebar-helpers.js.map +1 -1
- package/src/project.service.js +47 -5
- package/src/project.service.js.map +1 -1
- package/src/transpile/bind.ex.transformer.js +11 -1
- package/src/transpile/bind.ex.transformer.js.map +1 -1
- package/src/transpile/components/basic/richtexteditor.transformer.js +3 -2
- package/src/transpile/components/basic/richtexteditor.transformer.js.map +1 -1
- package/src/transpile/components/basic/search.transformer.js +4 -6
- package/src/transpile/components/basic/search.transformer.js.map +1 -1
- package/src/transpile/components/container/repeat-template.transformer.js +9 -5
- package/src/transpile/components/container/repeat-template.transformer.js.map +1 -1
- package/src/transpile/components/container/tabpane.transformer.js +16 -1
- package/src/transpile/components/container/tabpane.transformer.js.map +1 -1
- package/src/transpile/components/container/tabs.transformer.js +11 -2
- package/src/transpile/components/container/tabs.transformer.js.map +1 -1
- package/src/transpile/components/data/card/card-content.transformer.js +5 -1
- package/src/transpile/components/data/card/card-content.transformer.js.map +1 -1
- package/src/transpile/components/data/form/form-action.transformer.js +73 -18
- package/src/transpile/components/data/form/form-action.transformer.js.map +1 -1
- package/src/transpile/components/data/form/form-field.transformer.js +46 -11
- package/src/transpile/components/data/form/form-field.transformer.js.map +1 -1
- package/src/transpile/components/data/form/form.transformer.js +53 -17
- package/src/transpile/components/data/form/form.transformer.js.map +1 -1
- package/src/transpile/components/data/list/list-transformer.js +65 -33
- package/src/transpile/components/data/list/list-transformer.js.map +1 -1
- package/src/transpile/components/data/live-filter-field.transformer.js +65 -10
- package/src/transpile/components/data/live-filter-field.transformer.js.map +1 -1
- package/src/transpile/components/data/liveform.transformer.js +11 -4
- package/src/transpile/components/data/liveform.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table-action.transformer.js +6 -2
- package/src/transpile/components/data/table/table-action.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table-column.transformer.js +95 -20
- package/src/transpile/components/data/table/table-column.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table-group.transformer.js +16 -0
- package/src/transpile/components/data/table/table-group.transformer.js.map +1 -0
- package/src/transpile/components/data/table/table-row-action.transformer.js +6 -2
- package/src/transpile/components/data/table/table-row-action.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table-row.transformer.js +7 -4
- package/src/transpile/components/data/table/table-row.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table.transformer.js +29 -1
- package/src/transpile/components/data/table/table.transformer.js.map +1 -1
- package/src/transpile/components/data/table/utils.js +3 -1
- package/src/transpile/components/data/table/utils.js.map +1 -1
- package/src/transpile/components/form/button.transformer.js +12 -1
- package/src/transpile/components/form/button.transformer.js.map +1 -1
- package/src/transpile/components/input/checkbox-set.transformer.js +1 -1
- package/src/transpile/components/input/checkbox-set.transformer.js.map +1 -1
- package/src/transpile/components/input/chips.transformer.js +2 -1
- package/src/transpile/components/input/chips.transformer.js.map +1 -1
- package/src/transpile/components/input/color-picker.transformer.js +2 -1
- package/src/transpile/components/input/color-picker.transformer.js.map +1 -1
- package/src/transpile/components/input/rating.transformer.js +1 -1
- package/src/transpile/components/input/rating.transformer.js.map +1 -1
- package/src/transpile/components/input/select.transformer.js +1 -1
- package/src/transpile/components/input/select.transformer.js.map +1 -1
- package/src/transpile/components/input/text.transformer.js +3 -1
- package/src/transpile/components/input/text.transformer.js.map +1 -1
- package/src/transpile/components/input/upload.transformer.js +19 -0
- package/src/transpile/components/input/upload.transformer.js.map +1 -0
- package/src/transpile/components/nav/navbar.transformer.js +84 -0
- package/src/transpile/components/nav/navbar.transformer.js.map +1 -1
- package/src/transpile/components/navigation/popover.transformer.js +1 -1
- package/src/transpile/components/navigation/popover.transformer.js.map +1 -1
- package/src/transpile/components/page/partial-container.transformer.js +15 -6
- package/src/transpile/components/page/partial-container.transformer.js.map +1 -1
- package/src/transpile/components/prefab/prefab.transformer.js +23 -2
- package/src/transpile/components/prefab/prefab.transformer.js.map +1 -1
- package/src/transpile/components/transform-register.js +4 -0
- package/src/transpile/components/transform-register.js.map +1 -1
- package/src/transpile/components/utils.js +176 -15
- package/src/transpile/components/utils.js.map +1 -1
- package/src/transpile/property/property-parser.js +12 -0
- package/src/transpile/property/property-parser.js.map +1 -1
- package/src/transpile/style.transformer.js +7 -1
- package/src/transpile/style.transformer.js.map +1 -1
- package/src/transpile/transpile.js +370 -25
- package/src/transpile/transpile.js.map +1 -1
- package/src/utils.js +343 -36
- package/src/utils.js.map +1 -1
- package/src/utils.test.js +703 -0
- package/src/utils.test.js.map +1 -0
- package/src/variables/variable.transformer.js +302 -135
- package/src/variables/variable.transformer.js.map +1 -1
- package/templates/component/app.template.hbs +1 -0
- package/templates/component/component.hbs +12 -1
- package/templates/component/partial.hbs +8 -0
- package/templates/project/.env +1 -1
- package/templates/project/app/components.css +16 -15
- package/templates/project/app/globals.css +39 -0
- package/templates/project/app/loading.tsx +1 -1
- package/templates/project/package.json +8 -8
- package/templates/variables.template +21 -2
- package/templates/project/.npmrc +0 -5
package/build-react-web.js
CHANGED
|
@@ -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...");
|
package/build-react-web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-react-web.js","sourceRoot":"","sources":["../build-react-web.ts"],"names":[],"mappings":"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
|
|
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.
|
|
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.
|
|
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.
|
|
1039
|
-
"integrity": "sha512-
|
|
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.
|
|
1639
|
-
"integrity": "sha512-
|
|
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.
|
|
1823
|
-
"integrity": "sha512-
|
|
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.
|
|
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.
|
|
1978
|
-
"integrity": "sha512-
|
|
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.
|
|
2094
|
-
"integrity": "sha512-
|
|
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.
|
|
2099
|
-
"strip-ansi": "^7.1.
|
|
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.
|
|
2532
|
-
"integrity": "sha512-
|
|
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.
|
|
2906
|
-
"integrity": "sha512-
|
|
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.
|
|
3693
|
-
"integrity": "sha512-
|
|
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.
|
|
4016
|
-
"integrity": "sha512-
|
|
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.
|
|
4682
|
-
"integrity": "sha512-
|
|
4684
|
+
"version": "9.0.9",
|
|
4685
|
+
"integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
|
|
4683
4686
|
"license": "ISC",
|
|
4684
4687
|
"dependencies": {
|
|
4685
|
-
"brace-expansion": "^2.0.
|
|
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.
|
|
4704
|
-
"integrity": "sha512-
|
|
4705
|
-
"license": "
|
|
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.
|
|
5154
|
-
"integrity": "sha512-
|
|
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.
|
|
5316
|
-
"integrity": "sha512-
|
|
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.
|
|
5649
|
-
"integrity": "sha512-
|
|
5651
|
+
"version": "7.2.0",
|
|
5652
|
+
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
|
5650
5653
|
"license": "MIT",
|
|
5651
5654
|
"dependencies": {
|
|
5652
|
-
"ansi-regex": "^6.
|
|
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.
|
|
5791
|
-
"integrity": "sha512-
|
|
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.
|
|
5803
|
-
"integrity": "sha512-
|
|
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.
|
|
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
|
-
"
|
|
21
|
+
"prettier --write"
|
|
22
22
|
]
|
|
23
23
|
},
|
|
24
24
|
"author": "",
|
package/src/app.generator.js
CHANGED
|
@@ -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 (
|
|
598
|
-
|
|
599
|
-
|
|
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
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
623
|
+
return Promise.resolve({});
|
|
624
|
+
});
|
|
625
|
+
}
|
|
626
|
+
copyServiceDefs() {
|
|
627
|
+
if (this.serviceDefsSource !== "STATIC") {
|
|
628
|
+
return Promise.resolve();
|
|
606
629
|
}
|
|
607
|
-
return
|
|
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
|
-
|
|
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
|
-
|
|
819
|
-
|
|
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
|
|
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())
|