@wavemaker/angular-codegen 11.10.0-next.25079 → 11.10.0-next.27705
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/angular-app/angular.json +1 -1
- package/angular-app/build-scripts/build.js +1 -0
- package/angular-app/build-scripts/post-build.js +17 -16
- package/angular-app/dependency-report.html +1 -1
- package/angular-app/npm-shrinkwrap.json +130 -112
- package/angular-app/package-lock.json +130 -112
- package/angular-app/package.json +8 -6
- package/angular-app/src/assets/styles/css/wm-style.css +1 -1
- package/angular-app/src/setup-jest.js +4 -1
- package/build-angular-app.js +375 -35
- package/generate-angular-app.js +3 -1
- package/npm-shrinkwrap.json +88 -63
- package/package-lock.json +88 -63
- package/package.json +4 -4
- package/src/codegen-args-cli.js +1 -1
- package/src/codegen-cli.js +1 -1
- package/src/codegen.js +1 -1
- package/src/copy-utils.js +1 -1
- package/src/project-meta.js +1 -1
- package/src/update-angular-json.js +1 -1
- package/src/wm-utils.js +1 -1
package/package-lock.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wavemaker/angular-codegen",
|
|
3
|
-
"version": "11.10.0-next.
|
|
3
|
+
"version": "11.10.0-next.27705",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@wavemaker/angular-codegen",
|
|
9
|
-
"version": "11.10.0-next.
|
|
9
|
+
"version": "11.10.0-next.27705",
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@wavemaker/angular-app": "11.10.0-next.
|
|
12
|
+
"@wavemaker/angular-app": "11.10.0-next.27705",
|
|
13
13
|
"archiver": "^7.0.1",
|
|
14
14
|
"cheerio": "1.0.0-rc.12",
|
|
15
15
|
"decode-uri-component": "^0.2.0",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"jest": "^27.0.6"
|
|
32
32
|
},
|
|
33
33
|
"engines": {
|
|
34
|
-
"node": "
|
|
35
|
-
"npm": "
|
|
34
|
+
"node": "~22.11.0",
|
|
35
|
+
"npm": "~10.9.0"
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"node_modules/@ampproject/remapping": {
|
|
@@ -395,8 +395,8 @@
|
|
|
395
395
|
}
|
|
396
396
|
},
|
|
397
397
|
"node_modules/@babel/compat-data": {
|
|
398
|
-
"version": "7.26.
|
|
399
|
-
"integrity": "sha512-
|
|
398
|
+
"version": "7.26.5",
|
|
399
|
+
"integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==",
|
|
400
400
|
"dev": true,
|
|
401
401
|
"license": "MIT",
|
|
402
402
|
"engines": {
|
|
@@ -463,13 +463,13 @@
|
|
|
463
463
|
"license": "MIT"
|
|
464
464
|
},
|
|
465
465
|
"node_modules/@babel/generator": {
|
|
466
|
-
"version": "7.26.
|
|
467
|
-
"integrity": "sha512-
|
|
466
|
+
"version": "7.26.5",
|
|
467
|
+
"integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==",
|
|
468
468
|
"dev": true,
|
|
469
469
|
"license": "MIT",
|
|
470
470
|
"dependencies": {
|
|
471
|
-
"@babel/parser": "^7.26.
|
|
472
|
-
"@babel/types": "^7.26.
|
|
471
|
+
"@babel/parser": "^7.26.5",
|
|
472
|
+
"@babel/types": "^7.26.5",
|
|
473
473
|
"@jridgewell/gen-mapping": "^0.3.5",
|
|
474
474
|
"@jridgewell/trace-mapping": "^0.3.25",
|
|
475
475
|
"jsesc": "^3.0.2"
|
|
@@ -479,12 +479,12 @@
|
|
|
479
479
|
}
|
|
480
480
|
},
|
|
481
481
|
"node_modules/@babel/helper-compilation-targets": {
|
|
482
|
-
"version": "7.
|
|
483
|
-
"integrity": "sha512-
|
|
482
|
+
"version": "7.26.5",
|
|
483
|
+
"integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==",
|
|
484
484
|
"dev": true,
|
|
485
485
|
"license": "MIT",
|
|
486
486
|
"dependencies": {
|
|
487
|
-
"@babel/compat-data": "^7.
|
|
487
|
+
"@babel/compat-data": "^7.26.5",
|
|
488
488
|
"@babel/helper-validator-option": "^7.25.9",
|
|
489
489
|
"browserslist": "^4.24.0",
|
|
490
490
|
"lru-cache": "^5.1.1",
|
|
@@ -525,8 +525,8 @@
|
|
|
525
525
|
}
|
|
526
526
|
},
|
|
527
527
|
"node_modules/@babel/helper-plugin-utils": {
|
|
528
|
-
"version": "7.
|
|
529
|
-
"integrity": "sha512-
|
|
528
|
+
"version": "7.26.5",
|
|
529
|
+
"integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==",
|
|
530
530
|
"dev": true,
|
|
531
531
|
"license": "MIT",
|
|
532
532
|
"engines": {
|
|
@@ -574,12 +574,12 @@
|
|
|
574
574
|
}
|
|
575
575
|
},
|
|
576
576
|
"node_modules/@babel/parser": {
|
|
577
|
-
"version": "7.26.
|
|
578
|
-
"integrity": "sha512-
|
|
577
|
+
"version": "7.26.5",
|
|
578
|
+
"integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==",
|
|
579
579
|
"dev": true,
|
|
580
580
|
"license": "MIT",
|
|
581
581
|
"dependencies": {
|
|
582
|
-
"@babel/types": "^7.26.
|
|
582
|
+
"@babel/types": "^7.26.5"
|
|
583
583
|
},
|
|
584
584
|
"bin": {
|
|
585
585
|
"parser": "bin/babel-parser.js"
|
|
@@ -838,16 +838,16 @@
|
|
|
838
838
|
}
|
|
839
839
|
},
|
|
840
840
|
"node_modules/@babel/traverse": {
|
|
841
|
-
"version": "7.26.
|
|
842
|
-
"integrity": "sha512-
|
|
841
|
+
"version": "7.26.5",
|
|
842
|
+
"integrity": "sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==",
|
|
843
843
|
"dev": true,
|
|
844
844
|
"license": "MIT",
|
|
845
845
|
"dependencies": {
|
|
846
846
|
"@babel/code-frame": "^7.26.2",
|
|
847
|
-
"@babel/generator": "^7.26.
|
|
848
|
-
"@babel/parser": "^7.26.
|
|
847
|
+
"@babel/generator": "^7.26.5",
|
|
848
|
+
"@babel/parser": "^7.26.5",
|
|
849
849
|
"@babel/template": "^7.25.9",
|
|
850
|
-
"@babel/types": "^7.26.
|
|
850
|
+
"@babel/types": "^7.26.5",
|
|
851
851
|
"debug": "^4.3.1",
|
|
852
852
|
"globals": "^11.1.0"
|
|
853
853
|
},
|
|
@@ -879,8 +879,8 @@
|
|
|
879
879
|
"license": "MIT"
|
|
880
880
|
},
|
|
881
881
|
"node_modules/@babel/types": {
|
|
882
|
-
"version": "7.26.
|
|
883
|
-
"integrity": "sha512-
|
|
882
|
+
"version": "7.26.5",
|
|
883
|
+
"integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==",
|
|
884
884
|
"dev": true,
|
|
885
885
|
"license": "MIT",
|
|
886
886
|
"dependencies": {
|
|
@@ -1351,6 +1351,18 @@
|
|
|
1351
1351
|
"@jridgewell/sourcemap-codec": "^1.4.14"
|
|
1352
1352
|
}
|
|
1353
1353
|
},
|
|
1354
|
+
"node_modules/@lmdb/lmdb-linux-x64": {
|
|
1355
|
+
"version": "3.0.13",
|
|
1356
|
+
"integrity": "sha512-vOtxu0xC0SLdQ2WRXg8Qgd8T32ak4SPqk5zjItRszrJk2BdeXqfGxBJbP7o4aOvSPSmSSv46Lr1EP4HXU8v7Kg==",
|
|
1357
|
+
"cpu": [
|
|
1358
|
+
"x64"
|
|
1359
|
+
],
|
|
1360
|
+
"license": "MIT",
|
|
1361
|
+
"optional": true,
|
|
1362
|
+
"os": [
|
|
1363
|
+
"linux"
|
|
1364
|
+
]
|
|
1365
|
+
},
|
|
1354
1366
|
"node_modules/@metrichor/jmespath": {
|
|
1355
1367
|
"version": "0.3.1",
|
|
1356
1368
|
"integrity": "sha512-X/S90FG+VlEWGNEptEpZ15QN7h9aRhdOZm3yjE4lHItig8lSpJbmYDqAPo3iKc4CjUGfUSv4z+VhKrFw6iHBMg==",
|
|
@@ -1506,8 +1518,8 @@
|
|
|
1506
1518
|
}
|
|
1507
1519
|
},
|
|
1508
1520
|
"node_modules/@types/node": {
|
|
1509
|
-
"version": "22.10.
|
|
1510
|
-
"integrity": "sha512-
|
|
1521
|
+
"version": "22.10.9",
|
|
1522
|
+
"integrity": "sha512-Ir6hwgsKyNESl/gLOcEz3krR4CBGgliDqBQ2ma4wIhEx0w+xnoeTq3tdrNw15kU3SxogDjOgv9sqdtLW8mIHaw==",
|
|
1511
1523
|
"license": "MIT",
|
|
1512
1524
|
"dependencies": {
|
|
1513
1525
|
"undici-types": "~6.20.0"
|
|
@@ -1540,8 +1552,8 @@
|
|
|
1540
1552
|
"license": "MIT"
|
|
1541
1553
|
},
|
|
1542
1554
|
"node_modules/@wavemaker/angular-app": {
|
|
1543
|
-
"version": "11.10.0-next.
|
|
1544
|
-
"integrity": "sha512-
|
|
1555
|
+
"version": "11.10.0-next.27705",
|
|
1556
|
+
"integrity": "sha512-BZamz7JimpX82NqcTIsddOz9+I6ie1DyM4WEvpmi4F4Ta/p+jREOYkKT1QZOQJgd9TiCU74GCacK5CszQsJu/g==",
|
|
1545
1557
|
"dependencies": {
|
|
1546
1558
|
"@angular/animations": "18.2.13",
|
|
1547
1559
|
"@angular/common": "18.2.13",
|
|
@@ -1569,17 +1581,18 @@
|
|
|
1569
1581
|
"@awesome-cordova-plugins/vibration": "5.39.1",
|
|
1570
1582
|
"@babel/runtime": "7.14.8",
|
|
1571
1583
|
"@metrichor/jmespath": "0.3.1",
|
|
1572
|
-
"@wavemaker/app-ng-runtime": "11.10.0-next.
|
|
1573
|
-
"@wavemaker/custom-widgets-m3": "11.10.0-next.
|
|
1584
|
+
"@wavemaker/app-ng-runtime": "11.10.0-next.27705",
|
|
1585
|
+
"@wavemaker/custom-widgets-m3": "11.10.0-next.27705",
|
|
1574
1586
|
"@wavemaker/focus-trap": "1.0.1",
|
|
1575
|
-
"@wavemaker/foundation-css": "11.10.0-next.
|
|
1587
|
+
"@wavemaker/foundation-css": "11.10.0-next.27705",
|
|
1576
1588
|
"@wavemaker/nvd3": "1.8.12",
|
|
1577
|
-
"@wavemaker/variables": "11.10.0-next.
|
|
1589
|
+
"@wavemaker/variables": "11.10.0-next.27705",
|
|
1578
1590
|
"@ztree/ztree_v3": "3.5.48",
|
|
1579
1591
|
"angular-imask": "^7.6.1",
|
|
1580
1592
|
"angular2-websocket": "0.9.7",
|
|
1581
1593
|
"core-js": "3.35.1",
|
|
1582
1594
|
"d3": "7.8.5",
|
|
1595
|
+
"esbuild-wasm": "^0.24.2",
|
|
1583
1596
|
"fullcalendar": "5.3.1",
|
|
1584
1597
|
"hammerjs": "2.0.8",
|
|
1585
1598
|
"iscroll": "5.2.0",
|
|
@@ -1606,14 +1619,15 @@
|
|
|
1606
1619
|
"npm": "~10.9.0"
|
|
1607
1620
|
},
|
|
1608
1621
|
"optionalDependencies": {
|
|
1622
|
+
"@lmdb/lmdb-linux-x64": "3.0.13",
|
|
1609
1623
|
"@rollup/rollup-darwin-arm64": "4.9.5",
|
|
1610
1624
|
"@rollup/rollup-linux-x64-gnu": "4.9.5",
|
|
1611
1625
|
"@rollup/rollup-win32-x64": "4.9.5"
|
|
1612
1626
|
}
|
|
1613
1627
|
},
|
|
1614
1628
|
"node_modules/@wavemaker/app-ng-runtime": {
|
|
1615
|
-
"version": "11.10.0-next.
|
|
1616
|
-
"integrity": "sha512-
|
|
1629
|
+
"version": "11.10.0-next.27705",
|
|
1630
|
+
"integrity": "sha512-pdTUExCcJ0yPLumpotNnNpRsUymz/ZhcIDcalpxXchEsYt5dD0lqo4tK0swPYCnBmz0VTiEMOHo7ljFxiVv0Sw==",
|
|
1617
1631
|
"license": "MIT",
|
|
1618
1632
|
"engines": {
|
|
1619
1633
|
"node": ">=18.16.1",
|
|
@@ -1621,8 +1635,8 @@
|
|
|
1621
1635
|
}
|
|
1622
1636
|
},
|
|
1623
1637
|
"node_modules/@wavemaker/custom-widgets-m3": {
|
|
1624
|
-
"version": "11.10.0-next.
|
|
1625
|
-
"integrity": "sha512-
|
|
1638
|
+
"version": "11.10.0-next.27705",
|
|
1639
|
+
"integrity": "sha512-uR4yLOG5dTEunN825xEoVE1aj2s1KRkziRwtIADAnJU/0a7elTcflKOtPUctoYfY/CVCgQwL/6l77e1DrhjLWQ==",
|
|
1626
1640
|
"license": "ISC"
|
|
1627
1641
|
},
|
|
1628
1642
|
"node_modules/@wavemaker/focus-trap": {
|
|
@@ -1635,8 +1649,8 @@
|
|
|
1635
1649
|
}
|
|
1636
1650
|
},
|
|
1637
1651
|
"node_modules/@wavemaker/foundation-css": {
|
|
1638
|
-
"version": "11.10.0-next.
|
|
1639
|
-
"integrity": "sha512-
|
|
1652
|
+
"version": "11.10.0-next.27705",
|
|
1653
|
+
"integrity": "sha512-5m1SfBZ6MPvjMvC2z0VT+HM+VRBkNeSfv20th0D3DIzZmjGSgoWvcobNeS7Icl62vYwoJse80Otiy4+R6xzokw==",
|
|
1640
1654
|
"license": "ISC"
|
|
1641
1655
|
},
|
|
1642
1656
|
"node_modules/@wavemaker/nvd3": {
|
|
@@ -1648,8 +1662,8 @@
|
|
|
1648
1662
|
}
|
|
1649
1663
|
},
|
|
1650
1664
|
"node_modules/@wavemaker/variables": {
|
|
1651
|
-
"version": "11.10.0-next.
|
|
1652
|
-
"integrity": "sha512-
|
|
1665
|
+
"version": "11.10.0-next.27705",
|
|
1666
|
+
"integrity": "sha512-3tKnnNeinHliB+3ua+h3WSR1q4fs9UHL7KfXX2hj73cTTcU6bwSX2ondGd7nlbwS42YCquZwGppSBLWU0n68zg==",
|
|
1653
1667
|
"license": "ISC",
|
|
1654
1668
|
"dependencies": {
|
|
1655
1669
|
"@metrichor/jmespath": "^0.3.1",
|
|
@@ -2036,8 +2050,8 @@
|
|
|
2036
2050
|
"license": "MIT"
|
|
2037
2051
|
},
|
|
2038
2052
|
"node_modules/bare-events": {
|
|
2039
|
-
"version": "2.5.
|
|
2040
|
-
"integrity": "sha512
|
|
2053
|
+
"version": "2.5.4",
|
|
2054
|
+
"integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==",
|
|
2041
2055
|
"license": "Apache-2.0",
|
|
2042
2056
|
"optional": true
|
|
2043
2057
|
},
|
|
@@ -2167,8 +2181,8 @@
|
|
|
2167
2181
|
"license": "BSD-2-Clause"
|
|
2168
2182
|
},
|
|
2169
2183
|
"node_modules/browserslist": {
|
|
2170
|
-
"version": "4.24.
|
|
2171
|
-
"integrity": "sha512-
|
|
2184
|
+
"version": "4.24.4",
|
|
2185
|
+
"integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
|
|
2172
2186
|
"dev": true,
|
|
2173
2187
|
"funding": [
|
|
2174
2188
|
{
|
|
@@ -2326,8 +2340,8 @@
|
|
|
2326
2340
|
}
|
|
2327
2341
|
},
|
|
2328
2342
|
"node_modules/caniuse-lite": {
|
|
2329
|
-
"version": "1.0.
|
|
2330
|
-
"integrity": "sha512-
|
|
2343
|
+
"version": "1.0.30001695",
|
|
2344
|
+
"integrity": "sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==",
|
|
2331
2345
|
"dev": true,
|
|
2332
2346
|
"funding": [
|
|
2333
2347
|
{
|
|
@@ -2672,8 +2686,8 @@
|
|
|
2672
2686
|
}
|
|
2673
2687
|
},
|
|
2674
2688
|
"node_modules/core-js-pure": {
|
|
2675
|
-
"version": "3.
|
|
2676
|
-
"integrity": "sha512-
|
|
2689
|
+
"version": "3.40.0",
|
|
2690
|
+
"integrity": "sha512-AtDzVIgRrmRKQai62yuSIN5vNiQjcJakJb4fbhVw3ehxx7Lohphvw9SGNWKhLFqSxC4ilD0g/L1huAYFQU3Q6A==",
|
|
2677
2691
|
"hasInstallScript": true,
|
|
2678
2692
|
"license": "MIT",
|
|
2679
2693
|
"funding": {
|
|
@@ -3314,8 +3328,8 @@
|
|
|
3314
3328
|
}
|
|
3315
3329
|
},
|
|
3316
3330
|
"node_modules/domutils": {
|
|
3317
|
-
"version": "3.2.
|
|
3318
|
-
"integrity": "sha512-
|
|
3331
|
+
"version": "3.2.2",
|
|
3332
|
+
"integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
|
|
3319
3333
|
"license": "BSD-2-Clause",
|
|
3320
3334
|
"dependencies": {
|
|
3321
3335
|
"dom-serializer": "^2.0.0",
|
|
@@ -3400,8 +3414,8 @@
|
|
|
3400
3414
|
"license": "MIT"
|
|
3401
3415
|
},
|
|
3402
3416
|
"node_modules/electron-to-chromium": {
|
|
3403
|
-
"version": "1.5.
|
|
3404
|
-
"integrity": "sha512
|
|
3417
|
+
"version": "1.5.86",
|
|
3418
|
+
"integrity": "sha512-/D7GAAaCRBQFBBcop6SfAAGH37djtpWkOuYhyAajw0l5vsfeSsUQYxaFPwr1c/mC/flARCDdKFo5gpFqNI+18w==",
|
|
3405
3419
|
"dev": true,
|
|
3406
3420
|
"license": "ISC"
|
|
3407
3421
|
},
|
|
@@ -3475,8 +3489,8 @@
|
|
|
3475
3489
|
}
|
|
3476
3490
|
},
|
|
3477
3491
|
"node_modules/es-object-atoms": {
|
|
3478
|
-
"version": "1.
|
|
3479
|
-
"integrity": "sha512-
|
|
3492
|
+
"version": "1.1.1",
|
|
3493
|
+
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
|
3480
3494
|
"license": "MIT",
|
|
3481
3495
|
"dependencies": {
|
|
3482
3496
|
"es-errors": "^1.3.0"
|
|
@@ -3485,6 +3499,17 @@
|
|
|
3485
3499
|
"node": ">= 0.4"
|
|
3486
3500
|
}
|
|
3487
3501
|
},
|
|
3502
|
+
"node_modules/esbuild-wasm": {
|
|
3503
|
+
"version": "0.24.2",
|
|
3504
|
+
"integrity": "sha512-03/7Z1gD+ohDnScFztvI4XddTAbKVmMEzCvvkBpQdWKEXJ+73dTyeNrmdxP1Q0zpDMFjzUJwtK4rLjqwiHbzkw==",
|
|
3505
|
+
"license": "MIT",
|
|
3506
|
+
"bin": {
|
|
3507
|
+
"esbuild": "bin/esbuild"
|
|
3508
|
+
},
|
|
3509
|
+
"engines": {
|
|
3510
|
+
"node": ">=18"
|
|
3511
|
+
}
|
|
3512
|
+
},
|
|
3488
3513
|
"node_modules/escalade": {
|
|
3489
3514
|
"version": "3.2.0",
|
|
3490
3515
|
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
|
|
@@ -6467,8 +6492,8 @@
|
|
|
6467
6492
|
"license": "MIT"
|
|
6468
6493
|
},
|
|
6469
6494
|
"node_modules/readable-stream": {
|
|
6470
|
-
"version": "4.
|
|
6471
|
-
"integrity": "sha512-
|
|
6495
|
+
"version": "4.7.0",
|
|
6496
|
+
"integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==",
|
|
6472
6497
|
"license": "MIT",
|
|
6473
6498
|
"dependencies": {
|
|
6474
6499
|
"abort-controller": "^3.0.0",
|
|
@@ -7146,8 +7171,8 @@
|
|
|
7146
7171
|
"license": "MIT"
|
|
7147
7172
|
},
|
|
7148
7173
|
"node_modules/tar-fs": {
|
|
7149
|
-
"version": "1.16.
|
|
7150
|
-
"integrity": "sha512-
|
|
7174
|
+
"version": "1.16.4",
|
|
7175
|
+
"integrity": "sha512-u3XczWoYAIVXe5GOKK6+VeWaHjtc47W7hyuTo3+4cNakcCcuDmlkYiiHEsECwTkcI3h1VUgtwBQ54+RvY6cM4w==",
|
|
7151
7176
|
"license": "MIT",
|
|
7152
7177
|
"dependencies": {
|
|
7153
7178
|
"chownr": "^1.0.1",
|
|
@@ -7551,8 +7576,8 @@
|
|
|
7551
7576
|
}
|
|
7552
7577
|
},
|
|
7553
7578
|
"node_modules/update-browserslist-db": {
|
|
7554
|
-
"version": "1.1.
|
|
7555
|
-
"integrity": "sha512-
|
|
7579
|
+
"version": "1.1.2",
|
|
7580
|
+
"integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==",
|
|
7556
7581
|
"dev": true,
|
|
7557
7582
|
"funding": [
|
|
7558
7583
|
{
|
|
@@ -7571,7 +7596,7 @@
|
|
|
7571
7596
|
"license": "MIT",
|
|
7572
7597
|
"dependencies": {
|
|
7573
7598
|
"escalade": "^3.2.0",
|
|
7574
|
-
"picocolors": "^1.1.
|
|
7599
|
+
"picocolors": "^1.1.1"
|
|
7575
7600
|
},
|
|
7576
7601
|
"bin": {
|
|
7577
7602
|
"update-browserslist-db": "cli.js"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wavemaker/angular-codegen",
|
|
3
|
-
"version": "11.10.0-next.
|
|
3
|
+
"version": "11.10.0-next.27705",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
".npmrc"
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@wavemaker/angular-app": "11.10.0-next.
|
|
18
|
+
"@wavemaker/angular-app": "11.10.0-next.27705",
|
|
19
19
|
"archiver": "^7.0.1",
|
|
20
20
|
"cheerio": "1.0.0-rc.12",
|
|
21
21
|
"decode-uri-component": "^0.2.0",
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"jest": "^27.0.6"
|
|
38
38
|
},
|
|
39
39
|
"engines": {
|
|
40
|
-
"node": "
|
|
41
|
-
"npm": "
|
|
40
|
+
"node": "~22.11.0",
|
|
41
|
+
"npm": "~10.9.0"
|
|
42
42
|
},
|
|
43
43
|
"engineStrict": true
|
|
44
44
|
}
|
package/src/codegen-args-cli.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const codegenCLI=require("./codegen-cli"),argv=require("yargs").usage("Usage: $0 -s [wavemaker project path] -t [target location] [-c] [-g]").options({deploy_url:{alias:"d",type:"string"},generate_page:{type:"string"},source:{alias:"s",describe:"source project web-app path",type:"string"},target:{alias:"t",describe:"target directory",type:"string"},codegenPath:{describe:"Codegen installation path",type:"string"},pwa:{describe:"Toggle pwa capability",type:"boolean",default:!1},spa:{describe:"Toggle single page application behaviour",type:"boolean",default:!1}}).demandOption(["source","target"],"please provide source project and target directory paths").help().argv,init=async()=>{argv.generate_page&&await codegenCLI.generatePage(argv.source,argv.target,argv.generate_page,argv.codegenPath,argv.csp),argv.generate_page||await codegenCLI.generateCodegenAngularApp(argv.source,argv.target,argv.deploy_url,argv.pwa,argv.codegenPath,argv.csp,argv.spa)};init();
|
|
1
|
+
const fs=require("fs"),path=require("path"),{spawnSync:spawnSync}=require("child_process"),codegenCLI=require("./codegen-cli"),{generateRandomHash:generateRandomHash}=require("./wm-utils"),argv=require("yargs").usage("Usage: $0 -s [wavemaker project path] -t [target location] [-c] [-g]").options({deploy_url:{alias:"d",type:"string"},generate_page:{type:"string"},source:{alias:"s",describe:"source project web-app path",type:"string"},target:{alias:"t",describe:"target directory",type:"string"},codegenPath:{describe:"Codegen installation path",type:"string"},pwa:{describe:"Toggle pwa capability",type:"boolean",default:!1},spa:{describe:"Toggle single page application behaviour",type:"boolean",default:!1}}).demandOption(["source","target"],"please provide source project and target directory paths").help().argv,execCommand=async e=>{try{const a=spawnSync(e,{stdio:"inherit",shell:!0});0===a.status?console.log(`Executed the command - ${e} - successfully!`):(console.error("Error during command - ",a.error||a.stderr),process.exit(1))}catch(e){throw console.error(`Synchronous error - ${e}`),e}},setAppRuntimeVersion=async e=>{const a=fs.readFileSync(path.resolve(`${e}/pom.xml`),"utf8");let r="",n=a.indexOf("<wavemaker.app.runtime.ui.version>"),t=a.indexOf("</wavemaker.app.runtime.ui.version>");n&&t&&(n+="<wavemaker.app.runtime.ui.version>".length,r=a.substr(n,t-n).trim()),global.appRuntimeVersion=r,console.log(`App RuntimeVersion : ${global.appRuntimeVersion}`)},invokeMaven=async e=>{let a=-1===global.appRuntimeVersion.indexOf("next")?"mvn clean process-classes":"mvn clean process-classes -Pwavemaker-internal";await execCommand(`cd ${e} && ${a}`)},init=async()=>{await setAppRuntimeVersion(argv.source),global.randomHash=generateRandomHash(),await invokeMaven(argv.source),argv.generate_page&&await codegenCLI.generatePage(argv.source,argv.target,argv.generate_page,argv.codegenPath,argv.csp),argv.generate_page||(argv.deploy_url=argv.deploy_url?`${argv.deploy_url}/ng-bundle/${global.randomHash}/`:`ng-bundle/${global.randomHash}/`,await codegenCLI.generateCodegenAngularApp(argv.source,argv.target,argv.deploy_url,argv.pwa,argv.codegenPath,argv.csp,argv.spa))};init();
|
package/src/codegen-cli.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const codegen=require("./codegen"),fs=require("fs"),{downloadNPMPackage:downloadNPMPackage}=require("../download-packages"),{setCodegenPath:setCodegenPath,deleteResource:deleteResource,isMobileProject:isMobileProject,initExpressionParser:initExpressionParser,isPrismProject:isPrismProject}=require("./wm-utils"),{initTemplates:initTemplates}=require("./handlebar-helpers"),{getWmProjectProperties:getWmProjectProperties}=require("./project-meta"),path=require("path"),create=async(e,s,t,r)=>{await codegen.createAppSkeleton(e,s,t,r)};global.window={navigator:{userAgent:"Node.js",userAgentData:{platform:"Node.js"}}};const generate=async(e,s,t,r,n,i,a)=>{await codegen.generateSources(e,s,t,r,n,i,a)},generateCodegenAngularApp=async(e,s,t,r,n,i,a,o)=>{const c=await getWmProjectProperties(e);if(a=!isMobileProject(c)&&a,setCodegenPath(n),initTemplates(),initExpressionParser(),a){let s=e;e&&"/"!=e.charAt(e.length-1)&&(s+="/"),s+="target/ui-build/intermediate-app",await codegen.generateIntermediateApp(e,s),e=s}await create(e,s,n,c),await generate(e,s,t,r,i,a,o)},accessFile=e=>{fs.access(e,fs.constants.F_OK,s=>{if(s){console.log(`${e} does not exist. Creating file...`);const s=JSON.stringify({});fs.writeFile(e,s,s=>{if(s)throw s;console.log(`${e} was created successfully.`)})}})},processJsonFiles=(e,s)=>{return fs.readdirSync(e).forEach(t=>{const r=path.join(e,t),n=fs.statSync(r);if(n.isDirectory())processJsonFiles(r,s);else if(n.isFile()&&".json"===path.extname(r)){r.match(/\.([^.]+)\.json$/);s.push({sourceFile:r,destinationFile:r.replace("json","css")})}}),s},generateOverrideCSS=async(e,s,t)=>{const r=await getWmProjectProperties(s);if(isPrismProject(r)&&(e.generateOverrideCSS||"angular"===e.buildType)){const r=path.join(s+"/src/main/webapp/themes","overrides"),n=s+"/src/main/webapp/themes/app.override.css";if(accessFile(n),fs.existsSync(r)){console.log("CODEGEN ANGULAR APP: generating override css...");let s={scope:"@wavemaker",name:"style-dictionary",version:e.runtimeUIVersion,packageJsonFile:"",successMsg:"STYLE DICTIONARY SUCCESS",infoMsg:"STYLE DICTIONARY PACKAGE : ",skipPackageVersion:!0};s.baseDir=t;const i=downloadNPMPackage(s);(async()=>{const e=await import(`${i}/node_modules/style-dictionary/lib/StyleDictionary.js`).then(e=>e.default);e.registerTransform({name:"calc",type:"value",transitive:!0,filter:function(e){return"string"==typeof e.value&&e.value.includes("calc")},transform:function(e){return`~"${e.value}"`}});let s=[];s=processJsonFiles(r,s),cssFileContent="",s.forEach(async({sourceFile:s,destinationFile:t})=>{try{const r=function(e,s){return{source:[e],platforms:{css:{transformGroup:"css",prefix:"--wm",transforms:["calc"],files:[{destination:s,format:"css/variables"}]}}}}(s,t),n=new e(r);if(await n.buildPlatform("css"),console.log("\nStyle dictionary build process completed!",t),t.endsWith(".css")&&fs.existsSync(t)){const e=fs.readFileSync(t,"utf-8"),s=/(:root\s*\{[^}]*\})/,r=t.split("/").pop().split(".");let n=e;if(3===r.length)n=e.replace(/:root/g,`:root[${r[0]}='${r[1]}']`),cssFileContent+=n;else{const t=cssFileContent.match(s);if(t){const r=e.match(s),n=t[1],i=r[1].replace(/:root\s*\{|\}/g,"").trim(),a=n.replace("}",`\n${i}\n}`);cssFileContent=cssFileContent.replace(n,a)}else cssFileContent+=n}fs.unlink(t,()=>{})}}catch(e){console.error(`\nStyle dictionary, Error while processing file ${s}:`,e)}fs.writeFileSync(n,cssFileContent),console.log("CODEGEN ANGULAR APP: generating overrides success !")})})()}}},generatePage=async(e,s,t,r,n)=>{setCodegenPath(r),initTemplates(),initExpressionParser(),await codegen.generatePage(e,s,t,n)};module.exports={create:create,generateCodegenAngularApp:generateCodegenAngularApp,generatePage:generatePage,generateOverrideCSS:generateOverrideCSS};
|
|
1
|
+
const codegen=require("./codegen"),fs=require("fs"),{downloadNPMPackage:downloadNPMPackage}=require("../download-packages"),{setCodegenPath:setCodegenPath,deleteResource:deleteResource,isMobileProject:isMobileProject,initExpressionParser:initExpressionParser,isPrismProject:isPrismProject}=require("./wm-utils"),{initTemplates:initTemplates}=require("./handlebar-helpers"),{getWmProjectProperties:getWmProjectProperties}=require("./project-meta"),path=require("path"),create=async(e,s,t,r)=>{await codegen.createAppSkeleton(e,s,t,r)};global.window={navigator:{userAgent:"Node.js",userAgentData:{platform:"Node.js"}}};const generate=async(e,s,t,r,n,i,a)=>{await codegen.generateSources(e,s,t,r,n,i,a)},generateCodegenAngularApp=async(e,s,t,r,n,i,a,o)=>{const c=await getWmProjectProperties(e);if(a=!isMobileProject(c)&&a,setCodegenPath(n),initTemplates(),initExpressionParser(),a){let s=e;e&&"/"!=e.charAt(e.length-1)&&(s+="/"),s+="target/ui-build/intermediate-app",await codegen.generateIntermediateApp(e,s),e=s}await create(e,s,n,c),await generate(e,s,t,r,i,a,o)},accessFile=e=>{fs.access(e,fs.constants.F_OK,s=>{if(s){console.log(`${e} does not exist. Creating file...`);const s=JSON.stringify({});fs.writeFile(e,s,s=>{if(s)throw s;console.log(`${e} was created successfully.`)})}})},processJsonFiles=(e,s)=>{return fs.readdirSync(e).forEach(t=>{const r=path.join(e,t),n=fs.statSync(r);if(n.isDirectory())processJsonFiles(r,s);else if(n.isFile()&&".json"===path.extname(r)){r.match(/\.([^.]+)\.json$/);s.push({sourceFile:r,destinationFile:r.replace("json","css")})}}),s},generateOverrideCSS=async(e,s,t)=>{const r=await getWmProjectProperties(s);if(isPrismProject(r)&&(e.generateOverrideCSS||"angular"===e.buildType)){const r=path.join(s+"/src/main/webapp/themes","overrides"),n=s+"/src/main/webapp/themes/app.override.css";if(accessFile(n),fs.existsSync(r)){console.log("CODEGEN ANGULAR APP: generating override css...");let s={scope:"@wavemaker",name:"style-dictionary",version:e.runtimeUIVersion,packageJsonFile:"",successMsg:"STYLE DICTIONARY SUCCESS",infoMsg:"STYLE DICTIONARY PACKAGE : ",skipPackageVersion:!0};s.baseDir=t;const i=downloadNPMPackage(s);(async()=>{const e=await import(`${i}/node_modules/style-dictionary/lib/StyleDictionary.js`).then(e=>e.default);e.registerTransform({name:"calc",type:"value",transitive:!0,filter:function(e){return"string"==typeof e.value&&e.value.includes("calc")},transform:function(e){return`~"${e.value}"`}});let s=[];s=processJsonFiles(r,s),cssFileContent="",s.forEach(async({sourceFile:s,destinationFile:t})=>{try{const r=function(e,s){return{source:[e],platforms:{css:{transformGroup:"css",prefix:"--wm",transforms:["calc"],files:[{destination:s,format:"css/variables"}]}}}}(s,t),n=new e(r);if(await n.buildPlatform("css"),console.log("\nStyle dictionary build process completed!",t),t.endsWith(".css")&&fs.existsSync(t)){const e=fs.readFileSync(t,"utf-8"),s=/(:root\s*\{[^}]*\})/,r=t.split("/").pop().split(".");let n=e;if(3===r.length&&"light"!=r[1])n=e.replace(/:root/g,`:root[${r[0]}='${r[1]}']`),cssFileContent+=n;else{const t=cssFileContent.match(s);if(t){const r=e.match(s),n=t[1],i=r[1].replace(/:root\s*\{|\}/g,"").trim(),a=n.replace("}",`\n${i}\n}`);cssFileContent=cssFileContent.replace(n,a)}else cssFileContent+=n}fs.unlink(t,()=>{})}}catch(e){console.error(`\nStyle dictionary, Error while processing file ${s}:`,e)}fs.writeFileSync(n,cssFileContent),console.log("CODEGEN ANGULAR APP: generating overrides success !")})})()}}},generatePage=async(e,s,t,r,n)=>{setCodegenPath(r),initTemplates(),initExpressionParser(),await codegen.generatePage(e,s,t,n)};module.exports={create:create,generateCodegenAngularApp:generateCodegenAngularApp,generatePage:generatePage,generateOverrideCSS:generateOverrideCSS};
|
package/src/codegen.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
global._WM_APP_PROPERTIES={},global._WM_PACKAGE_PATH="./libraries",global.$=require("jquery"),global._=require("lodash");const cheerio=require("cheerio"),{deleteResource:deleteResource,getIndexHtmlPath:getIndexHtmlPath,getPagesDirPath:getPagesDirPath,readFile:readFile,searchFileByName:searchFileByName,writeFile:writeFile,readFileSync:readFileSync}=require("./wm-utils"),{createAppSkeleton:createApp}=require("./gen-app-skeleton"),{generateAppModule:generateAppModule,generateCodeGenModule:generateCodeGenModule}=require("./gen-app-codegen-module"),{generatePrefabConfigFile:generatePrefabConfigFile}=require("./gen-prefabs"),{generateAppRoutes:generateAppRoutes}=require("./gen-app-routes"),{generateAppJS:generateAppJS}=require("./gen-app-js"),{generateAppVariables:generateAppVariables}=require("./gen-app-variables"),{getWmProjectProperties:getWmProjectProperties,getThemesConfigProperties:getThemesConfigProperties,getSecurityConfig:getSecurityConfig,getLayoutsConfig:getLayoutsConfig,getPagesConfig:getPagesConfig,getPrefabConfigsUsedInApp:getPrefabConfigsUsedInApp,getPrefabPartialsConfig:getPrefabPartialsConfig}=require("./project-meta"),{generateTSConfig:generateTSConfig}=require("./gen-tsconfig"),{generateComponents:generateComponents,generatePagePartialComponent:generatePagePartialComponent}=require("./gen-components"),{generateWmProjectProperties:generateWmProjectProperties}=require("./gen-wm-project-properties"),{generateWmProjectPropertiesFromTarget:generateWmProjectPropertiesFromTarget,generateFontConfig:generateFontConfig,generateFavicon:generateFavicon,generateServiceDefs:generateServiceDefs}=require("./copy-utils"),{generateIndexHtml:generateIndexHtml}=require("./gen-index-html"),{updateAngularJSON:updateAngularJSON}=require("./update-angular-json"),{generatePwaFiles:generatePwaFiles}=require("./gen-pwa-files"),{generateLazyModuleRoutes:generateLazyModuleRoutes}=require("./gen-lazy-module-routes"),{createIntermediateAppSkeleton:createIntermediateAppSkeleton,generateLayoutsAndPages:generateLayoutsAndPages}=require("./gen-layouts"),getMarkupFiles=async e=>{const a=[];return searchFileByName(e+"/src/app",/\.html$/,e=>{a.push(e)}),a},isDynamicComponentUsedInMarkup=async e=>{const a=await readFile(e,"utf8");return cheerio.load(a)("form[wmForm][metadata],form[wmForm][metadata\\.bind],div[wmTable]:not(:has(*))").length>0},isDynamicComponentUsedInApp=async e=>{const a=await getMarkupFiles(e);return(await Promise.all(a.map(e=>isDynamicComponentUsedInMarkup(e)))).find(e=>e)},cleanPackageJSON=async(e,a)=>{const t=`${e}/package.json`;let r=readFileSync(t,!0);["@ampproject/rollup-plugin-closure-compiler","rollup","rollup-plugin-alias","rollup-plugin-commonjs","rollup-plugin-includepaths","rollup-plugin-multi-entry","rollup-plugin-node-resolve"].forEach(e=>{delete r.devDependencies[e]}),a||delete r.dependencies["@angular/service-worker"],await writeFile(t,JSON.stringify(r,null,4))},generateIntermediateApp=async(e,a)=>{console.time("create-intermediate-app"),await createIntermediateAppSkeleton(e,a),await generateLayoutsAndPages(a),console.timeEnd("create-intermediate-app")},generateSources=async(e,a,t,r,n,o,i)=>{console.time("generate app-sources"),await Promise.all([deleteResource(`${a}/src/app/layouts`),deleteResource(`${a}/src/app/pages`),deleteResource(`${a}/src/app/partials`),deleteResource(`${a}/src/app/prefabs`),deleteResource(`${a}/src/app/customwidgets`)]);const g=readFileSync(`${a}/angular.json`);global._WM_PACKAGE_PATH=g.includes("./node_modules/@wavemaker/app-ng-runtime/")?"./node_modules/@wavemaker/app-ng-runtime":"./libraries";const p=await getWmProjectProperties(e),s=await getThemesConfigProperties(e),l=await getSecurityConfig(e);let
|
|
1
|
+
global._WM_APP_PROPERTIES={},global._WM_PACKAGE_PATH="./libraries",global.$=require("jquery"),global._=require("lodash");const cheerio=require("cheerio"),{deleteResource:deleteResource,getIndexHtmlPath:getIndexHtmlPath,getPagesDirPath:getPagesDirPath,readFile:readFile,searchFileByName:searchFileByName,writeFile:writeFile,readFileSync:readFileSync}=require("./wm-utils"),{createAppSkeleton:createApp}=require("./gen-app-skeleton"),{generateAppModule:generateAppModule,generateCodeGenModule:generateCodeGenModule}=require("./gen-app-codegen-module"),{generatePrefabConfigFile:generatePrefabConfigFile}=require("./gen-prefabs"),{generateAppRoutes:generateAppRoutes}=require("./gen-app-routes"),{generateAppJS:generateAppJS}=require("./gen-app-js"),{generateAppVariables:generateAppVariables}=require("./gen-app-variables"),{getWmProjectProperties:getWmProjectProperties,getThemesConfigProperties:getThemesConfigProperties,getSecurityConfig:getSecurityConfig,getAuthInfoConfig:getAuthInfoConfig,getLayoutsConfig:getLayoutsConfig,getPagesConfig:getPagesConfig,getPrefabConfigsUsedInApp:getPrefabConfigsUsedInApp,getPrefabPartialsConfig:getPrefabPartialsConfig}=require("./project-meta"),{generateTSConfig:generateTSConfig}=require("./gen-tsconfig"),{generateComponents:generateComponents,generatePagePartialComponent:generatePagePartialComponent}=require("./gen-components"),{generateWmProjectProperties:generateWmProjectProperties}=require("./gen-wm-project-properties"),{generateWmProjectPropertiesFromTarget:generateWmProjectPropertiesFromTarget,generateFontConfig:generateFontConfig,generateFavicon:generateFavicon,generateServiceDefs:generateServiceDefs}=require("./copy-utils"),{generateIndexHtml:generateIndexHtml}=require("./gen-index-html"),{updateAngularJSON:updateAngularJSON}=require("./update-angular-json"),{generatePwaFiles:generatePwaFiles}=require("./gen-pwa-files"),{generateLazyModuleRoutes:generateLazyModuleRoutes}=require("./gen-lazy-module-routes"),{createIntermediateAppSkeleton:createIntermediateAppSkeleton,generateLayoutsAndPages:generateLayoutsAndPages}=require("./gen-layouts"),getMarkupFiles=async e=>{const a=[];return searchFileByName(e+"/src/app",/\.html$/,e=>{a.push(e)}),a},isDynamicComponentUsedInMarkup=async e=>{const a=await readFile(e,"utf8");return cheerio.load(a)("form[wmForm][metadata],form[wmForm][metadata\\.bind],div[wmTable]:not(:has(*))").length>0},isDynamicComponentUsedInApp=async e=>{const a=await getMarkupFiles(e);return(await Promise.all(a.map(e=>isDynamicComponentUsedInMarkup(e)))).find(e=>e)},cleanPackageJSON=async(e,a)=>{const t=`${e}/package.json`;let r=readFileSync(t,!0);["@ampproject/rollup-plugin-closure-compiler","rollup","rollup-plugin-alias","rollup-plugin-commonjs","rollup-plugin-includepaths","rollup-plugin-multi-entry","rollup-plugin-node-resolve"].forEach(e=>{delete r.devDependencies[e]}),a||delete r.dependencies["@angular/service-worker"],await writeFile(t,JSON.stringify(r,null,4))},generateIntermediateApp=async(e,a)=>{console.time("create-intermediate-app"),await createIntermediateAppSkeleton(e,a),await generateLayoutsAndPages(a),console.timeEnd("create-intermediate-app")},generateSources=async(e,a,t,r,n,o,i)=>{console.time("generate app-sources"),await Promise.all([deleteResource(`${a}/src/app/layouts`),deleteResource(`${a}/src/app/pages`),deleteResource(`${a}/src/app/partials`),deleteResource(`${a}/src/app/prefabs`),deleteResource(`${a}/src/app/customwidgets`)]);const g=readFileSync(`${a}/angular.json`);global._WM_PACKAGE_PATH=g.includes("./node_modules/@wavemaker/app-ng-runtime/")?"./node_modules/@wavemaker/app-ng-runtime":"./libraries";const p=await getWmProjectProperties(e),s=await getThemesConfigProperties(e),l=await getSecurityConfig(e),c=await getAuthInfoConfig(e);let u;o&&(u=await getLayoutsConfig(e));const m=await getPagesConfig(e),d=await getPrefabConfigsUsedInApp(p,e);let P={};for(const a of d.keys())P[a]=await getPrefabPartialsConfig(e,a);await Promise.all([generateIndexHtml(e,a,p,t,r,i),generateWmProjectProperties(p,a),generateWmProjectPropertiesFromTarget(e,a),generateFontConfig(e,a),generateFavicon(e,a),generateServiceDefs(e,a),generateAppRoutes(e,p,u,m,l,a,o),generateLazyModuleRoutes(m,d,P,a),generatePrefabConfigFile(d,a),generateCodeGenModule(p,m,d,c,a),generateTSConfig(p,a),generateAppJS(e,a),generateAppVariables(e,a,n),generateComponents(e,p,u,m,l,d,a,P,n,o)]);const f=await isDynamicComponentUsedInApp(a),A={aot:!f,buildOptimizer:!f};await generateAppModule(p,a,f,r),await updateAngularJSON(e,a,p,s,m,d,t,A,P,r),await cleanPackageJSON(a,r),r&&await generatePwaFiles(e,a,p),console.timeEnd("generate app-sources")},createAppSkeleton=async(e,a,t,r)=>{console.time("create-angular-app"),await createApp(e,a,t,r),console.timeEnd("create-angular-app")},generatePage=async(e,a,t,r)=>{console.time("generate page",t);const n=getPagesDirPath(e),o=await getWmProjectProperties(e),i=await getPagesConfig(e),g=_.find(i,{name:t}),p="PAGE"===g.type?"pages":"partials";await deleteResource(`${a}/src/app/${p}/${t}`),await generatePagePartialComponent(n,o,g.name,g.type,a,void 0,void 0,r),console.timeEnd("generate page",t)};module.exports={generateIntermediateApp:generateIntermediateApp,generateSources:generateSources,createAppSkeleton:createAppSkeleton,generatePage:generatePage};
|
package/src/copy-utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const{copyFileSync:copyFileSync,copyPrefabFiles:copyPrefabFiles,copyDirWithExclusionsSync:copyDirWithExclusionsSync}=require("./wm-utils"),generateWmProjectPropertiesFromTarget=async
|
|
1
|
+
const path=require("path"),{copyFileSync:copyFileSync,copyPrefabFiles:copyPrefabFiles,copyDirWithExclusionsSync:copyDirWithExclusionsSync}=require("./wm-utils"),generateWmProjectPropertiesFromTarget=async(e,t)=>{e=-1!==e.indexOf("intermediate-app")?e.split("/target")[0]:e,await copyFileSync(path.join(e,"target","ui-resources","wmProperties.js"),path.join(`${t}`,"src","app","wmProperties.js"))},generateFontConfig=async(e,t)=>{e=-1!==e.indexOf("intermediate-app")?e.split("/target")[0]:e,await copyFileSync(path.join(e,"target","ui-resources","font.config.js"),path.join(`${t}`,"src","font.config.js"))},generateFavicon=async(e,t)=>{e=-1!==e.indexOf("intermediate-app")?e.split("/target")[0]:e,await copyFileSync(path.join(e,"target","ui-resources","favicon.png"),path.join(`${t}`,"src","favicon.png"))},generateServiceDefs=async(e,t)=>{e=-1!==e.indexOf("intermediate-app")?e.split("/target")[0]:e,await copyDirWithExclusionsSync(path.join(e,"target","ui-resources","servicedefs/"),path.join(`${t}`,"src","servicedefs/")),await copyPrefabFiles(path.join(e,"target","ui-resources","prefabs/"),`${t}`)};module.exports={generateWmProjectPropertiesFromTarget:generateWmProjectPropertiesFromTarget,generateFontConfig:generateFontConfig,generateFavicon:generateFavicon,generateServiceDefs:generateServiceDefs};
|
package/src/project-meta.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const parser=require("fast-xml-parser"),{readFile:readFile,readDir:readDir,stat:stat,isPrefabProject:isPrefabProject,getWmProjectPropertiesFilePath:getWmProjectPropertiesFilePath,getThemesConfigPropertiesFilePath:getThemesConfigPropertiesFilePath,getAuthInfoFilePath:getAuthInfoFilePath,getSecurityConfigPath:getSecurityConfigPath,getLayoutsConfigPath:getLayoutsConfigPath,getPagesConfigPath:getPagesConfigPath,getPrefabsDirPath:getPrefabsDirPath,getPrefabPagesDirPath:getPrefabPagesDirPath,getPrefabConfigPath:getPrefabConfigPath}=require("./wm-utils"),{join:join}=require("path"),getWmProjectProperties=async e=>{let t=await readFile(getWmProjectPropertiesFilePath(e),"utf8");const a={};return parser.parse(t,{textNodeName:"text",ignoreAttributes:!1,ignoreNameSpace:!1,allowBooleanAttributes:!1,parseNodeValue:!0,parseAttributeValue:!1,trimValues:!0,parseTrueNumberOnly:!1,arrayMode:!1,stopNodes:["parse-me-as-string"]},!0).properties.entry.forEach(e=>a[e["@_key"]]=e.text?e.text:""),a},getThemesConfigProperties=async e=>{const t=await readFile(getThemesConfigPropertiesFilePath(e),"utf8");return JSON.parse(t)},getSecurityConfig=async e=>stat(getAuthInfoFilePath(e)).then(()=>new Promise(async(t,a)=>{let r=null;JSON.parse(await readFile(getAuthInfoFilePath(e))).enforceSecurity&&(r=JSON.parse(await readFile(getSecurityConfigPath(e),"utf8"))),t(r)}),()=>Promise.resolve(null)),getLayoutsConfig=async e=>{let t=await readFile(getLayoutsConfigPath(e),"utf8");return t=JSON.parse(t)},getPagesConfig=async e=>{let t=await readFile(getPagesConfigPath(e),"utf8");return t=JSON.parse(t)},getPrefabPartialsConfig=async(e,t)=>{let a=await readFile(`${getPrefabPagesDirPath(e,t)}/pages-config.json`,"utf8");return a=JSON.parse(a).filter(e=>"partial"===e.type.toLowerCase()||"template"===e.type.toLowerCase()).map(e=>({...e,prefabName:t}))},getPrefabConfigsUsedInApp=async(e,t)=>{const a=new Map,r=getPrefabsDirPath(t);return stat(r).then(()=>new Promise(async(i,
|
|
1
|
+
const parser=require("fast-xml-parser"),{readFile:readFile,readDir:readDir,stat:stat,isPrefabProject:isPrefabProject,getWmProjectPropertiesFilePath:getWmProjectPropertiesFilePath,getThemesConfigPropertiesFilePath:getThemesConfigPropertiesFilePath,getAuthInfoFilePath:getAuthInfoFilePath,getSecurityConfigPath:getSecurityConfigPath,getLayoutsConfigPath:getLayoutsConfigPath,getPagesConfigPath:getPagesConfigPath,getPrefabsDirPath:getPrefabsDirPath,getPrefabPagesDirPath:getPrefabPagesDirPath,getPrefabConfigPath:getPrefabConfigPath}=require("./wm-utils"),{join:join}=require("path"),getWmProjectProperties=async e=>{let t=await readFile(getWmProjectPropertiesFilePath(e),"utf8");const a={};return parser.parse(t,{textNodeName:"text",ignoreAttributes:!1,ignoreNameSpace:!1,allowBooleanAttributes:!1,parseNodeValue:!0,parseAttributeValue:!1,trimValues:!0,parseTrueNumberOnly:!1,arrayMode:!1,stopNodes:["parse-me-as-string"]},!0).properties.entry.forEach(e=>a[e["@_key"]]=e.text?e.text:""),a},getThemesConfigProperties=async e=>{const t=await readFile(getThemesConfigPropertiesFilePath(e),"utf8");return JSON.parse(t)},getSecurityConfig=async e=>stat(getAuthInfoFilePath(e)).then(()=>new Promise(async(t,a)=>{let r=null;JSON.parse(await readFile(getAuthInfoFilePath(e))).enforceSecurity&&(r=JSON.parse(await readFile(getSecurityConfigPath(e),"utf8"))),t(r)}),()=>Promise.resolve(null)),getAuthInfoConfig=async e=>{let t=await readFile(getAuthInfoFilePath(e),"utf8");return(t=JSON.parse(t)).enforceSecurity?t:null},getLayoutsConfig=async e=>{let t=await readFile(getLayoutsConfigPath(e),"utf8");return t=JSON.parse(t)},getPagesConfig=async e=>{let t=await readFile(getPagesConfigPath(e),"utf8");return t=JSON.parse(t)},getPrefabPartialsConfig=async(e,t)=>{let a=await readFile(`${getPrefabPagesDirPath(e,t)}/pages-config.json`,"utf8");return a=JSON.parse(a).filter(e=>"partial"===e.type.toLowerCase()||"template"===e.type.toLowerCase()).map(e=>({...e,prefabName:t}))},getPrefabConfigsUsedInApp=async(e,t)=>{const a=new Map,r=getPrefabsDirPath(t);return stat(r).then(()=>new Promise(async(i,o)=>{for(const e of await readDir(r))(await stat(join(r,e))).isDirectory()&&a.set(e,await readFile(getPrefabConfigPath(t,e)));isPrefabProject(e)&&a.set("__self__",await readFile(`${t}/src/main/webapp/config.json`)),i(a)}),()=>Promise.resolve(a))};module.exports={getWmProjectProperties:getWmProjectProperties,getThemesConfigProperties:getThemesConfigProperties,getSecurityConfig:getSecurityConfig,getLayoutsConfig:getLayoutsConfig,getPagesConfig:getPagesConfig,getPrefabConfigsUsedInApp:getPrefabConfigsUsedInApp,getPrefabPartialsConfig:getPrefabPartialsConfig,getAuthInfoConfig:getAuthInfoConfig};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const cheerio=require("cheerio"),{writeFile:writeFile,readFileSync:readFileSync,readDir:readDir,isMobileProject:isMobileProject,isPrismProject:isPrismProject}=require("./wm-utils"),markScriptsAsLazy=s=>{const e=["./node_modules/d3/dist/d3.min.js","./node_modules/@wavemaker/nvd3/build/nv.d3.min.js","./node_modules/fullcalendar/main.min.js","./node_modules/summernote/dist/summernote-lite.min.js",global._WM_PACKAGE_PATH+"/scripts/datatable/datatable.js","./node_modules/jquery-ui/ui/widgets/sortable.js","./node_modules/jquery-ui/ui/widgets/droppable.js","./node_modules/jquery-ui/ui/widgets/resizable.js","./node_modules/hammerjs/hammer.min.js","./node_modules/iscroll/build/iscroll.js"];if("string"==typeof s){let t=s.replace(/^(\.\/)/,"").replace(/\//g,"-").replace(/@/g,"");if(t=t.substring(0,t.lastIndexOf(".")),t+="-NOHASH",e.includes(s))return{input:s,inject:!1,bundleName:t}}return s},setBuildCustomizations=async s=>{const e=s.projects["angular-app"].architect.build,t=e.options.scripts;e.options.scripts=t.map(s=>markScriptsAsLazy(s))},addToScripts=async(s,e,t=[],i=[])=>{const n=`${e}/angular.json`;let o=readFileSync(n,!0);const r=o.projects["angular-app"].architect.build;let a=r.options.scripts;const l=`${e+"/src/app/extensions"}`,c=await readDir(l);c.length&&i.push("./src/app/extensions/"+c[0]),r.options.scripts=[...t,...a,...i],await writeFile(n,JSON.stringify(o,null,4))},updateAngularJSON=async(s,e,t,i,n,o,r,a,l,c)=>{const u=`${e}/angular.json`;let d=readFileSync(u,!0);const p=d.projects["angular-app"].architect.build;r&&r.trim().length>0&&(p.options.deployUrl=r);let m=p.options.styles;if(isPrismProject(t)&&((m=m.filter(s=>"string"==typeof s?!(s.includes("src/assets/styles/css/wm-style.css")||s.includes("src/assets/styles/css/wm-responsive.css")):"object"!=typeof s||!s.input||!s.input.includes("src/assets/themes/material/style.css"))).push("./node_modules/@wavemaker/foundation-css/foundation/foundation.css"),m.push({input:"src/assets/themes/app.override.css",inject:!1,bundleName:"wm-styles"}),p.options.styles=m),isMobileProject(t)){const s=m.findIndex(s=>{let e="object"==typeof s;if(e){return(e?s.input:s).includes("themes")}return!1}),e=m[s].input;m[s].bundleName="wm-android-styles",m[s].input=m[s].input.replace(new RegExp("/[a-z]*/style.css$"),`/${i.activeTheme}/android/style.css`);const t=Object.assign({},m[s]);t.input=e.replace(new RegExp("/[a-z]*/style.css$"),`/${i.activeTheme}/ios/style.css`),t.bundleName="wm-ios-styles",m.push(t);const n=m.findIndex(s=>{let e="object"==typeof s;if(e){return"src/assets/app.css"===(e?s.input:s)}return!1});m[n].bundleName="wm-android-styles";const o=Object.assign({},m[n]);o.bundleName="wm-ios-styles",m.push(o)}m.forEach((s,e)=>{let t="object"==typeof s,n=t?s.input:s;!n.includes("themes")||n.includes("/android/")||n.includes("/ios/")||(t?m[e].input=n.replace(new RegExp("/[a-z]*/style.css$"),`/${i.activeTheme}/style.css`):m[e]=n.replace(new RegExp("/[a-z]*/style.css$"),`/${i.activeTheme}/style.css`))}),await setBuildCustomizations(d);const y=p.configurations.production;if(y.aot=!1!==a.aot,y.buildOptimizer=!1!==a.buildOptimizer,c){const s=p.options.assets;s.push("src/manifest.json"),s.push("src/wmsw-worker.js"),y.serviceWorker=!0,y.ngswConfigPath="ngsw-config.json",delete p.options.customWebpackConfig}await writeFile(u,JSON.stringify(d,null,4))};module.exports={updateAngularJSON:updateAngularJSON,addToScripts:addToScripts};
|
|
1
|
+
const cheerio=require("cheerio"),{writeFile:writeFile,readFileSync:readFileSync,readDir:readDir,isMobileProject:isMobileProject,isPrismProject:isPrismProject}=require("./wm-utils"),markScriptsAsLazy=s=>{const e=["./node_modules/d3/dist/d3.min.js","./node_modules/@wavemaker/nvd3/build/nv.d3.min.js","./node_modules/fullcalendar/main.min.js","./node_modules/summernote/dist/summernote-lite.min.js",global._WM_PACKAGE_PATH+"/scripts/datatable/datatable.js","./node_modules/jquery-ui/ui/widgets/sortable.js","./node_modules/jquery-ui/ui/widgets/droppable.js","./node_modules/jquery-ui/ui/widgets/resizable.js","./node_modules/hammerjs/hammer.min.js","./node_modules/iscroll/build/iscroll.js"];if("string"==typeof s){let t=s.replace(/^(\.\/)/,"").replace(/\//g,"-").replace(/@/g,"");if(t=t.substring(0,t.lastIndexOf(".")),t+="-NOHASH",e.includes(s))return{input:s,inject:!1,bundleName:t}}return s},setBuildCustomizations=async s=>{const e=s.projects["angular-app"].architect.build,t=e.options.scripts;e.options.scripts=t.map(s=>markScriptsAsLazy(s))},addToScripts=async(s,e,t=[],i=[])=>{const n=`${e}/angular.json`;let o=readFileSync(n,!0);const r=o.projects["angular-app"].architect.build;let a=r.options.scripts;const l=`${e+"/src/app/extensions"}`,c=await readDir(l);c.length&&i.push("./src/app/extensions/"+c[0]),r.options.scripts=[...t,...a,...i],await writeFile(n,JSON.stringify(o,null,4))},updateAngularJSON=async(s,e,t,i,n,o,r,a,l,c)=>{const u=`${e}/angular.json`;let d=readFileSync(u,!0);const p=d.projects["angular-app"].architect.build;r&&r.trim().length>0&&(p.options.deployUrl=r),p.options.outputPath=p.options.outputPath+"/"+global.randomHash;let m=p.options.styles;if(isPrismProject(t)&&((m=m.filter(s=>"string"==typeof s?!(s.includes("src/assets/styles/css/wm-style.css")||s.includes("src/assets/styles/css/wm-responsive.css")):"object"!=typeof s||!s.input||!s.input.includes("src/assets/themes/material/style.css"))).push("./node_modules/@wavemaker/foundation-css/foundation/foundation.css"),m.push({input:"src/assets/themes/app.override.css",inject:!1,bundleName:"wm-styles"}),p.options.styles=m),isMobileProject(t)){const s=m.findIndex(s=>{let e="object"==typeof s;if(e){return(e?s.input:s).includes("themes")}return!1}),e=m[s].input;m[s].bundleName="wm-android-styles",m[s].input=m[s].input.replace(new RegExp("/[a-z]*/style.css$"),`/${i.activeTheme}/android/style.css`);const t=Object.assign({},m[s]);t.input=e.replace(new RegExp("/[a-z]*/style.css$"),`/${i.activeTheme}/ios/style.css`),t.bundleName="wm-ios-styles",m.push(t);const n=m.findIndex(s=>{let e="object"==typeof s;if(e){return"src/assets/app.css"===(e?s.input:s)}return!1});m[n].bundleName="wm-android-styles";const o=Object.assign({},m[n]);o.bundleName="wm-ios-styles",m.push(o)}m.forEach((s,e)=>{let t="object"==typeof s,n=t?s.input:s;!n.includes("themes")||n.includes("/android/")||n.includes("/ios/")||(t?m[e].input=n.replace(new RegExp("/[a-z]*/style.css$"),`/${i.activeTheme}/style.css`):m[e]=n.replace(new RegExp("/[a-z]*/style.css$"),`/${i.activeTheme}/style.css`))}),await setBuildCustomizations(d);const y=p.configurations.production;if(y.aot=!1!==a.aot,y.buildOptimizer=!1!==a.buildOptimizer,c){const s=p.options.assets;s.push("src/manifest.json"),s.push("src/wmsw-worker.js"),y.serviceWorker=!0,y.ngswConfigPath="ngsw-config.json",delete p.options.customWebpackConfig}await writeFile(u,JSON.stringify(d,null,4))};module.exports={updateAngularJSON:updateAngularJSON,addToScripts:addToScripts};
|
package/src/wm-utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const util=require("util"),fs=require("fs"),rimraf=require("rimraf"),decodeUriComponent=require("decode-uri-component"),upperFirst=require("lodash/upperFirst"),tar=require("tar-fs"),prettier=require("prettier"),js_beautify=require("js-beautify"),html_beautify=require("js-beautify").html,path=require("path"),stat=util.promisify(fs.stat),createDir=util.promisify(fs.mkdir),createReadStream=util.promisify(fs.createReadStream),readFile=util.promisify(fs.readFile),writeFile=util.promisify(fs.writeFile),readDir=util.promisify(fs.readdir),rename=util.promisify(fs.rename),searchFileByName=(e,t,r)=>{if(!fs.existsSync(e))return;fs.readdirSync(e).forEach(i=>{const a=path.join(e,i);fs.lstatSync(a).isDirectory()?searchFileByName(a,t,r):t.test(a)&&r(a)})},deleteResource=async e=>stat(e).then(()=>new Promise((t,r)=>{rimraf(e,()=>t())}),()=>Promise.resolve()),getComponentName=e=>`${upperFirst(e)}Component`,getComponentModuleName=e=>`${upperFirst(e)}Module`,decodeURIComponent=e=>decodeUriComponent(e.replace(/\+/g," ")),createTar=(e,t)=>new Promise((r,i)=>{tar.pack(e).pipe(fs.createWriteStream(t)).on("finish",r)}),extractTar=(e,t)=>new Promise((r,i)=>{fs.createReadStream(e).pipe(tar.extract(t)).on("finish",r)}),getWebAppPath=e=>`${e}/src/main/webapp`,getLayoutsConfigPath=e=>`${getWebAppPath(e)}/layouts/layouts-config.json`,getLayoutsDirPath=e=>`${getWebAppPath(e)}/layouts`,getPagesDirPath=e=>`${getWebAppPath(e)}/pages`,getPagesConfigPath=e=>`${getWebAppPath(e)}/pages/pages-config.json`,getPrefabsDirPath=e=>`${getWebAppPath(e)}/WEB-INF/prefabs`,getPrefabConfigPath=(e,t)=>`${getPrefabsDirPath(e)}/${t}/webapp/config.json`,getPrefabPagesDirPath=(e,t)=>`${getPrefabsDirPath(e)}/${t}/webapp/pages`,getSecurityConfigPath=e=>`${e}/services/securityService/designtime/intercept-urls.json`,getRolesConfigPath=e=>`${e}/services/securityService/designtime/roles.json`,getAuthInfoFilePath=e=>`${e}/services/securityService/designtime/auth-info.json`,getAppJsFilePath=e=>`${getWebAppPath(e)}/app.js`,getAppVariablesFilePath=e=>`${getWebAppPath(e)}/app.variables.json`,getThemesConfigPropertiesFilePath=e=>`${getWebAppPath(e)}/themes/themes-config.json`,getWmProjectPropertiesFilePath=e=>`${e}/.wmproject.properties`,getIndexHtmlPath=e=>`${getWebAppPath(e)}/index.html`;let codegenPath="./node_modules/@wavemaker/angular-codegen";const setCodegenPath=e=>{e&&(codegenPath=e)},getCodegenPath=()=>codegenPath,formatContents=(e="",t)=>"javascript"===t?js_beautify(e,{}):prettier.format(e,{semi:!1,parser:"typescript",tabWidth:4}),formatMarkup=(e="")=>html_beautify(e),isMobileProject=e=>"MOBILE"===e.platformType,isPrefabProject=e=>"PREFAB"===e.type,isPrismProject=e=>"PRISM"===e.template,readFileSync=(e,t)=>{let r=fs.readFileSync(e);return t?JSON.parse(r):r};function copyFileSync(e,t){try{fs.copyFileSync(e,t)}catch(t){console.error(`Error copying ${e}: ${t.message}`)}}function copyPrefabFiles(e,t){const r=path.resolve(`${e}`);if(fs.existsSync(r)){const e=fs.readdirSync(r).filter(e=>fs.statSync(path.join(r,e)).isDirectory());t=path.resolve(`${t}`),e.forEach(e=>{const i=path.join(r,e),a=path.join(i,"prefab-servicedefs.json");fs.existsSync(a)&©FileSync(a,path.join(t+"/src","servicedefs",`${e}-prefab-servicedefs.json`));const s=path.join(i,"webapp"),o=path.join(t+"/resources",e);fs.existsSync(s)&©DirWithExclusionsSync(s,o,["resources"]);const n=path.join(s,"resources"),c=path.join(t+"/resources",e+"/resources");fs.existsSync(n)&©DirWithExclusionsSync(n,c)})}}const copyDirWithExclusionsSync=(e,t,r=[])=>{fs.existsSync(t)||fs.mkdirSync(t,{recursive:!0});let i=[];try{i=fs.readdirSync(e,{withFileTypes:!0})}catch(e){if("ENOENT"!==e.code)throw e}for(const a of i){const i=path.join(e,a.name),s=path.join(t,a.name);r.includes(a.name)||(a.isDirectory()?copyDirWithExclusionsSync(i,s,r):fs.copyFileSync(i,s))}},initExpressionParser=()=>{const e=require("../dependencies/expression-parser.cjs"),t=require("../dependencies/pipe-provider.cjs");e.setPipeProvider(new t.PipeProvider({},{get:()=>{}},{}))};module.exports={stat:stat,createDir:createDir,createReadStream:createReadStream,readFile:readFile,writeFile:writeFile,deleteResource:deleteResource,getComponentName:getComponentName,getComponentModuleName:getComponentModuleName,decodeURIComponent:decodeURIComponent,createTar:createTar,extractTar:extractTar,readDir:readDir,rename:rename,searchFileByName:searchFileByName,getWebAppPath:getWebAppPath,getLayoutsConfigPath:getLayoutsConfigPath,getLayoutsDirPath:getLayoutsDirPath,getPagesDirPath:getPagesDirPath,getPagesConfigPath:getPagesConfigPath,getPrefabsDirPath:getPrefabsDirPath,getPrefabConfigPath:getPrefabConfigPath,getPrefabPagesDirPath:getPrefabPagesDirPath,getSecurityConfigPath:getSecurityConfigPath,getRolesConfigPath:getRolesConfigPath,getAuthInfoFilePath:getAuthInfoFilePath,getAppJsFilePath:getAppJsFilePath,getAppVariablesFilePath:getAppVariablesFilePath,getWmProjectPropertiesFilePath:getWmProjectPropertiesFilePath,getThemesConfigPropertiesFilePath:getThemesConfigPropertiesFilePath,getIndexHtmlPath:getIndexHtmlPath,formatContents:formatContents,formatMarkup:formatMarkup,isMobileProject:isMobileProject,isPrefabProject:isPrefabProject,isPrismProject:isPrismProject,readFileSync:readFileSync,getCodegenPath:getCodegenPath,setCodegenPath:setCodegenPath,initExpressionParser:initExpressionParser,copyFileSync:copyFileSync,copyPrefabFiles:copyPrefabFiles,copyDirWithExclusionsSync:copyDirWithExclusionsSync};
|
|
1
|
+
const util=require("util"),fs=require("fs"),rimraf=require("rimraf"),decodeUriComponent=require("decode-uri-component"),upperFirst=require("lodash/upperFirst"),tar=require("tar-fs"),prettier=require("prettier"),js_beautify=require("js-beautify"),html_beautify=require("js-beautify").html,path=require("path"),stat=util.promisify(fs.stat),createDir=util.promisify(fs.mkdir),createReadStream=util.promisify(fs.createReadStream),readFile=util.promisify(fs.readFile),writeFile=util.promisify(fs.writeFile),readDir=util.promisify(fs.readdir),rename=util.promisify(fs.rename),searchFileByName=(e,t,r)=>{if(!fs.existsSync(e))return;fs.readdirSync(e).forEach(i=>{const a=path.join(e,i);fs.lstatSync(a).isDirectory()?searchFileByName(a,t,r):t.test(a)&&r(a)})},deleteResource=async e=>stat(e).then(()=>new Promise((t,r)=>{rimraf(e,()=>t())}),()=>Promise.resolve()),getComponentName=e=>`${upperFirst(e)}Component`,getComponentModuleName=e=>`${upperFirst(e)}Module`,decodeURIComponent=e=>decodeUriComponent(e.replace(/\+/g," ")),createTar=(e,t)=>new Promise((r,i)=>{tar.pack(e).pipe(fs.createWriteStream(t)).on("finish",r)}),extractTar=(e,t)=>new Promise((r,i)=>{fs.createReadStream(e).pipe(tar.extract(t)).on("finish",r)}),getWebAppPath=e=>`${e}/src/main/webapp`,getLayoutsConfigPath=e=>`${getWebAppPath(e)}/layouts/layouts-config.json`,getLayoutsDirPath=e=>`${getWebAppPath(e)}/layouts`,getPagesDirPath=e=>`${getWebAppPath(e)}/pages`,getPagesConfigPath=e=>`${getWebAppPath(e)}/pages/pages-config.json`,getPrefabsDirPath=e=>`${getWebAppPath(e)}/WEB-INF/prefabs`,getPrefabConfigPath=(e,t)=>`${getPrefabsDirPath(e)}/${t}/webapp/config.json`,getPrefabPagesDirPath=(e,t)=>`${getPrefabsDirPath(e)}/${t}/webapp/pages`,getSecurityConfigPath=e=>`${e}/services/securityService/designtime/intercept-urls.json`,getRolesConfigPath=e=>`${e}/services/securityService/designtime/roles.json`,getAuthInfoFilePath=e=>`${e}/services/securityService/designtime/auth-info.json`,getAppJsFilePath=e=>`${getWebAppPath(e)}/app.js`,getAppVariablesFilePath=e=>`${getWebAppPath(e)}/app.variables.json`,getThemesConfigPropertiesFilePath=e=>`${getWebAppPath(e)}/themes/themes-config.json`,getWmProjectPropertiesFilePath=e=>`${e}/.wmproject.properties`,getIndexHtmlPath=e=>`${getWebAppPath(e)}/index.html`;let codegenPath="./node_modules/@wavemaker/angular-codegen";const setCodegenPath=e=>{e&&(codegenPath=e)},getCodegenPath=()=>codegenPath,generateRandomHash=()=>Array.from(Array(20),()=>Math.floor(36*Math.random()).toString(36)).join(""),formatContents=(e="",t)=>"javascript"===t?js_beautify(e,{}):prettier.format(e,{semi:!1,parser:"typescript",tabWidth:4}),formatMarkup=(e="")=>html_beautify(e),isMobileProject=e=>"MOBILE"===e.platformType,isPrefabProject=e=>"PREFAB"===e.type,isPrismProject=e=>"PRISM"===e.template,readFileSync=(e,t)=>{let r=fs.readFileSync(e);return t?JSON.parse(r):r};function copyFileSync(e,t){try{fs.copyFileSync(e,t)}catch(t){console.error(`Error copying ${e}: ${t.message}`)}}function copyPrefabFiles(e,t){const r=path.resolve(`${e}`);if(fs.existsSync(r)){const e=fs.readdirSync(r).filter(e=>fs.statSync(path.join(r,e)).isDirectory());t=path.resolve(`${t}`),e.forEach(e=>{const i=path.join(r,e),a=path.join(i,"prefab-servicedefs.json");fs.existsSync(a)&©FileSync(a,path.join(t+"/src","servicedefs",`${e}-prefab-servicedefs.json`));const s=path.join(i,"webapp"),o=path.join(t+"/resources",e);fs.existsSync(s)&©DirWithExclusionsSync(s,o,["resources"]);const n=path.join(s,"resources"),c=path.join(t+"/resources",e+"/resources");fs.existsSync(n)&©DirWithExclusionsSync(n,c)})}}const copyDirWithExclusionsSync=(e,t,r=[])=>{fs.existsSync(t)||fs.mkdirSync(t,{recursive:!0});let i=[];try{i=fs.readdirSync(e,{withFileTypes:!0})}catch(e){if("ENOENT"!==e.code)throw e}for(const a of i){const i=path.join(e,a.name),s=path.join(t,a.name);r.includes(a.name)||(a.isDirectory()?copyDirWithExclusionsSync(i,s,r):fs.copyFileSync(i,s))}},initExpressionParser=()=>{const e=require("../dependencies/expression-parser.cjs"),t=require("../dependencies/pipe-provider.cjs");e.setPipeProvider(new t.PipeProvider({},{get:()=>{}},{}))};module.exports={stat:stat,createDir:createDir,createReadStream:createReadStream,readFile:readFile,writeFile:writeFile,deleteResource:deleteResource,getComponentName:getComponentName,getComponentModuleName:getComponentModuleName,decodeURIComponent:decodeURIComponent,createTar:createTar,extractTar:extractTar,readDir:readDir,rename:rename,searchFileByName:searchFileByName,getWebAppPath:getWebAppPath,getLayoutsConfigPath:getLayoutsConfigPath,getLayoutsDirPath:getLayoutsDirPath,getPagesDirPath:getPagesDirPath,getPagesConfigPath:getPagesConfigPath,getPrefabsDirPath:getPrefabsDirPath,getPrefabConfigPath:getPrefabConfigPath,getPrefabPagesDirPath:getPrefabPagesDirPath,getSecurityConfigPath:getSecurityConfigPath,getRolesConfigPath:getRolesConfigPath,getAuthInfoFilePath:getAuthInfoFilePath,getAppJsFilePath:getAppJsFilePath,getAppVariablesFilePath:getAppVariablesFilePath,getWmProjectPropertiesFilePath:getWmProjectPropertiesFilePath,getThemesConfigPropertiesFilePath:getThemesConfigPropertiesFilePath,getIndexHtmlPath:getIndexHtmlPath,formatContents:formatContents,formatMarkup:formatMarkup,isMobileProject:isMobileProject,isPrefabProject:isPrefabProject,isPrismProject:isPrismProject,readFileSync:readFileSync,getCodegenPath:getCodegenPath,setCodegenPath:setCodegenPath,initExpressionParser:initExpressionParser,copyFileSync:copyFileSync,copyPrefabFiles:copyPrefabFiles,generateRandomHash:generateRandomHash,copyDirWithExclusionsSync:copyDirWithExclusionsSync};
|