@wavemaker/angular-codegen 11.8.0-next.1417113 → 11.8.0-next.141712

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 (162) hide show
  1. {angular-codegen → package}/angular-app/angular.json +68 -4
  2. {angular-codegen → package}/angular-app/package-lock.json +136 -621
  3. {angular-codegen → package}/angular-app/package.json +13 -9
  4. {angular-codegen → package}/angular-app/src/setup-jest.js +33 -2
  5. {angular-codegen → package}/angular-app/tsconfig.json +1 -0
  6. {angular-codegen → package}/build-angular-app.js +30 -11
  7. {angular-codegen → package}/dependencies/expression-parser.cjs.js +18034 -25
  8. {angular-codegen → package}/dependencies/pipe-provider.cjs.js +62818 -26772
  9. {angular-codegen → package}/dependencies/transpilation-mobile.cjs.js +6974 -136
  10. {angular-codegen → package}/dependencies/transpilation-web.cjs.js +18184 -155
  11. {angular-codegen → package}/download-packages.js +9 -0
  12. package/package-lock.json +7134 -0
  13. {angular-codegen → package}/package.json +6 -1
  14. package/src/codegen-cli.js +1 -0
  15. {angular-codegen → package}/src/codegen.js +1 -1
  16. package/src/gen-app-skeleton.js +1 -0
  17. angular-codegen/package-lock.json +0 -5746
  18. angular-codegen/src/codegen-cli.js +0 -1
  19. angular-codegen/src/gen-app-skeleton.js +0 -1
  20. {angular-codegen → package}/.npmrc +0 -0
  21. {angular-codegen → package}/angular-app/.npmrc +0 -0
  22. {angular-codegen → package}/angular-app/build-scripts/build.js +0 -0
  23. {angular-codegen → package}/angular-app/build-scripts/index-html-transform.js +0 -0
  24. {angular-codegen → package}/angular-app/build-scripts/optimize-css.gulpfile.js +0 -0
  25. {angular-codegen → package}/angular-app/build-scripts/post-build.js +0 -0
  26. {angular-codegen → package}/angular-app/src/.browserslistrc +0 -0
  27. {angular-codegen → package}/angular-app/src/app/app-codegen.module.ts +0 -0
  28. {angular-codegen → package}/angular-app/src/app/app.component.css +0 -0
  29. {angular-codegen → package}/angular-app/src/app/app.component.script.js +0 -0
  30. {angular-codegen → package}/angular-app/src/app/app.component.variables.ts +0 -0
  31. {angular-codegen → package}/angular-app/src/app/app.routes.ts +0 -0
  32. {angular-codegen → package}/angular-app/src/app/lazy-load-scripts.resolve.ts +0 -0
  33. {angular-codegen → package}/angular-app/src/app/prefabs/prefab-config.js +0 -0
  34. {angular-codegen → package}/angular-app/src/app/wm-project-properties.ts +0 -0
  35. {angular-codegen → package}/angular-app/src/assets/.gitkeep +0 -0
  36. {angular-codegen → package}/angular-app/src/assets/print.css +0 -0
  37. {angular-codegen → package}/angular-app/src/assets/styles/css/bootstrap.css.map +0 -0
  38. {angular-codegen → package}/angular-app/src/assets/styles/css/font/summernote.eot +0 -0
  39. {angular-codegen → package}/angular-app/src/assets/styles/css/font/summernote.ttf +0 -0
  40. {angular-codegen → package}/angular-app/src/assets/styles/css/font/summernote.woff +0 -0
  41. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  42. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  43. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  44. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  45. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  46. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  47. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  48. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  49. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_222222_256x240.png +0 -0
  50. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_2e83ff_256x240.png +0 -0
  51. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_444444_256x240.png +0 -0
  52. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_454545_256x240.png +0 -0
  53. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_555555_256x240.png +0 -0
  54. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_777620_256x240.png +0 -0
  55. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_777777_256x240.png +0 -0
  56. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_888888_256x240.png +0 -0
  57. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_cc0000_256x240.png +0 -0
  58. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_cd0a0a_256x240.png +0 -0
  59. {angular-codegen → package}/angular-app/src/assets/styles/css/images/ui-icons_ffffff_256x240.png +0 -0
  60. {angular-codegen → package}/angular-app/src/assets/styles/css/wm-responsive.css +0 -0
  61. {angular-codegen → package}/angular-app/src/assets/styles/css/wm-style.css +0 -0
  62. {angular-codegen → package}/angular-app/src/assets/styles/fonts/FontAwesome.otf +0 -0
  63. {angular-codegen → package}/angular-app/src/assets/styles/fonts/fontawesome-webfont.eot +0 -0
  64. {angular-codegen → package}/angular-app/src/assets/styles/fonts/fontawesome-webfont.svg +0 -0
  65. {angular-codegen → package}/angular-app/src/assets/styles/fonts/fontawesome-webfont.ttf +0 -0
  66. {angular-codegen → package}/angular-app/src/assets/styles/fonts/fontawesome-webfont.woff +0 -0
  67. {angular-codegen → package}/angular-app/src/assets/styles/fonts/fontawesome-webfont.woff2 +0 -0
  68. {angular-codegen → package}/angular-app/src/assets/styles/fonts/glyphicons-halflings-regular.eot +0 -0
  69. {angular-codegen → package}/angular-app/src/assets/styles/fonts/glyphicons-halflings-regular.svg +0 -0
  70. {angular-codegen → package}/angular-app/src/assets/styles/fonts/glyphicons-halflings-regular.ttf +0 -0
  71. {angular-codegen → package}/angular-app/src/assets/styles/fonts/glyphicons-halflings-regular.woff +0 -0
  72. {angular-codegen → package}/angular-app/src/assets/styles/fonts/glyphicons-halflings-regular.woff2 +0 -0
  73. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wavicon.eot +0 -0
  74. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wavicon.ttf +0 -0
  75. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wavicon.woff +0 -0
  76. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wm-streamline-light-icon.eot +0 -0
  77. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wm-streamline-light-icon.ttf +0 -0
  78. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wm-streamline-light-icon.woff +0 -0
  79. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wm-streamline-regular-icon.eot +0 -0
  80. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wm-streamline-regular-icon.ttf +0 -0
  81. {angular-codegen → package}/angular-app/src/assets/styles/fonts/wm-streamline-regular-icon.woff +0 -0
  82. {angular-codegen → package}/angular-app/src/assets/styles/images/live-sync-icon.png +0 -0
  83. {angular-codegen → package}/angular-app/src/assets/styles/images/live-sync-touch-icon.png +0 -0
  84. {angular-codegen → package}/angular-app/src/assets/styles/images/loader.gif +0 -0
  85. {angular-codegen → package}/angular-app/src/assets/styles/images/spinner-small.gif +0 -0
  86. {angular-codegen → package}/angular-app/src/assets/styles/images/ui-icons.png +0 -0
  87. {angular-codegen → package}/angular-app/src/environments/environment.dev.ts +0 -0
  88. {angular-codegen → package}/angular-app/src/environments/environment.prod.ts +0 -0
  89. {angular-codegen → package}/angular-app/src/environments/environment.ts +0 -0
  90. {angular-codegen → package}/angular-app/src/framework/angular1.polyfills.ts +0 -0
  91. {angular-codegen → package}/angular-app/src/framework/services/app-extension.service.ts +0 -0
  92. {angular-codegen → package}/angular-app/src/framework/services/app-js-provider.service.ts +0 -0
  93. {angular-codegen → package}/angular-app/src/framework/services/app-variables-provider.service.ts +0 -0
  94. {angular-codegen → package}/angular-app/src/framework/services/component-ref-provider.service.ts +0 -0
  95. {angular-codegen → package}/angular-app/src/framework/services/lazy-component-ref-provider.service.ts +0 -0
  96. {angular-codegen → package}/angular-app/src/framework/services/prefab-config-provider.service.ts +0 -0
  97. {angular-codegen → package}/angular-app/src/framework/util/lazy-module-routes.ts +0 -0
  98. {angular-codegen → package}/angular-app/src/framework/util/page-util.ts +0 -0
  99. {angular-codegen → package}/angular-app/src/index.html +0 -0
  100. {angular-codegen → package}/angular-app/src/main.ts +0 -0
  101. {angular-codegen → package}/angular-app/src/polyfills.ts +0 -0
  102. {angular-codegen → package}/angular-app/src/styles.css +0 -0
  103. {angular-codegen → package}/angular-app/src/tsconfig.app.json +0 -0
  104. {angular-codegen → package}/angular-app/src/tslint.json +0 -0
  105. {angular-codegen → package}/angular-app/tsconfig.web-app.json +0 -0
  106. {angular-codegen → package}/angular-app/wm-custom-webpack.config.js +0 -0
  107. {angular-codegen → package}/build-util.js +0 -0
  108. {angular-codegen → package}/dependencies/app.component.html +0 -0
  109. {angular-codegen → package}/generate-angular-app.js +0 -0
  110. {angular-codegen → package}/pwa-assets/icons/icon-128x128.png +0 -0
  111. {angular-codegen → package}/pwa-assets/icons/icon-144x144.png +0 -0
  112. {angular-codegen → package}/pwa-assets/icons/icon-152x152.png +0 -0
  113. {angular-codegen → package}/pwa-assets/icons/icon-192x192.png +0 -0
  114. {angular-codegen → package}/pwa-assets/icons/icon-384x384.png +0 -0
  115. {angular-codegen → package}/pwa-assets/icons/icon-512x512.png +0 -0
  116. {angular-codegen → package}/pwa-assets/icons/icon-72x72.png +0 -0
  117. {angular-codegen → package}/pwa-assets/icons/icon-96x96.png +0 -0
  118. {angular-codegen → package}/pwa-assets/manifest.json +0 -0
  119. {angular-codegen → package}/pwa-assets/ngsw-config.json +0 -0
  120. {angular-codegen → package}/pwa-assets/wmsw-worker.js +0 -0
  121. {angular-codegen → package}/src/codegen-args-cli.js +0 -0
  122. {angular-codegen → package}/src/expr-parser-utils.js +0 -0
  123. {angular-codegen → package}/src/gen-app-codegen-module.js +0 -0
  124. {angular-codegen → package}/src/gen-app-js.js +0 -0
  125. {angular-codegen → package}/src/gen-app-prefabs-module.js +0 -0
  126. {angular-codegen → package}/src/gen-app-routes.js +0 -0
  127. {angular-codegen → package}/src/gen-app-variables.js +0 -0
  128. {angular-codegen → package}/src/gen-components.js +0 -0
  129. {angular-codegen → package}/src/gen-index-html.js +0 -0
  130. {angular-codegen → package}/src/gen-layouts.js +0 -0
  131. {angular-codegen → package}/src/gen-lazy-module-routes.js +0 -0
  132. {angular-codegen → package}/src/gen-prefabs.js +0 -0
  133. {angular-codegen → package}/src/gen-pwa-files.js +0 -0
  134. {angular-codegen → package}/src/gen-tsconfig.js +0 -0
  135. {angular-codegen → package}/src/gen-wm-project-properties.js +0 -0
  136. {angular-codegen → package}/src/handlebar-helpers.js +0 -0
  137. {angular-codegen → package}/src/pages-util.js +0 -0
  138. {angular-codegen → package}/src/project-meta.js +0 -0
  139. {angular-codegen → package}/src/update-angular-json.js +0 -0
  140. {angular-codegen → package}/src/wm-utils.js +0 -0
  141. {angular-codegen → package}/templates/app-codegen.module.ts.hbs +0 -0
  142. {angular-codegen → package}/templates/app-prefabs.module.ts.hbs +0 -0
  143. {angular-codegen → package}/templates/app-routes.ts.hbs +0 -0
  144. {angular-codegen → package}/templates/app.component.script.js.hbs +0 -0
  145. {angular-codegen → package}/templates/app.module.ts.hbs +0 -0
  146. {angular-codegen → package}/templates/component.expressions.ts.hbs +0 -0
  147. {angular-codegen → package}/templates/component.variables.ts.hbs +0 -0
  148. {angular-codegen → package}/templates/expr-vs-fn.hbs +0 -0
  149. {angular-codegen → package}/templates/layout/layout.component.ts.hbs +0 -0
  150. {angular-codegen → package}/templates/layout/layout.module.ts.hbs +0 -0
  151. {angular-codegen → package}/templates/lazy-module-routes.ts.hbs +0 -0
  152. {angular-codegen → package}/templates/page/page.component.script.js.hbs +0 -0
  153. {angular-codegen → package}/templates/page/page.component.ts.hbs +0 -0
  154. {angular-codegen → package}/templates/page/page.module.ts.hbs +0 -0
  155. {angular-codegen → package}/templates/partial/partial.component.script.js.hbs +0 -0
  156. {angular-codegen → package}/templates/partial/partial.component.ts.hbs +0 -0
  157. {angular-codegen → package}/templates/partial/partial.module.ts.hbs +0 -0
  158. {angular-codegen → package}/templates/prefab/prefab-config.ts.hbs +0 -0
  159. {angular-codegen → package}/templates/prefab/prefab.component.script.js.hbs +0 -0
  160. {angular-codegen → package}/templates/prefab/prefab.component.ts.hbs +0 -0
  161. {angular-codegen → package}/templates/prefab/prefab.module.ts.hbs +0 -0
  162. {angular-codegen → package}/templates/wm-project-properties.ts.hbs +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/angular-codegen",
3
- "version": "11.8.0-next.1417113",
3
+ "version": "11.8.0-next.141712",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -10,7 +10,12 @@
10
10
  "keywords": [],
11
11
  "author": "",
12
12
  "license": "ISC",
13
+ "files": [
14
+ "**/*",
15
+ ".npmrc"
16
+ ],
13
17
  "dependencies": {
18
+ "@wavemaker/angular-app": "11.8.0-next.141712",
14
19
  "cheerio": "^1.0.0-rc.2",
15
20
  "decode-uri-component": "^0.2.0",
16
21
  "express": "^4.16.4",
@@ -0,0 +1 @@
1
+ const codegen=require("./codegen"),{setCodegenPath:setCodegenPath,deleteResource:deleteResource,isMobileProject:isMobileProject,initExpressionParser:initExpressionParser}=require("./wm-utils"),{initTemplates:initTemplates}=require("./handlebar-helpers"),{getWmProjectProperties:getWmProjectProperties}=require("./project-meta"),create=async(e,t,r,a)=>{await codegen.createAppSkeleton(e,t,r,a)},generate=async(e,t,r,a,n,i)=>{await codegen.generateSources(e,t,r,a,n,i)},generateCodegenAngularApp=async(e,t,r,a,n,i,o)=>{const s=await getWmProjectProperties(e);if(o=!isMobileProject(s)&&o,setCodegenPath(n),initTemplates(),initExpressionParser(),o){let t=e;e&&"/"!=e.charAt(e.length-1)&&(t+="/"),t+="target/ui-build/intermediate-app",await codegen.generateIntermediateApp(e,t),e=t}await create(e,t,n,s),await generate(e,t,r,a,i,o)},generatePage=async(e,t,r,a,n)=>{setCodegenPath(a),initTemplates(),initExpressionParser(),await codegen.generatePage(e,t,r,n)};module.exports={create:create,generateCodegenAngularApp:generateCodegenAngularApp,generatePage:generatePage};
@@ -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"),{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)=>{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`)]);const i=readFileSync(`${a}/angular.json`);global._WM_PACKAGE_PATH=i.includes("./node_modules/@wavemaker/app-ng-runtime/")?"./node_modules/@wavemaker/app-ng-runtime":"./libraries";const g=await getWmProjectProperties(e),p=await getThemesConfigProperties(e),s=await getSecurityConfig(e);let l;o&&(l=await getLayoutsConfig(e));const u=await getPagesConfig(e),c=await getPrefabConfigsUsedInApp(g,e);let d={};for(const a of c.keys())d[a]=await getPrefabPartialsConfig(e,a);await Promise.all([generateIndexHtml(e,a,g,t,r),generateWmProjectProperties(g,a),generateAppRoutes(e,g,l,u,s,a,o),generateLazyModuleRoutes(u,c,d,a),generatePrefabConfigFile(c,a),generateCodeGenModule(g,u,c,s,a),generateTSConfig(g,a),generateAppJS(e,a),generateAppVariables(e,a,n),generateComponents(e,g,l,u,s,c,a,d,n,o)]);const m=await isDynamicComponentUsedInApp(a),P={aot:!m,buildOptimizer:!m};await generateAppModule(g,a,m,r),await updateAngularJSON(e,a,g,p,u,c,t,P,d,r),await cleanPackageJSON(a,r),r&&await generatePwaFiles(e,a,g),console.timeEnd("generate app-sources")},createAppSkeleton=async(e,a,t)=>{console.time("create-angular-app"),await createApp(e,a,t),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};
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"),{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)=>{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`)]);const i=readFileSync(`${a}/angular.json`);global._WM_PACKAGE_PATH=i.includes("./node_modules/@wavemaker/app-ng-runtime/")?"./node_modules/@wavemaker/app-ng-runtime":"./libraries";const g=await getWmProjectProperties(e),p=await getThemesConfigProperties(e),s=await getSecurityConfig(e);let l;o&&(l=await getLayoutsConfig(e));const u=await getPagesConfig(e),c=await getPrefabConfigsUsedInApp(g,e);let d={};for(const a of c.keys())d[a]=await getPrefabPartialsConfig(e,a);await Promise.all([generateIndexHtml(e,a,g,t,r),generateWmProjectProperties(g,a),generateAppRoutes(e,g,l,u,s,a,o),generateLazyModuleRoutes(u,c,d,a),generatePrefabConfigFile(c,a),generateCodeGenModule(g,u,c,s,a),generateTSConfig(g,a),generateAppJS(e,a),generateAppVariables(e,a,n),generateComponents(e,g,l,u,s,c,a,d,n,o)]);const m=await isDynamicComponentUsedInApp(a),P={aot:!m,buildOptimizer:!m};await generateAppModule(g,a,m,r),await updateAngularJSON(e,a,g,p,u,c,t,P,d,r),await cleanPackageJSON(a,r),r&&await generatePwaFiles(e,a,g),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};
@@ -0,0 +1 @@
1
+ const{deleteResource:deleteResource,createDir:createDir,readDir:readDir,getWebAppPath:getWebAppPath,readFileSync:readFileSync}=require("./wm-utils"),util=require("util"),fs=require("fs"),{executeSyncCmd:executeSyncCmd}=require("../build-util"),writeFile=util.promisify(fs.writeFile),ncp=util.promisify(require("ncp").ncp),updatePackageJson=async(e,a)=>{const t=`${e}/package.json`;let i=readFileSync(t,!0);i.name=a.name,i.version=a.version,-1!==i.dependencies["@wavemaker/variables"].indexOf("yalc")&&executeSyncCmd(`cd ${e} && yalc add @wavemaker/variables`,null,`Adding yalc variables dependency to ${e}`),await writeFile(t,JSON.stringify(i,null,4))},createAppSkeleton=async(e,a,t,i)=>{await deleteResource(a),await createDir(a,{recursive:!0}),await ncp(t+"/angular-app",a),await updatePackageJson(a,i);const r=getWebAppPath(e);if((await readDir(`${r}/themes`)).length){const e=`${r}/themes/`;await ncp(e,`${a}/src/assets/themes`)}(await readDir(`${r}/extensions`)).length&&await ncp(`${r}/extensions`,`${a}/src/app/extensions`),await ncp(`${r}/app.css`,`${a}/src/assets/app.css`),await ncp(`${r}/resources`,`${a}/resources`),await ncp(`${t}/.npmrc`,`${a}/.npmrc`)};module.exports={createAppSkeleton:createAppSkeleton};