@wavemaker/angular-codegen 11.6.0-next.140457 → 11.6.0-next.141924
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.
- angular-codegen/angular-app/angular.json +11 -1
- angular-codegen/angular-app/build-scripts/build.js +28 -0
- angular-codegen/angular-app/build-scripts/post-build.js +15 -11
- angular-codegen/angular-app/package-lock.json +2299 -3938
- angular-codegen/angular-app/package.json +23 -23
- angular-codegen/angular-app/src/app/lazy-load-scripts.resolve.ts +4 -2
- angular-codegen/angular-app/src/assets/print.css +32 -0
- angular-codegen/build-angular-app.js +1 -1
- angular-codegen/dependencies/expression-parser.cjs.js +590 -2498
- angular-codegen/dependencies/pipe-provider.cjs.js +15331 -28447
- angular-codegen/dependencies/transpilation-mobile.cjs.js +8028 -14728
- angular-codegen/dependencies/transpilation-web.cjs.js +8028 -14728
- angular-codegen/download-packages.js +8 -1
- angular-codegen/package-lock.json +4367 -3
- angular-codegen/package.json +1 -1
- angular-codegen/src/codegen.js +1 -1
- angular-codegen/src/handlebar-helpers.js +1 -1
- angular-codegen/templates/app-prefabs.module.ts.hbs +1 -0
- angular-codegen/templates/app-routes.ts.hbs +5 -6
- angular-codegen/templates/page/page.module.ts.hbs +2 -2
- angular-codegen/templates/partial/partial.module.ts.hbs +1 -0
- angular-codegen/templates/prefab/prefab.module.ts.hbs +1 -0
angular-codegen/package.json
CHANGED
angular-codegen/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"),{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);t
|
|
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);t&&"_cdnUrl_"!==t&&(t.endsWith("/")||(t+="/")),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 +1 @@
|
|
|
1
|
-
const Handlebars=require("handlebars"),fs=require("fs"),{getComponentName:getComponentName,isPrefabProject:isPrefabProject,getComponentModuleName:getComponentModuleName,getCodegenPath:getCodegenPath}=require("./wm-utils"),getPageRouteInfo=(e,t,n)=>{let a,r;if(null!==e){a="[
|
|
1
|
+
const Handlebars=require("handlebars"),fs=require("fs"),{getComponentName:getComponentName,isPrefabProject:isPrefabProject,getComponentModuleName:getComponentModuleName,getCodegenPath:getCodegenPath}=require("./wm-utils"),getPageRouteInfo=(e,t,n)=>{let a,r;if(null!==e){a="[AuthGuard]";for(const n of e)if(n.urlPattern.startsWith("/pages/")){n.urlPattern.split("/")[2]===t&&("Role"===n.permission?(a="[RoleGuard]",n.roles&&(r=JSON.stringify(n.roles))):"PermitAll"===n.permission&&(a=void 0))}}return`{\n path: '${t}',\n pathMatch: 'full',\n loadChildren: () => import('${n?"../..":"."}/pages/${t}/${t}.module').then(m => m.${getComponentModuleName(t)}),\n ${a?`canActivate: ${a},`:""}\n data : {\n ${r?`allowedRoles: ${r},`:""}\n pageName: '${t}'\n }\n }`},getLayoutRouteInfo=e=>`{\n path: "",\n resolve: appDependenciesResolve,\n loadChildren: () => import("./layouts/${e}/${e}.module").then(m => m.${getComponentModuleName(e)}),\n data : { \n layoutName: '${e}' \n }\n }`;Handlebars.registerHelper("PageComponentsImportStmts",(e,t)=>{if(isPrefabProject(e))return"";const n=t.filter(e=>"PAGE"===e.type).map(e=>`import { ${getComponentName(e.name)} } from './pages/${e.name}/${e.name}.component';`).join("\n");return safeString(n)}),Handlebars.registerHelper("WMComponentsImportStmts",(e=[])=>{const t=e.map(e=>`import { ${e.name} as ${e.as||"WM_"+e.name} } from '${e.from}';`).join("\n");return safeString(t)}),Handlebars.registerHelper("PartialModuleImportStmts",e=>{const t=e.filter(e=>"PARTIAL"===e.type).map(e=>`import { ${getComponentModuleName(e.name)} as Partial${getComponentModuleName(e.name)}} from '../../partials/${e.name}/${e.name}.module';`).join("\n");return safeString(t)}),Handlebars.registerHelper("PrefabPartialModuleImportStmts",e=>{const t=e.filter(e=>"PARTIAL"===e.type).map(e=>`import { ${getComponentModuleName(e.name)} as Partial${getComponentModuleName(e.name)}} from './partials/${e.name}/${e.name}.module';`).join("\n");return safeString(t)}),Handlebars.registerHelper("PartialModuleStmts",e=>{const t=e.filter(e=>"PARTIAL"===e.type).map(e=>"Partial"+getComponentModuleName(e.name)).join(",\n\t");return safeString(t)}),Handlebars.registerHelper("PrefabModuleImportStmts",e=>{const t=e.filter(e=>"PREFAB"===e.type).map(e=>`import { ${getComponentModuleName(e.name)} as Prefab${getComponentModuleName(e.name)} } from '../../prefabs/${e.name}/${e.name}.module';`).join("\n");return safeString(t)}),Handlebars.registerHelper("PrefabModuleStmts",e=>{const t=e.filter(e=>"PREFAB"===e.type).map(e=>"Prefab"+getComponentModuleName(e.name)).join(",\n\t");return safeString(t)}),Handlebars.registerHelper("WMComponentModuleStmts",e=>{const t=e.map(e=>`${e.as||"WM_"+e.name}${e.forRoot?".forRoot()":""}`).join(",\n\t");return safeString(t)}),Handlebars.registerHelper("PartialComponentsImportStmts",e=>{const t=e.filter(e=>"PAGE"!==e.type).map(e=>`import { ${getComponentName(e.name)} } from './partials/${e.name}/${e.name}.component';`).join("\n");return safeString(t)}),Handlebars.registerHelper("PrefabComponentsImportStmts",e=>{const t=[];for(const[n]of e.entries())t.push(`import { MainComponent as ${n}Component } from './prefabs/${n}/Main/Main.component';`);return safeString(t.join("\n"))}),Handlebars.registerHelper("RegisterComponents",(e,t,n)=>{let a=[];for(const[e]of n.entries())a.push(`ComponentRefProviderService.registerComponentRef('${e}', ComponentType.PREFAB, ${e}Component, null);`);return safeString(a.join("\n"))}),Handlebars.registerHelper("ComponentDeclarations",(e,t,n)=>{let a=[];for(const[e]of n.entries())a.push(`${e}Component`);return safeString(a.join(",\n\t"))}),Handlebars.registerHelper("RegisterPrefabConfig",e=>{const t=[];for(const[n,a]of e.entries())t.push(`registerPrefabConfig('${n}', ${a})`);return safeString(t.join("\n"))}),Handlebars.registerHelper("DefineHomePage",e=>isPrefabProject(e)?"prefab-preview":e.homePage),Handlebars.registerHelper("ImportPrefabPreviewComponent",e=>isPrefabProject(e)?safeString('import { PrefabPreviewComponent } from "@wm/runtime/base";'):""),Handlebars.registerHelper("DefineLayoutRoutes",(e,t,n,a)=>{const r=n.filter(t=>t.layout===e&&"PAGE"===t.type).map(e=>getPageRouteInfo(a,e.name,!0));let o="";return r.length&&(o=`\n children: [\n ${r.join(",\n")}\n ]`),safeString(`[\n {\n path: '',\n component: ${t},\n ${o}\n\n }\n ]`)}),Handlebars.registerHelper("DefineAppRoutes",(e,t,n,a,r)=>{let o="";if(isPrefabProject(e))o="{\n path: 'prefab-preview',\n resolve: appDependenciesResolve,\n component: PrefabPreviewComponent\n }";else if(r){o=`${t.map(e=>getLayoutRouteInfo(e.name)).join(",\n")}`}else{o=`{\n path: '',\n resolve: appDependenciesResolve,\n children: [\n ${n.filter(e=>"PAGE"===e.type).map(e=>getPageRouteInfo(a,e.name,!1)).join(",\n")}\n ]\n }`}return safeString(`[\n {\n path: '',\n pathMatch: 'full',\n component: EmptyPageComponent,\n resolve: appDependenciesResolve\n },\n ${o},\n {\n path: "**",\n canActivate: [PageNotFoundGaurd],\n component: EmptyPageComponent\n }\n ]`)}),Handlebars.registerHelper("DefinePrefabModules",e=>`{ ${e} }`),Handlebars.registerHelper("DefinePartialModules",e=>`{ ${e} }`),Handlebars.registerHelper("DefinePrefabPartialModules",e=>`{ ${e} }`);const templates=new Map,initTemplates=()=>{const e=getCodegenPath()+"/templates/";templates.set("app-module-ts",Handlebars.compile(fs.readFileSync(e+"app.module.ts.hbs","utf-8"))),templates.set("app-codegen-module",Handlebars.compile(fs.readFileSync(e+"app-codegen.module.ts.hbs","utf-8"))),templates.set("app-prefabs-module",Handlebars.compile(fs.readFileSync(e+"app-prefabs.module.ts.hbs","utf-8"))),templates.set("prefab-config",Handlebars.compile(fs.readFileSync(e+"prefab/prefab-config.ts.hbs","utf-8"))),templates.set("app-routes",Handlebars.compile(fs.readFileSync(e+"app-routes.ts.hbs","utf-8"))),templates.set("lazy-module-routes",Handlebars.compile(fs.readFileSync(e+"lazy-module-routes.ts.hbs","utf-8"))),templates.set("wm-project-properties",Handlebars.compile(fs.readFileSync(e+"wm-project-properties.ts.hbs","utf-8"))),templates.set("component-variables",Handlebars.compile(fs.readFileSync(e+"component.variables.ts.hbs","utf-8"))),templates.set("component-expressions",Handlebars.compile(fs.readFileSync(e+"component.expressions.ts.hbs","utf-8"))),templates.set("app-component-script",Handlebars.compile(fs.readFileSync(e+"app.component.script.js.hbs","utf-8"))),templates.set("layout-component-ts",Handlebars.compile(fs.readFileSync(e+"layout/layout.component.ts.hbs","utf-8"))),templates.set("layout-module-ts",Handlebars.compile(fs.readFileSync(e+"layout/layout.module.ts.hbs","utf-8"))),templates.set("page-component-ts",Handlebars.compile(fs.readFileSync(e+"page/page.component.ts.hbs","utf-8"))),templates.set("page-component-script",Handlebars.compile(fs.readFileSync(e+"page/page.component.script.js.hbs","utf-8"))),templates.set("page-module-ts",Handlebars.compile(fs.readFileSync(e+"page/page.module.ts.hbs","utf-8"))),templates.set("partial-component-ts",Handlebars.compile(fs.readFileSync(e+"partial/partial.component.ts.hbs","utf-8"))),templates.set("partial-component-script",Handlebars.compile(fs.readFileSync(e+"partial/partial.component.script.js.hbs","utf-8"))),templates.set("partial-module-ts",Handlebars.compile(fs.readFileSync(e+"partial/partial.module.ts.hbs","utf-8"))),templates.set("prefab-component-ts",Handlebars.compile(fs.readFileSync(e+"prefab/prefab.component.ts.hbs","utf-8"))),templates.set("prefab-module-ts",Handlebars.compile(fs.readFileSync(e+"prefab/prefab.module.ts.hbs","utf-8"))),templates.set("prefab-component-script",Handlebars.compile(fs.readFileSync(e+"prefab/prefab.component.script.js.hbs","utf-8"))),templates.set("expr-vs-fn",Handlebars.compile(fs.readFileSync(e+"expr-vs-fn.hbs","utf-8")))},getHandlebarTemplate=e=>templates.get(e),safeString=e=>new Handlebars.SafeString(e);module.exports={getHandlebarTemplate:getHandlebarTemplate,safeString:safeString,initTemplates:initTemplates};
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { Routes } from '@angular/router';
|
|
2
2
|
|
|
3
|
-
import { AppJSResolve, AppExtensionJSResolve, AppVariablesResolve, {{#unless enableSpa}}AuthGuard, RoleGuard, {{/unless}} EmptyPageComponent,
|
|
3
|
+
import { AppJSResolve, AppExtensionJSResolve, AppVariablesResolve, {{#unless enableSpa}}AuthGuard, RoleGuard, {{/unless}} EmptyPageComponent, PageNotFoundGaurd } from '@wm/runtime/base';
|
|
4
4
|
|
|
5
5
|
import { LazyLoadScriptsResolve } from './lazy-load-scripts.resolve';
|
|
6
|
-
import { inject } from "@angular/core"
|
|
7
6
|
|
|
8
7
|
{{ImportPrefabPreviewComponent wmProjectProperties}};
|
|
9
8
|
|
|
10
9
|
const appDependenciesResolve = {
|
|
11
|
-
appJS:
|
|
12
|
-
appMetaConfig:
|
|
13
|
-
appVariables:
|
|
14
|
-
lazyLoadScriptsResolv:
|
|
10
|
+
appJS: AppJSResolve,
|
|
11
|
+
appMetaConfig: AppExtensionJSResolve,
|
|
12
|
+
appVariables: AppVariablesResolve,
|
|
13
|
+
lazyLoadScriptsResolv: LazyLoadScriptsResolve
|
|
15
14
|
};
|
|
16
15
|
|
|
17
16
|
export const routes: Routes = {{DefineAppRoutes wmProjectProperties layoutsConfig pagesConfig securityConfig enableSpa}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule as NgCommonModule, APP_BASE_HREF } from '@angular/common';
|
|
3
3
|
import { Routes, RouterModule } from '@angular/router';
|
|
4
4
|
|
|
@@ -17,7 +17,7 @@ const routes: Routes = [
|
|
|
17
17
|
{
|
|
18
18
|
path: '',
|
|
19
19
|
component: {{componentName}},
|
|
20
|
-
canDeactivate: [
|
|
20
|
+
canDeactivate: [CanDeactivateNgPageGuard]
|
|
21
21
|
}
|
|
22
22
|
];
|
|
23
23
|
|