@wavemaker/angular-codegen 12.0.0-next.46502 → 12.0.0-next.47810

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. {angular-codegen → package}/angular-app/angular.json +38 -19
  2. {angular-codegen → package}/angular-app/build-scripts/build.js +1 -0
  3. {angular-codegen → package}/angular-app/build-scripts/post-build.js +16 -110
  4. package/angular-app/dependency-report.html +124 -0
  5. package/angular-app/generate-dependency-report.js +240 -0
  6. package/angular-app/npm-shrinkwrap.json +25755 -0
  7. {angular-codegen → package}/angular-app/package-lock.json +12581 -10598
  8. {angular-codegen → package}/angular-app/package.json +51 -43
  9. package/angular-app/src/app/lazy-load-scripts.resolve.ts +13 -0
  10. package/angular-app/src/assets/styles/css/wm-style.css +1 -0
  11. package/angular-app/src/framework/services/customwidget-config-provider.service.ts +13 -0
  12. package/angular-app/src/framework/util/page-util.ts +7 -0
  13. {angular-codegen → package}/angular-app/src/index.html +1 -1
  14. package/angular-app/src/main.ts +61 -0
  15. {angular-codegen → package}/angular-app/src/setup-jest.js +4 -1
  16. angular-codegen/angular-app/tsconfig.web-app.json → package/angular-app/tsconfig.json +15 -23
  17. package/angular-app/tsconfig.web-app.json +81 -0
  18. {angular-codegen → package}/angular-app/wm-custom-webpack.config.js +18 -0
  19. package/build-angular-app.js +501 -0
  20. package/dependencies/app.component.html +40 -0
  21. package/dependencies/custom-widgets-bundle.cjs.js +415 -0
  22. {angular-codegen → package}/dependencies/expression-parser.cjs.js +13920 -17378
  23. {angular-codegen → package}/dependencies/pipe-provider.cjs.js +63958 -38833
  24. {angular-codegen → package}/dependencies/transpilation-web.cjs.js +37524 -24755
  25. package/download-packages.js +149 -0
  26. {angular-codegen → package}/generate-angular-app.js +3 -1
  27. package/npm-shrinkwrap.json +8121 -0
  28. package/package-lock.json +8121 -0
  29. {angular-codegen → package}/package.json +9 -3
  30. package/src/codegen-args-cli.js +1 -0
  31. package/src/codegen-cli.js +1 -0
  32. package/src/codegen.js +1 -0
  33. package/src/copy-utils.js +1 -0
  34. package/src/eslintrc_config.js +1 -0
  35. package/src/gen-app-codegen-module.js +1 -0
  36. package/src/gen-app-override-css.js +1 -0
  37. package/src/gen-app-routes.js +1 -0
  38. package/src/gen-app-skeleton.js +1 -0
  39. package/src/gen-components.js +1 -0
  40. package/src/gen-customwidget-config.js +1 -0
  41. package/src/gen-index-html.js +1 -0
  42. package/src/gen-layouts.js +1 -0
  43. package/src/handlebar-helpers.js +1 -0
  44. package/src/pages-util.js +1 -0
  45. package/src/project-meta.js +1 -0
  46. package/src/update-angular-json.js +1 -0
  47. package/src/wm-utils.js +1 -0
  48. {angular-codegen → package}/templates/app-routes.ts.hbs +2 -2
  49. package/templates/app.config.ts.hbs +128 -0
  50. {angular-codegen → package}/templates/app.module.ts.hbs +5 -3
  51. package/templates/component.config.ts.hbs +1 -0
  52. package/templates/customwidget/customwidget-config.ts.hbs +6 -0
  53. package/templates/customwidget/customwidget.component.script.js.hbs +3 -0
  54. package/templates/customwidget/customwidget.component.ts.hbs +43 -0
  55. {angular-codegen → package}/templates/layout/layout.component.ts.hbs +26 -4
  56. package/templates/page/page.component.ts.hbs +76 -0
  57. {angular-codegen → package}/templates/page/page.module.ts.hbs +12 -1
  58. angular-codegen/angular-app/src/app/lazy-load-scripts.resolve.ts +0 -20
  59. angular-codegen/angular-app/src/assets/styles/css/wm-style.css +0 -1
  60. angular-codegen/angular-app/src/framework/util/page-util.ts +0 -5
  61. angular-codegen/angular-app/src/main.ts +0 -30
  62. angular-codegen/angular-app/tsconfig.json +0 -131
  63. angular-codegen/build-angular-app.js +0 -79
  64. angular-codegen/dependencies/app.component.html +0 -28
  65. angular-codegen/dependencies/transpilation-mobile.cjs.js +0 -93296
  66. angular-codegen/download-packages.js +0 -69
  67. angular-codegen/package-lock.json +0 -6059
  68. angular-codegen/src/codegen-args-cli.js +0 -1
  69. angular-codegen/src/codegen-cli.js +0 -1
  70. angular-codegen/src/codegen.js +0 -1
  71. angular-codegen/src/gen-app-codegen-module.js +0 -1
  72. angular-codegen/src/gen-app-routes.js +0 -1
  73. angular-codegen/src/gen-app-skeleton.js +0 -1
  74. angular-codegen/src/gen-components.js +0 -1
  75. angular-codegen/src/gen-index-html.js +0 -1
  76. angular-codegen/src/gen-layouts.js +0 -1
  77. angular-codegen/src/handlebar-helpers.js +0 -1
  78. angular-codegen/src/pages-util.js +0 -1
  79. angular-codegen/src/project-meta.js +0 -1
  80. angular-codegen/src/update-angular-json.js +0 -1
  81. angular-codegen/src/wm-utils.js +0 -1
  82. angular-codegen/templates/page/page.component.ts.hbs +0 -45
  83. {angular-codegen → package}/.npmrc +0 -0
  84. {angular-codegen → package}/angular-app/.npmrc +0 -0
  85. {angular-codegen → package}/angular-app/build-scripts/index-html-transform.js +0 -0
  86. {angular-codegen → package}/angular-app/build-scripts/optimize-css.gulpfile.js +0 -0
  87. {angular-codegen → package}/angular-app/build-scripts/update-version.js +0 -0
  88. {angular-codegen → package}/angular-app/src/.browserslistrc +0 -0
  89. {angular-codegen → package}/angular-app/src/app/app-codegen.module.ts +0 -0
  90. {angular-codegen → package}/angular-app/src/app/app.component.css +0 -0
  91. {angular-codegen → package}/angular-app/src/app/app.component.script.js +0 -0
  92. {angular-codegen → package}/angular-app/src/app/app.component.variables.ts +0 -0
  93. {angular-codegen → package}/angular-app/src/app/app.routes.ts +0 -0
  94. {angular-codegen → package}/angular-app/src/app/prefabs/prefab-config.js +0 -0
  95. {angular-codegen → package}/angular-app/src/app/wm-project-properties.ts +0 -0
  96. {angular-codegen → package}/angular-app/src/assets/.gitkeep +0 -0
  97. {angular-codegen → package}/angular-app/src/assets/print.css +0 -0
  98. {angular-codegen → package}/angular-app/src/assets/styles/css/bootstrap.css.map +0 -0
  99. {angular-codegen → package}/angular-app/src/assets/styles/css/font/summernote.eot +0 -0
  100. {angular-codegen → package}/angular-app/src/assets/styles/css/font/summernote.ttf +0 -0
  101. {angular-codegen → package}/angular-app/src/assets/styles/css/font/summernote.woff +0 -0
  102. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  103. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  104. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  105. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  106. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  107. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  108. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  109. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  110. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_222222_256x240.png +0 -0
  111. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_2e83ff_256x240.png +0 -0
  112. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_444444_256x240.png +0 -0
  113. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_454545_256x240.png +0 -0
  114. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_555555_256x240.png +0 -0
  115. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_777620_256x240.png +0 -0
  116. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_777777_256x240.png +0 -0
  117. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_888888_256x240.png +0 -0
  118. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_cc0000_256x240.png +0 -0
  119. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_cd0a0a_256x240.png +0 -0
  120. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_ffffff_256x240.png +0 -0
  121. {angular-codegen → package}/angular-app/src/assets/styles/css/wm-responsive.css +0 -0
  122. {angular-codegen → package}/angular-app/src/assets/styles/fonts/FontAwesome.otf +0 -0
  123. {angular-codegen → package}/angular-app/src/assets/styles/fonts/fontawesome-webfont.eot +0 -0
  124. {angular-codegen → package}/angular-app/src/assets/styles/fonts/fontawesome-webfont.svg +0 -0
  125. {angular-codegen → package}/angular-app/src/assets/styles/fonts/fontawesome-webfont.ttf +0 -0
  126. {angular-codegen → package}/angular-app/src/assets/styles/fonts/fontawesome-webfont.woff +0 -0
  127. {angular-codegen → package}/angular-app/src/assets/styles/fonts/fontawesome-webfont.woff2 +0 -0
  128. {angular-codegen → package}/angular-app/src/assets/styles/fonts/glyphicons-halflings-regular.eot +0 -0
  129. {angular-codegen → package}/angular-app/src/assets/styles/fonts/glyphicons-halflings-regular.svg +0 -0
  130. {angular-codegen → package}/angular-app/src/assets/styles/fonts/glyphicons-halflings-regular.ttf +0 -0
  131. {angular-codegen → package}/angular-app/src/assets/styles/fonts/glyphicons-halflings-regular.woff +0 -0
  132. {angular-codegen → package}/angular-app/src/assets/styles/fonts/glyphicons-halflings-regular.woff2 +0 -0
  133. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wavicon.eot +0 -0
  134. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wavicon.ttf +0 -0
  135. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wavicon.woff +0 -0
  136. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wm-streamline-light-icon.eot +0 -0
  137. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wm-streamline-light-icon.ttf +0 -0
  138. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wm-streamline-light-icon.woff +0 -0
  139. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wm-streamline-regular-icon.eot +0 -0
  140. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wm-streamline-regular-icon.ttf +0 -0
  141. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wm-streamline-regular-icon.woff +0 -0
  142. {angular-codegen → package}/angular-app/src/assets/styles/images/live-sync-icon.png +0 -0
  143. {angular-codegen → package}/angular-app/src/assets/styles/images/live-sync-touch-icon.png +0 -0
  144. {angular-codegen → package}/angular-app/src/assets/styles/images/loader.gif +0 -0
  145. {angular-codegen → package}/angular-app/src/assets/styles/images/spinner-small.gif +0 -0
  146. {angular-codegen → package}/angular-app/src/assets/styles/images/ui-icons.png +0 -0
  147. {angular-codegen → package}/angular-app/src/environments/environment.dev.ts +0 -0
  148. {angular-codegen → package}/angular-app/src/environments/environment.prod.ts +0 -0
  149. {angular-codegen → package}/angular-app/src/environments/environment.ts +0 -0
  150. {angular-codegen → package}/angular-app/src/framework/angular1.polyfills.ts +0 -0
  151. {angular-codegen → package}/angular-app/src/framework/services/app-extension.service.ts +0 -0
  152. {angular-codegen → package}/angular-app/src/framework/services/app-js-provider.service.ts +0 -0
  153. {angular-codegen → package}/angular-app/src/framework/services/app-variables-provider.service.ts +0 -0
  154. {angular-codegen → package}/angular-app/src/framework/services/component-ref-provider.service.ts +0 -0
  155. {angular-codegen → package}/angular-app/src/framework/services/lazy-component-ref-provider.service.ts +0 -0
  156. {angular-codegen → package}/angular-app/src/framework/services/prefab-config-provider.service.ts +0 -0
  157. {angular-codegen → package}/angular-app/src/framework/util/lazy-module-routes.ts +0 -0
  158. {angular-codegen → package}/angular-app/src/polyfills.ts +0 -0
  159. {angular-codegen → package}/angular-app/src/styles.css +0 -0
  160. {angular-codegen → package}/angular-app/src/tsconfig.app.json +0 -0
  161. {angular-codegen → package}/angular-app/src/tslint.json +0 -0
  162. {angular-codegen → package}/build-util.js +0 -0
  163. {angular-codegen → package}/pwa-assets/icons/icon-128x128.png +0 -0
  164. {angular-codegen → package}/pwa-assets/icons/icon-144x144.png +0 -0
  165. {angular-codegen → package}/pwa-assets/icons/icon-152x152.png +0 -0
  166. {angular-codegen → package}/pwa-assets/icons/icon-192x192.png +0 -0
  167. {angular-codegen → package}/pwa-assets/icons/icon-384x384.png +0 -0
  168. {angular-codegen → package}/pwa-assets/icons/icon-512x512.png +0 -0
  169. {angular-codegen → package}/pwa-assets/icons/icon-72x72.png +0 -0
  170. {angular-codegen → package}/pwa-assets/icons/icon-96x96.png +0 -0
  171. {angular-codegen → package}/pwa-assets/manifest.json +0 -0
  172. {angular-codegen → package}/pwa-assets/ngsw-config.json +0 -0
  173. {angular-codegen → package}/pwa-assets/wmsw-worker.js +0 -0
  174. {angular-codegen → package}/src/expr-parser-utils.js +0 -0
  175. {angular-codegen → package}/src/gen-app-js.js +0 -0
  176. {angular-codegen → package}/src/gen-app-prefabs-module.js +0 -0
  177. {angular-codegen → package}/src/gen-app-variables.js +0 -0
  178. {angular-codegen → package}/src/gen-lazy-module-routes.js +0 -0
  179. {angular-codegen → package}/src/gen-prefabs.js +0 -0
  180. {angular-codegen → package}/src/gen-pwa-files.js +0 -0
  181. {angular-codegen → package}/src/gen-tsconfig.js +0 -0
  182. {angular-codegen → package}/src/gen-wm-project-properties.js +0 -0
  183. {angular-codegen → package}/templates/app-codegen.module.ts.hbs +0 -0
  184. {angular-codegen → package}/templates/app-prefabs.module.ts.hbs +0 -0
  185. {angular-codegen → package}/templates/app.component.script.js.hbs +0 -0
  186. {angular-codegen → package}/templates/component.expressions.ts.hbs +0 -0
  187. {angular-codegen → package}/templates/component.variables.ts.hbs +0 -0
  188. {angular-codegen → package}/templates/expr-vs-fn.hbs +0 -0
  189. {angular-codegen → package}/templates/layout/layout.module.ts.hbs +0 -0
  190. {angular-codegen → package}/templates/lazy-module-routes.ts.hbs +0 -0
  191. {angular-codegen → package}/templates/page/page.component.script.js.hbs +0 -0
  192. {angular-codegen → package}/templates/partial/partial.component.script.js.hbs +0 -0
  193. {angular-codegen → package}/templates/partial/partial.component.ts.hbs +0 -0
  194. {angular-codegen → package}/templates/partial/partial.module.ts.hbs +0 -0
  195. {angular-codegen → package}/templates/prefab/prefab-config.ts.hbs +0 -0
  196. {angular-codegen → package}/templates/prefab/prefab.component.script.js.hbs +0 -0
  197. {angular-codegen → package}/templates/prefab/prefab.component.ts.hbs +0 -0
  198. {angular-codegen → package}/templates/prefab/prefab.module.ts.hbs +0 -0
  199. {angular-codegen → package}/templates/wm-project-properties.ts.hbs +0 -0
@@ -0,0 +1,149 @@
1
+ const fs = require('fs');
2
+ const { executeSyncCmd } = require('./build-util');
3
+ const os = require('os');
4
+ const path = require('path');
5
+ const rimraf = require('rimraf');
6
+
7
+
8
+ /**
9
+ * To check the npm package installation successs or not
10
+ * @param {*} path File path where installation success message was written
11
+ * @param {*} msg Success messsage to confirm that package was installed
12
+ * @returns boolean true/false
13
+ */
14
+ const isNPMPackageExist = (path, msg) => {
15
+ if (fs.existsSync(path)) {
16
+ const successMsg = fs.readFileSync(path, { encoding: 'utf8', flag: 'r' });
17
+ if (successMsg == msg) {
18
+ return true;
19
+ }
20
+ } else {
21
+ return false;
22
+ }
23
+ }
24
+
25
+ /**
26
+ * Check node modules package were installed or not
27
+ * Create dir for packages with the version name
28
+ * Copy the generated angular app package.json to PATH_NPM_PACKAGE folder
29
+ * Run npm install
30
+ * Write success file to be make sure it was installed successfully.
31
+ */
32
+ const downloadNPMPackage = async (packageInfo) => {
33
+ const HOME_DIR = os.homedir();
34
+ const PATH_NPM_PACKAGE = (packageInfo.baseDir || HOME_DIR + '/.wm/node_modules/') + packageInfo.name + '/' + packageInfo.version;
35
+ const PATH_NPM_PACKAGE_SUCCESS = PATH_NPM_PACKAGE + '/.SUCCESS', LOCK_FILE = path.join(PATH_NPM_PACKAGE, ".LOCK");
36
+ let isError = false;
37
+ try {
38
+ if (!packageInfo.baseDir) { // going to install in the .wm folder if baseDir is not defined(optimizeUIBuild true)
39
+ // To check node modules.
40
+ if (!isNPMPackageExist(PATH_NPM_PACKAGE_SUCCESS, packageInfo.successMsg)) {
41
+ // Check if another process is already installing
42
+ if (fs.existsSync(LOCK_FILE)) {
43
+ console.log(`Waiting for another build to complete npm install... for package ${packageInfo.name}`);
44
+ await waitForLock(LOCK_FILE, 20 * 60 * 1000); // Wait for 20 minutes (timeout in milliseconds)
45
+ } else {
46
+ // Acquire the lock
47
+ fs.mkdirSync(PATH_NPM_PACKAGE, { recursive: true });
48
+ fs.writeFileSync(LOCK_FILE, "PROGRESS");
49
+
50
+ await processPackage(packageInfo, PATH_NPM_PACKAGE);
51
+
52
+ //only create a .SUCCESS file when there is no error
53
+ if(!isError) {
54
+ isError = false;
55
+ fs.writeFileSync(PATH_NPM_PACKAGE_SUCCESS, packageInfo.successMsg);
56
+ }
57
+ }
58
+ } else {
59
+ console.log(packageInfo.infoMsg + ` Node packages already installed! for package ${packageInfo.name}`);
60
+ }
61
+ } else {
62
+ await processPackage(packageInfo, PATH_NPM_PACKAGE);
63
+ }
64
+ } catch (err) {
65
+ deleteFiles([PATH_NPM_PACKAGE_SUCCESS, LOCK_FILE])
66
+ console.log(`Something went wrong while installing - for package ${packageInfo.name}`, err);
67
+ process.exit(err.code || err.pid);
68
+ } finally {
69
+ //cleanup : in windows / optimizeUIBuild is false, we need to delete the temp downloaded package
70
+ if (!packageInfo.baseDir) {
71
+ deleteFiles([LOCK_FILE]);
72
+ }
73
+ }
74
+ return PATH_NPM_PACKAGE;
75
+ }
76
+
77
+ const processPackage = (packageInfo, PATH_NPM_PACKAGE) => {
78
+ let npmInstallCMD = 'npm install --legacy-peer-deps ';
79
+ if (packageInfo.packageJsonFile && fs.existsSync(packageInfo.packageJsonFile)) {
80
+ fs.copyFileSync(packageInfo.packageJsonFile, PATH_NPM_PACKAGE + '/package.json');
81
+ try {
82
+ //expecting this lock file to be present for exact versions to be downloaded from private registry
83
+ fs.copyFileSync(`${path.dirname(packageInfo.packageJsonFile)} + /package-lock.json`, `${PATH_NPM_PACKAGE} + /package-lock.json`);
84
+ } catch (err) {
85
+ if (err.code === 'ENOENT') {
86
+ console.error(`Info: package-lock.json file not found at ${path.dirname(packageInfo.packageJsonFile)}`);
87
+ }
88
+ }
89
+ } else {
90
+ npmInstallCMD = 'npm init -y && ' + npmInstallCMD;
91
+ npmInstallCMD += packageInfo.skipPackageVersion === true
92
+ ? packageInfo.name
93
+ : (packageInfo.scope ? packageInfo.scope + '/' : '') + packageInfo.name + '@' + packageInfo.version;
94
+ }
95
+
96
+ fs.mkdirSync(PATH_NPM_PACKAGE, { recursive: true });
97
+ executeSyncCmd('cd ' + PATH_NPM_PACKAGE + ' && ' + npmInstallCMD, (errMsg) => {
98
+ console.log(packageInfo.infoMsg + ' Something wrong with npm installation ', errMsg);
99
+ throw Error(errMsg);
100
+ }, packageInfo.infoMsg);
101
+ }
102
+
103
+ /**
104
+ *
105
+ */
106
+ const deleteFiles = (files) => {
107
+ files.forEach(file => {
108
+ try {
109
+ rimraf.sync(file);
110
+ console.log(`Successfully deleted file - ${file}`);
111
+ } catch (err) {
112
+ console.error(`Error while deleting file ${file}`, err);
113
+ throw new Error(`Error while deleting file: ${file}, Error: ${err}`);
114
+ }
115
+ });
116
+ }
117
+
118
+ /**
119
+ *
120
+ * @param lockFile
121
+ * @param timeout
122
+ * @returns {Promise<void>}
123
+ */
124
+ const waitForLock = async (lockFile, timeout) => {
125
+ timeout = timeout || 20 * 60 * 1000 // Wait for 20 minutes (timeout in milliseconds)
126
+ // Helper function to wait for the lock to be released with a timeout
127
+ const startTime = Date.now();
128
+ while (fs.existsSync(lockFile)) {
129
+ if (Date.now() - startTime > timeout) {
130
+ console.error('Timeout!! - waiting for the lock to be released. Exiting...');
131
+ process.exit(1); // Terminate the process with an error code
132
+ }
133
+ await sleep(1000); // Wait for 1 second before checking again
134
+ }
135
+ };
136
+
137
+ /**
138
+ *
139
+ * @param ms
140
+ * @returns {Promise<unknown>}
141
+ */
142
+ const sleep = (ms) => {
143
+ // Helper function to sleep for a given time
144
+ return new Promise(resolve => setTimeout(resolve, ms));
145
+ };
146
+
147
+ module.exports = {
148
+ downloadNPMPackage
149
+ }
@@ -12,6 +12,7 @@
12
12
  */
13
13
 
14
14
  const {args, executeSyncCmd, MSG_CODEGEN_LOG, getArgs} = require('./build-util');
15
+ const { generateRandomHash } = require('./src/wm-utils');
15
16
 
16
17
  /**
17
18
  * From codegen-cli generate angular app into the target directory
@@ -19,7 +20,8 @@ const {args, executeSyncCmd, MSG_CODEGEN_LOG, getArgs} = require('./build-util')
19
20
  const generateAngularApp = () => {
20
21
  console.log(MSG_CODEGEN_LOG + 'Generating the angular App...');
21
22
  let buildArgs = getArgs(args.ngBuildParams.split(' '));
22
- let deployUrl = 'ng-bundle/';
23
+ global.randomHash = global.randomHash ? global.randomHash : generateRandomHash();
24
+ let deployUrl = `ng-bundle/${global.randomHash}/`;
23
25
  if(buildArgs && buildArgs["deploy-url"]){
24
26
  deployUrl = buildArgs["deploy-url"];
25
27
  }