@wavemaker/angular-codegen 11.14.2-rc.6311 → 11.15.0-rc.245

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/angular-codegen",
3
- "version": "11.14.2-rc.6311",
3
+ "version": "11.15.0-rc.245",
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.14.2-rc.6311",
18
+ "@wavemaker/angular-app": "11.15.0-rc.245",
19
19
  "archiver": "^7.0.1",
20
20
  "cheerio": "1.0.0-rc.12",
21
21
  "decode-uri-component": "^0.2.0",
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"),{generateCodeGenModule:generateCodeGenModule,generateAppConfig:generateAppConfig}=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,generateEslintConfig:generateEslintConfig}=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,p),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),generateEslintConfig(e,a),generateFavicon(e,a),generateServiceDefs(e,a),generateAppRoutes(e,p,u,m,l,a,o,null!==l),generateLazyModuleRoutes(m,d,P,a),generatePrefabConfigFile(d,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),C={aot:!f,buildOptimizer:!f};await generateAppConfig(a,r,c,o,null!==l),await updateAngularJSON(e,a,p,s,m,d,t,C,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};
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"),{generateCodeGenModule:generateCodeGenModule,generateAppConfig:generateAppConfig}=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,generateEslintConfig:generateEslintConfig}=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,p),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),generateEslintConfig(e,a),generateFavicon(e,a),generateServiceDefs(e,a),generateAppRoutes(e,p,u,m,l,a,o,null!==l),generateLazyModuleRoutes(m,d,P,a),generatePrefabConfigFile(d,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),C={aot:!f,buildOptimizer:!f};await generateAppConfig(a,r,c,o,null!==l,n),await updateAngularJSON(e,a,p,s,m,d,t,C,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};
@@ -1 +1 @@
1
- const _get=require("lodash/get"),{writeFile:writeFile,isMobileProject:isMobileProject}=require("./wm-utils"),{getHandlebarTemplate:getHandlebarTemplate}=require("./handlebar-helpers"),generateCodeGenModule=async(e,a,r,t,n)=>{const o=getHandlebarTemplate("app-codegen-module")({wmProjectProperties:e,pagesConfig:a,prefabConfigMap:r,xsrfTokenHeaderName:_get(t,"csrfConfig.headerName","X-WM-XSRF-TOKEN")});await writeFile(`${n}/src/app/app-codegen.module.ts`,o)},generateAppConfig=async(e,a,r,t,n)=>{const o=getHandlebarTemplate("app-config-ts")({isPwa:a,xsrfTokenHeaderName:_get(r,"csrfConfig.headerName","X-WM-XSRF-TOKEN"),enableSpa:t,enableSecurity:n});await writeFile(`${e}/src/app/app.config.ts`,o)};module.exports={generateCodeGenModule:generateCodeGenModule,generateAppConfig:generateAppConfig};
1
+ const _get=require("lodash/get"),{writeFile:writeFile,isMobileProject:isMobileProject}=require("./wm-utils"),{getHandlebarTemplate:getHandlebarTemplate}=require("./handlebar-helpers"),generateCodeGenModule=async(e,a,r,t,n)=>{const o=getHandlebarTemplate("app-codegen-module")({wmProjectProperties:e,pagesConfig:a,prefabConfigMap:r,xsrfTokenHeaderName:_get(t,"csrfConfig.headerName","X-WM-XSRF-TOKEN")});await writeFile(`${n}/src/app/app-codegen.module.ts`,o)},generateAppConfig=async(e,a,r,t,n,o)=>{const i=getHandlebarTemplate("app-config-ts")({isPwa:a,xsrfTokenHeaderName:_get(r,"csrfConfig.headerName","X-WM-XSRF-TOKEN"),enableSpa:t,enableSecurity:n,isCSP:o});await writeFile(`${e}/src/app/app.config.ts`,i)};module.exports={generateCodeGenModule:generateCodeGenModule,generateAppConfig:generateAppConfig};
@@ -1 +1 @@
1
- const{deleteResource:deleteResource,createDir:createDir,readDir:readDir,getWebAppPath:getWebAppPath,readFileSync:readFileSync,isPrismProject:isPrismProject}=require("./wm-utils"),{getOverridePackageJson:getOverridePackageJson}=require("./project-meta"),mergeWith=require("lodash/mergeWith"),util=require("util"),fs=require("fs"),{executeSyncCmd:executeSyncCmd}=require("../build-util"),writeFile=util.promisify(fs.writeFile),ncp=util.promisify(require("ncp").ncp),DEFAULT_ESLINT_DEV_DEPENDENCIES={"eslint-plugin-regex":"1.10.0","@html-eslint/parser":"0.41.0","@html-eslint/eslint-plugin":"0.41.0","yaml-eslint-parser":"1.3.0","any-eslint-parser":"1.0.1","eslint-html-parser":"1.0.1","eslint-plugin-html":"8.1.2","jsonc-eslint-parser":"2.1.0"},updatePackageJson=async(e,a,r)=>{const i=`${a}/package.json`;let t=readFileSync(i,!0);t.name=r.name,t.version=r.version,t.devDependencies={...t.devDependencies,...DEFAULT_ESLINT_DEV_DEPENDENCIES},-1!==(t=await mergePackageJsonWithOverrideJson(e,t)).dependencies["@wavemaker/variables"].indexOf("yalc")&&executeSyncCmd(`cd ${a} && yalc add @wavemaker/variables`,null,`Adding yalc variables dependency to ${a}`),-1!==t.dependencies["@wavemaker/foundation-css"].indexOf("yalc")&&executeSyncCmd(`cd ${a} && yalc add @wavemaker/foundation-css`,null,`Adding yalc foundation-css dependency to ${a}`),-1!==t.dependencies["@wavemaker/custom-widgets-m3"].indexOf("yalc")&&executeSyncCmd(`cd ${a} && yalc add @wavemaker/custom-widgets-m3`,null,`Adding yalc custom-widgets-m3 dependency to ${a}`),await writeFile(i,JSON.stringify(t,null,4))},createAppSkeleton=async(e,a,r,i)=>{await deleteResource(a),await createDir(a,{recursive:!0}),await ncp(r+"/angular-app",a),await updatePackageJson(e,a,i);const t=getWebAppPath(e),n=isPrismProject(i)?"design-tokens":"themes";try{if((await readDir(`${t}/${n}`)).length){const e=`${t}/${n}/`;await ncp(e,`${a}/src/assets/${n}`)}}catch(e){if("ENOENT"!==e.code||!isPrismProject(i))throw console.error("Failed to load themes",e.message),e;console.warn("No design-tokens folder found for Prism project.")}(await readDir(`${t}/extensions`)).length&&await ncp(`${t}/extensions`,`${a}/src/app/extensions`),await ncp(`${t}/app.css`,`${a}/src/assets/app.css`),await ncp(`${t}/resources`,`${a}/resources`),await ncp(`${r}/.npmrc`,`${a}/.npmrc`)},mergePackageJsonWithOverrideJson=async(e,a)=>{try{const r=await getOverridePackageJson(e);if(r)return mergeWith({},a,r)}catch(e){console.log(`Error in merging the package.json with overrider-package.json: ${e.message}`)}return a};module.exports={createAppSkeleton:createAppSkeleton};
1
+ const{deleteResource:deleteResource,createDir:createDir,readDir:readDir,getWebAppPath:getWebAppPath,readFileSync:readFileSync,isPrismProject:isPrismProject,mergePackageJsonWithOverrideJson:mergePackageJsonWithOverrideJson}=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,i)=>{const r=`${a}/package.json`;let s=readFileSync(r,!0);s.name=i.name,s.version=i.version,-1!==(s=await mergePackageJsonWithOverrideJson(e,s)).dependencies["@wavemaker/variables"].indexOf("yalc")&&executeSyncCmd(`cd ${a} && yalc add @wavemaker/variables`,null,`Adding yalc variables dependency to ${a}`),-1!==s.dependencies["@wavemaker/foundation-css"].indexOf("yalc")&&executeSyncCmd(`cd ${a} && yalc add @wavemaker/foundation-css`,null,`Adding yalc foundation-css dependency to ${a}`),-1!==s.dependencies["@wavemaker/custom-widgets-m3"].indexOf("yalc")&&executeSyncCmd(`cd ${a} && yalc add @wavemaker/custom-widgets-m3`,null,`Adding yalc custom-widgets-m3 dependency to ${a}`),await writeFile(r,JSON.stringify(s,null,4))},createAppSkeleton=async(e,a,i,r)=>{await deleteResource(a),await createDir(a,{recursive:!0}),await ncp(i+"/angular-app",a),await updatePackageJson(e,a,r);const s=getWebAppPath(e),t=isPrismProject(r)?"design-tokens":"themes";try{if((await readDir(`${s}/${t}`)).length){const e=`${s}/${t}/`;await ncp(e,`${a}/src/assets/${t}`)}}catch(e){if("ENOENT"!==e.code||!isPrismProject(r))throw console.error("Failed to load themes",e.message),e;console.warn("No design-tokens folder found for Prism project.")}(await readDir(`${s}/extensions`)).length&&await ncp(`${s}/extensions`,`${a}/src/app/extensions`),await ncp(`${s}/app.css`,`${a}/src/assets/app.css`),await ncp(`${s}/resources`,`${a}/resources`),await ncp(`${i}/.npmrc`,`${a}/.npmrc`)};module.exports={createAppSkeleton:createAppSkeleton};
@@ -1 +1 @@
1
- const{createDir:createDir,writeFile:writeFile,isPrefabProject:isPrefabProject,getLayoutsDirPath:getLayoutsDirPath,getPagesDirPath:getPagesDirPath,formatContents:formatContents,getComponentName:getComponentName,getComponentModuleName:getComponentModuleName,getPrefabPagesDirPath:getPrefabPagesDirPath}=require("./wm-utils"),fs=require("fs"),cheerio=require("cheerio"),{getPageContents:getPageContents,getCustomWidgetPageContents:getCustomWidgetPageContents}=require("./pages-util"),{getHandlebarTemplate:getHandlebarTemplate,safeString:safeString}=require("./handlebar-helpers"),{generateCustomWidgetConfigFile:generateCustomWidgetConfigFile}=require("./gen-customwidget-config");let customWidgetConfigMap=new Map;const writeComponentHtmlFile=async(e,t,a)=>{const n=`${a}/${e}.component.html`;await writeFile(n,t.string)},writeComponentCssFile=async(e,t,a)=>{const n=`${a}/${e}.component.css`;await writeFile(n,t.string)},writeComponentVariablesFile=async(e,t,a,n)=>{let o=getHandlebarTemplate(e)({variables:a});await writeFile(`${n}/${t}.component.variables.ts`,formatContents(o))},writeComponentConfigFile=async(e,t,a,n)=>{let o=getHandlebarTemplate(e)({config:a});await writeFile(`${n}/${t}.component.config.ts`,formatContents(o))},writeComponentJsFile=async(e,t,a,n)=>{const o=getHandlebarTemplate(e)({jsContent:a});await writeFile(`${n}/${t}.component.script.js`,formatContents(o,"javascript"))},writeComponentExpressionsFile=async(e,t,a,n)=>{const o=getHandlebarTemplate(e)({expressions:a});await writeFile(`${n}/${t}.component.expressions.ts`,formatContents(o,"javascript"))},writeComponentTsFile=async(e,t,a,n,o,r,i=[],s=[],m=[])=>{let p=getHandlebarTemplate(e)({name:t,prefabName:a,componentName:getComponentName(t),enableSpa:o,layoutPages:safeString(JSON.stringify(r)),requiredWMComponents:i,requireCustomComponents:s,requiredPartials:m});await writeFile(`${n}/${t}.component.ts`,p)},writePagePartialModuleTsFile=async(e,t,a,n,o,r,i=!1,s,m,p,g)=>{let l=getHandlebarTemplate(e)({name:t,componentName:getComponentName(t),moduleName:getComponentModuleName(t),requiredPartials:n,requiredPrefabs:o,requiredWMComponents:r,hasCustomElement:i,insidePrefab:!!s,pagesConfig:m,securityConfig:p,requireCustomComponents:g});await writeFile(`${a}/${t}.module.ts`,l)},writePrefabModuleTsFile=async(e,t,a,n=!1,o)=>{let r=getHandlebarTemplate("prefab-module-ts")({name:e,componentName:getComponentName(e),moduleName:getComponentModuleName(e),requiredPartials:o,requiredWMComponents:a,hasCustomElement:n});await writeFile(`${t}/${e}.module.ts`,r)},generateComponent=async(e,t,a,n,o,r,i,s,m,p=!1,g,l)=>{await createDir(e,{recursive:!0});const{markup:c,styles:d,variables:u,script:f,expressions:C}=n,w=[writeComponentHtmlFile(t,safeString(c),e),writeComponentTsFile(o,t,a,e,s,m,n.requiredWMComponents,g,l)];return p||writeComponentExpressionsFile("component-expressions",t,safeString(C),e),i||w.concat([writeComponentCssFile(t,safeString(d),e),writeComponentVariablesFile("component-variables",t,safeString(u),e),writeComponentJsFile(r,t,safeString(f),e)]),Promise.all(w)},findRequiredPartials=e=>{const t={};return e("[partialContainer]").map((t,a)=>e(a).attr("content")).toArray().map(e=>({type:"PARTIAL",name:e.trim()})).filter(e=>!t[e.name]&&(t[e.name]=!0))},findRequiredPrefabs=e=>{const t={};return e("[wmPrefab]").map((t,a)=>e(a).attr("prefabname")).toArray().map(e=>({type:"PREFAB",name:e.trim()})).filter(e=>!t[e.name]&&(t[e.name]=!0))},findRequiredCustomWidgets=e=>{const t={};return e("[customWidgetContainer]").map((t,a)=>e(a).attr("widgetname")).toArray().map(e=>({type:"CUSTOMWIDGET",name:e.trim()})).filter(e=>!t[e.name]&&(t[e.name]=!0))},generateCustomWidgetsComponent=async(e,t,a,n)=>{let o,r,i,s;{if(s=`${t}/src/app/customwidgets/${e}`,o="customwidget-component-ts",r="customwidget-component-script",i="customwidget-module-ts",fs.existsSync(`${s}/${e}.component.ts`))return;const a=require("../dependencies/custom-widgets-bundle.cjs.js"),m=await getCustomWidgetPageContents(a,e);n.set(e,m.config);try{const t=cheerio.load(m.markup),a=findRequiredPartials(t),n=(findRequiredPrefabs(t),findRequiredCustomWidgets(t)||void 0);await generateComponent(s,e,void 0,m,"customwidget-component-ts","customwidget-component-script",!1,void 0,void 0,!0,n,a)}catch(e){throw console.log("failed in "+pageName),e}}};convertHTMLStructure=(e=>{let t=e.replace(/<div\b[^>]*\bwmWidgetContainer\b[^>]*\bcustomWidgetContainer\b[^>]*\bwidgetname="([^"]+)"[^>]*\bname="([^"]+)"([^>]*)>(.*?)<\/div>/gs,(e,t,a,n)=>{let o;return`<${o=`app-custom-${t}`} wmWidgetContainer #wm_custom_widget${a.match(/\d+/)[0]}="wmWidgetContainer" widgetname="${t}" name="${a}" ${n}></${o}>`});return t=modifyFormFields(t)}),modifyFormFields=(e=>{if(/wmWidgetContainer/.test(e)&&/#formWidget/.test(e)){return e.replace(/<div\s+wmWidgetContainer\s+customWidgetContainer(.*?)<\/div>/g,(e,t)=>{let a=t.match(/widgetname=(\w+)/),n=a?a[1]:"div";return`<app-custom-${n} wmWidgetContainer ${t.replace(/customWidgetContainer/,"").trim()}></app-custom-${n}>`})}return e});const generatePagePartialComponent=async(e,t,a,n,o,r,i,s,m,p,g,l)=>{let c,d,u,f;if("PAGE"===n?(u=`${o}/src/app/pages/${a}`,c="page-component-ts",d="page-component-script"):"LAYOUT"===n?(u=`${o}/src/app/layouts/${a}`,c="layout-component-ts",f=p.filter(e=>"PAGE"===e.type&&e.layout===a).map(e=>e.name)):(u=r?`${o}/partials/${a}`:`${o}/src/app/partials/${a}`,c="partial-component-ts",d="partial-component-script"),fs.existsSync(`${u}/${a}.component.ts`))return;let C=`${e}/${a}`;r&&(C=`${getPrefabPagesDirPath(i,r)}/${a}`);const w=await getPageContents(t,C,`${a}`,a,n,void 0,s);try{const e=cheerio.load(w.markup),p=findRequiredPartials(e),g=(findRequiredPrefabs(e),findRequiredCustomWidgets(e)||void 0);for(const e of p){const a=getPagesDirPath(i);await generatePagePartialComponent(a,t,e.name,e.type,o,r,i,s,m)}for(const e of g)await generateCustomWidgetsComponent(e.name,o,0,customWidgetConfigMap);g.length&&await generateCustomWidgetConfigFile(customWidgetConfigMap,o),e("[wmPrefab][prefabname]").length>0&&w.requiredWMComponents.push({name:"PrefabDirective",from:"@wm/runtime/base",as:"PrefabLoader"}),w.markup=convertHTMLStructure(w.markup),await generateComponent(u,a,void 0,w,c,d,"LAYOUT"===n,m,f,void 0,g,p)}catch(e){throw console.log("failed in "+a),e}},generateComponents=async(e,t,a,n,o,r,i,s,m,p)=>{const g=getPagesDirPath(e);customWidgetConfigMap=new Map;for(const a of r.keys()){const n="__self__"===a?`${g}/Main`:`${getPrefabPagesDirPath(e,a)}/Main`,o=await getPageContents(t,n,"Main",a,"PREFAB",r.get(a),m),c=`${i}/src/app/prefabs/${a}`,d=cheerio.load(o.markup),u=findRequiredCustomWidgets(d)||void 0,f=findRequiredPartials(d);d("[wmPrefab][prefabname]").length>0&&o.requiredWMComponents.push({name:"PrefabDirective",from:"@wm/runtime/base",as:"PrefabLoader"}),await generateComponent(c,a,a,o,"prefab-component-ts","prefab-component-script",!1,p,void 0,!1,u,f);const C=s[a];for(var l=0;l<C.length;l++)await generatePagePartialComponent(g,t,C[l].name,C[l].type,c,a,e,m,p)}if(!isPrefabProject(t)){if(p){const r=getLayoutsDirPath(e);for(let s of a)await generateLayoutComponent(r,t,s.name,s.type,i,s.prefabName,e,m,p,n,o)}for(let a of n)await generatePagePartialComponent(g,t,a.name,a.type,i,a.prefabName,e,m,p)}},generateLayoutComponent=async(e,t,a,n,o,r,i,s,m,p,g)=>{await generatePagePartialComponent(e,t,a,n,o,r,i,s,m,p,g)};module.exports={generateComponents:generateComponents,generatePagePartialComponent:generatePagePartialComponent};
1
+ const{createDir:createDir,writeFile:writeFile,isPrefabProject:isPrefabProject,getLayoutsDirPath:getLayoutsDirPath,getPagesDirPath:getPagesDirPath,formatContents:formatContents,getComponentName:getComponentName,getComponentModuleName:getComponentModuleName,getPrefabPagesDirPath:getPrefabPagesDirPath}=require("./wm-utils"),fs=require("fs"),cheerio=require("cheerio"),{getPageContents:getPageContents,getCustomWidgetPageContents:getCustomWidgetPageContents}=require("./pages-util"),{getHandlebarTemplate:getHandlebarTemplate,safeString:safeString}=require("./handlebar-helpers"),{generateCustomWidgetConfigFile:generateCustomWidgetConfigFile}=require("./gen-customwidget-config");let customWidgetConfigMap=new Map;const writeComponentHtmlFile=async(e,t,a)=>{const n=`${a}/${e}.component.html`;await writeFile(n,t.string)},writeComponentCssFile=async(e,t,a)=>{const n=`${a}/${e}.component.css`;await writeFile(n,t.string)},writeComponentVariablesFile=async(e,t,a,n)=>{let o=getHandlebarTemplate(e)({variables:a});await writeFile(`${n}/${t}.component.variables.ts`,formatContents(o))},writeComponentConfigFile=async(e,t,a,n)=>{let o=getHandlebarTemplate(e)({config:a});await writeFile(`${n}/${t}.component.config.ts`,formatContents(o))},writeComponentJsFile=async(e,t,a,n)=>{const o=getHandlebarTemplate(e)({jsContent:a});await writeFile(`${n}/${t}.component.script.js`,formatContents(o,"javascript"))},writeComponentExpressionsFile=async(e,t,a,n)=>{const o=getHandlebarTemplate(e)({expressions:a});await writeFile(`${n}/${t}.component.expressions.ts`,formatContents(o,"javascript"))},writeComponentTsFile=async(e,t,a,n,o,r,i=[],s=[],m=[])=>{let p=getHandlebarTemplate(e)({name:t,prefabName:a,componentName:getComponentName(t),enableSpa:o,layoutPages:safeString(JSON.stringify(r)),requiredWMComponents:i,requireCustomComponents:s,requiredPartials:m});await writeFile(`${n}/${t}.component.ts`,p)},writePagePartialModuleTsFile=async(e,t,a,n,o,r,i=!1,s,m,p,g)=>{let l=getHandlebarTemplate(e)({name:t,componentName:getComponentName(t),moduleName:getComponentModuleName(t),requiredPartials:n,requiredPrefabs:o,requiredWMComponents:r,hasCustomElement:i,insidePrefab:!!s,pagesConfig:m,securityConfig:p,requireCustomComponents:g});await writeFile(`${a}/${t}.module.ts`,l)},writePrefabModuleTsFile=async(e,t,a,n=!1,o)=>{let r=getHandlebarTemplate("prefab-module-ts")({name:e,componentName:getComponentName(e),moduleName:getComponentModuleName(e),requiredPartials:o,requiredWMComponents:a,hasCustomElement:n});await writeFile(`${t}/${e}.module.ts`,r)},generateComponent=async(e,t,a,n,o,r,i,s,m,p=!1,g,l)=>{await createDir(e,{recursive:!0});const{markup:c,styles:d,variables:u,script:f,expressions:C}=n,w=[writeComponentHtmlFile(t,safeString(c),e),writeComponentTsFile(o,t,a,e,s,m,n.requiredWMComponents,g,l)];return p||writeComponentExpressionsFile("component-expressions",t,safeString(C),e),i||w.concat([writeComponentCssFile(t,safeString(d),e),writeComponentVariablesFile("component-variables",t,safeString(u),e),writeComponentJsFile(r,t,safeString(f),e)]),Promise.all(w)},findRequiredPartials=e=>{const t={};return e("[partialContainer]").map((t,a)=>e(a).attr("content")).toArray().map(e=>({type:"PARTIAL",name:e.trim()})).filter(e=>!t[e.name]&&(t[e.name]=!0))},findRequiredPrefabs=e=>{const t={};return e("[wmPrefab]").map((t,a)=>e(a).attr("prefabname")).toArray().map(e=>({type:"PREFAB",name:e.trim()})).filter(e=>!t[e.name]&&(t[e.name]=!0))},findRequiredCustomWidgets=e=>{const t={};return e("[customWidgetContainer]").map((t,a)=>e(a).attr("widgetname")).toArray().map(e=>({type:"CUSTOMWIDGET",name:e.trim()})).filter(e=>!t[e.name]&&(t[e.name]=!0))},generateCustomWidgetsComponent=async(e,t,a,n)=>{let o,r,i,s;{if(s=`${t}/src/app/customwidgets/${e}`,o="customwidget-component-ts",r="customwidget-component-script",i="customwidget-module-ts",fs.existsSync(`${s}/${e}.component.ts`))return;const a=require("../dependencies/custom-widgets-bundle.cjs.js"),m=await getCustomWidgetPageContents(a,e);n.set(e,m.config);try{const t=cheerio.load(m.markup),a=findRequiredPartials(t),n=(findRequiredPrefabs(t),findRequiredCustomWidgets(t)||void 0);await generateComponent(s,e,void 0,m,"customwidget-component-ts","customwidget-component-script",!1,void 0,void 0,!0,n,a)}catch(e){throw console.log("failed in "+pageName),e}}};convertHTMLStructure=(e=>{let t=e.replace(/<div\b(?=[^>]*\bwmWidgetContainer\b)(?=[^>]*\bcustomWidgetContainer\b)[^>]*>(.*?)<\/div>/gs,e=>{$=cheerio.load(e,{xmlMode:!0,decodeEntities:!1});const t=$("div").first(),a=t.attr("widgetname"),n=`app-custom-${a}`;return`<${n} wmWidgetContainer widgetname="${a}" ${getOtherAttributes(t,["wmWidgetContainer","customWidgetContainer","widgetname"])}></${n}>`});return t=modifyFormFields(t)}),modifyFormFields=(e=>{if(/wmWidgetContainer/.test(e)&&/#formWidget/.test(e)){return e.replace(/<div\s+wmWidgetContainer\s+customWidgetContainer(.*?)<\/div>/g,(e,t)=>{let a=t.match(/widgetname=(\w+)/),n=a?a[1]:"div";return`<app-custom-${n} wmWidgetContainer ${t.replace(/customWidgetContainer/,"").trim()}></app-custom-${n}>`})}return e}),getOtherAttributes=((e,t=[])=>{const a=e.get(0).attribs;return Object.entries(a).filter(([e])=>!t.includes(e)).map(([e,t])=>`${e}="${t}"`).join(" ")});const generatePagePartialComponent=async(e,t,a,n,o,r,i,s,m,p,g,l)=>{let c,d,u,f;if("PAGE"===n?(u=`${o}/src/app/pages/${a}`,c="page-component-ts",d="page-component-script"):"LAYOUT"===n?(u=`${o}/src/app/layouts/${a}`,c="layout-component-ts",f=p.filter(e=>"PAGE"===e.type&&e.layout===a).map(e=>e.name)):(u=r?`${o}/partials/${a}`:`${o}/src/app/partials/${a}`,c="partial-component-ts",d="partial-component-script"),fs.existsSync(`${u}/${a}.component.ts`))return;let C=`${e}/${a}`;r&&(C=`${getPrefabPagesDirPath(i,r)}/${a}`);const w=await getPageContents(t,C,`${a}`,a,n,void 0,s);try{const e=cheerio.load(w.markup),p=findRequiredPartials(e),g=(findRequiredPrefabs(e),findRequiredCustomWidgets(e)||void 0);for(const e of p){const a=getPagesDirPath(i);await generatePagePartialComponent(a,t,e.name,e.type,o,r,i,s,m)}for(const e of g)await generateCustomWidgetsComponent(e.name,o,0,customWidgetConfigMap);g.length&&await generateCustomWidgetConfigFile(customWidgetConfigMap,o),e("[wmPrefab][prefabname]").length>0&&w.requiredWMComponents.push({name:"PrefabDirective",from:"@wm/runtime/base",as:"PrefabLoader"}),w.markup=convertHTMLStructure(w.markup),await generateComponent(u,a,void 0,w,c,d,"LAYOUT"===n,m,f,void 0,g,p)}catch(e){throw console.log("failed in "+a),e}},generateComponents=async(e,t,a,n,o,r,i,s,m,p)=>{const g=getPagesDirPath(e);customWidgetConfigMap=new Map;for(const a of r.keys()){const n="__self__"===a?`${g}/Main`:`${getPrefabPagesDirPath(e,a)}/Main`,o=await getPageContents(t,n,"Main",a,"PREFAB",r.get(a),m),c=`${i}/src/app/prefabs/${a}`,d=cheerio.load(o.markup),u=findRequiredCustomWidgets(d)||void 0,f=findRequiredPartials(d);d("[wmPrefab][prefabname]").length>0&&o.requiredWMComponents.push({name:"PrefabDirective",from:"@wm/runtime/base",as:"PrefabLoader"}),await generateComponent(c,a,a,o,"prefab-component-ts","prefab-component-script",!1,p,void 0,!1,u,f);const C=s[a];for(var l=0;l<C.length;l++)await generatePagePartialComponent(g,t,C[l].name,C[l].type,c,a,e,m,p)}if(!isPrefabProject(t)){if(p){const r=getLayoutsDirPath(e);for(let s of a)await generateLayoutComponent(r,t,s.name,s.type,i,s.prefabName,e,m,p,n,o)}for(let a of n)await generatePagePartialComponent(g,t,a.name,a.type,i,a.prefabName,e,m,p)}},generateLayoutComponent=async(e,t,a,n,o,r,i,s,m,p,g)=>{await generatePagePartialComponent(e,t,a,n,o,r,i,s,m,p,g)};module.exports={generateComponents:generateComponents,generatePagePartialComponent:generatePagePartialComponent};
@@ -1 +1 @@
1
- const{deleteResource:deleteResource,createDir:createDir,writeFile:writeFile,readFile:readFile,getPagesDirPath:getPagesDirPath,getLayoutsDirPath:getLayoutsDirPath}=require("./wm-utils"),{getPagesConfig:getPagesConfig}=require("./project-meta"),util=require("util"),cheerio=require("cheerio"),{safeString:safeString}=require("./handlebar-helpers"),{formatMarkup:formatMarkup}=require("./wm-utils"),path=require("path"),ncp=util.promisify(require("ncp").ncp),createIntermediateAppSkeleton=async(e,t)=>{await deleteResource(t),await createDir(t,{recursive:!0}),await ncp(e,t,{filter:t=>!path.relative(e,t).startsWith("target")}),await createDir(`${t}/target/ui-resources`,{recursive:!0}),console.log("copying ui-resources into destination"),await ncp(`${e}/target/ui-resources`,`${t}/target/ui-resources`)},generateLayoutsAndPages=async e=>{const t=getLayoutsDirPath(e);await createDir(t,{recursive:!0});const a=await getPagesConfig(e),r=getPagesDirPath(e),n=[],i=[];for(let e of a)if("PAGE"===e.type){const a=await readFile(`${r}/${e.name}/${e.name}.html`,"utf8"),o=cheerio.load(a),s=o("wm-page"),l=o("wm-page-content");["wm-alertdialog","wm-confirmdialog","wm-dialog","wm-iframedialog","wm-pagedialog","wm-logindialog"].forEach(e=>{const t=o(e);t.length&&l.append(t)});const u=await getLayoutMarkup(o,s,l,n);u.markup&&(n.push({name:u.name,layoutInfo:u.layoutInfo}),i.push({name:u.name,type:"LAYOUT"}),await createDir(`${t}/${u.name}`,{recursive:!0}),await writeFile(`${t}/${u.name}/${u.name}.html`,u.markup)),e.layout=u.name,l.attr("spa","true"),l.attr("columnwidth","12"),l.attr(s.attr()),l.attr("layout",u.name);const c=formatMarkup(safeString(l.toString()).string);await writeFile(`${r}/${e.name}/${e.name}.html`,c)}await writeFile(`${r}/pages-config.json`,JSON.stringify(a,null,4)),await writeFile(`${t}/layouts-config.json`,JSON.stringify(i,null,4))},getLayoutMarkup=async(e,t,a,r)=>{const n=getLayoutInfo(e);let i=getLayoutName(n,r);if(i)return{name:i};{const o=r.length+1;i=`layout_${o}`,n.leftNav&&e("wm-left-panel").attr("spa","true");const s=e("<wm-router-outlet>");s.attr("columnwidth",a.attr().columnwidth),e("wm-page-content").replaceWith(s);const l=e("<wm-layout>");return l.attr("name",`layout${o}`),l.append(t.children()),{name:i,markup:formatMarkup(safeString(l.toString()).string),layoutInfo:n}}},getLayoutInfo=e=>{const t={header:e("wm-header"),topNav:e("wm-top-nav"),leftNav:e("wm-left-panel"),rightNav:e("wm-right-panel"),footer:e("wm-footer")},a={};for(const e in t)if(t.hasOwnProperty(e)&&t[e].length){const r=t[e].attr().content,n=r&&r.startsWith("bind:"),i=t[e].children().length;a[e]={content:r,hasBindExpr:n,hasChildren:i}}return a},getLayoutName=(e,t)=>{for(const a of t)if(Object.keys(a.layoutInfo).sort().join(",")===Object.keys(e).sort().join(",")){if(Object.keys(e).every(t=>e[t].content===a.layoutInfo[t].content&&!(e[t].hasBindExpr||a.layoutInfo[t].hasBindExpr||e[t].hasChildren||a.layoutInfo[t].hasChildren)))return a.name}};module.exports={createIntermediateAppSkeleton:createIntermediateAppSkeleton,generateLayoutsAndPages:generateLayoutsAndPages};
1
+ const{deleteResource:deleteResource,createDir:createDir,writeFile:writeFile,readFile:readFile,getPagesDirPath:getPagesDirPath,getLayoutsDirPath:getLayoutsDirPath}=require("./wm-utils"),{getPagesConfig:getPagesConfig}=require("./project-meta"),util=require("util"),cheerio=require("cheerio"),{safeString:safeString}=require("./handlebar-helpers"),{formatMarkup:formatMarkup}=require("./wm-utils"),path=require("path"),ncp=util.promisify(require("ncp").ncp),createIntermediateAppSkeleton=async(e,t)=>{await deleteResource(t),await createDir(t,{recursive:!0}),await ncp(e,t,{filter:t=>!path.relative(e,t).startsWith("target")}),await createDir(`${t}/target/ui-resources`,{recursive:!0}),console.log("copying ui-resources into destination"),await ncp(`${e}/target/ui-resources`,`${t}/target/ui-resources`)},generateLayoutsAndPages=async e=>{const t=getLayoutsDirPath(e);await createDir(t,{recursive:!0});const a=await getPagesConfig(e),r=getPagesDirPath(e),i=[],n=[];for(let e of a)if("PAGE"===e.type){const a=await readFile(`${r}/${e.name}/${e.name}.html`,"utf8"),o=cheerio.load(a),s=o("wm-page"),u=o("wm-page-content");["wm-alertdialog","wm-confirmdialog","wm-dialog","wm-iframedialog","wm-pagedialog","wm-logindialog"].forEach(e=>{const t=o(e);t.length&&u.append(t)});const l=await getLayoutMarkup(o,s,u,i);l.markup&&(i.push({name:l.name,layoutInfo:l.layoutInfo}),n.push({name:l.name,type:"LAYOUT"}),await createDir(`${t}/${l.name}`,{recursive:!0}),await writeFile(`${t}/${l.name}/${l.name}.html`,l.markup)),e.layout=l.name,u.attr("spa","true"),u.attr("columnwidth","12"),u.attr(s.attr()),u.attr("layout",l.name);const c=formatMarkup(safeString(u.toString()).string);await writeFile(`${r}/${e.name}/${e.name}.html`,c)}await writeFile(`${r}/pages-config.json`,JSON.stringify(a,null,4)),await writeFile(`${t}/layouts-config.json`,JSON.stringify(n,null,4))},getLayoutMarkup=async(e,t,a,r)=>{const i=getLayoutInfo(e);let n=getLayoutName(i,r);if(n)return{name:n};{const o=r.length+1;n=`layout_${o}`,i.leftNav&&e("wm-left-panel").attr("spa","true");const s=e("<wm-router-outlet>");s.attr("columnwidth",a.attr().columnwidth),e("wm-page-content").replaceWith(s);const u=e("<wm-layout>");return u.attr("name",`layout${o}`),u.append(t.children()),{name:n,markup:formatMarkup(safeString(u.toString()).string),layoutInfo:i}}},getLayoutInfo=e=>{const t={header:e("wm-header"),topNav:e("wm-top-nav"),leftNav:e("wm-left-panel"),rightNav:e("wm-right-panel"),footer:e("wm-footer")},a={};for(const e in t){const r=t[e];if(r.length){const t=r.attr(),i={};Object.keys(t||{}).forEach(e=>{i[e]=t[e]}),a[e]={attributes:i,hasBindExpr:Object.values(i).some(e=>"string"==typeof e&&e.startsWith("bind:")),hasChildren:r.children().length}}}return a},getLayoutName=(e,t)=>{for(const a of t){if(Object.keys(a.layoutInfo).sort().join(",")===Object.keys(e).sort().join(",")&&Object.keys(e).every(t=>{const r=e[t],i=a.layoutInfo[t];if(r.hasBindExpr||i.hasBindExpr||r.hasChildren||i.hasChildren)return!1;const n=r.attributes||{},o=i.attributes||{};return Object.keys(n).length===Object.keys(o).length&&Object.keys(n).every(e=>n[e]===o[e])}))return a.name}return null};module.exports={createIntermediateAppSkeleton:createIntermediateAppSkeleton,generateLayoutsAndPages:generateLayoutsAndPages};
@@ -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,getLegacyWmProjectPropertiesFilePath:getLegacyWmProjectPropertiesFilePath,readFileSync:readFileSync,existsFileSync:existsFileSync,isPrismProject:isPrismProject}=require("./wm-utils"),{join:join}=require("path"),getWmProjectProperties=async e=>{const t=getWmProjectPropertiesFilePath(e);try{const r=require(t);if(r.WMAppProperties)return r.WMAppProperties;throw new Error("WMAppProperties not found in the provided file.")}catch(t){return console.log("Using legacy wmproperties"),getLegacyWmProjectProperties(e)}},getLegacyWmProjectProperties=async e=>{let t=await readFile(getLegacyWmProjectPropertiesFilePath(e),"utf8");const r={};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=>r[e["@_key"]]=e.text?e.text:""),r},getOverridePackageJson=async e=>existsFileSync(`${e}/build-src/package-override.json`)?readFileSync(`${e}/build-src/package-override.json`,!0):null,getThemesConfigProperties=async(e,t)=>{if(isPrismProject(t))return{};{const t=await readFile(getThemesConfigPropertiesFilePath(e),"utf8");return JSON.parse(t)}},getSecurityConfig=async e=>stat(getAuthInfoFilePath(e)).then(()=>new Promise(async(t,r)=>{let a=null;JSON.parse(await readFile(getAuthInfoFilePath(e))).enforceSecurity&&(a=JSON.parse(await readFile(getSecurityConfigPath(e),"utf8"))),t(a)}),()=>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 r=await readFile(`${getPrefabPagesDirPath(e,t)}/pages-config.json`,"utf8");return r=JSON.parse(r).filter(e=>"partial"===e.type.toLowerCase()||"template"===e.type.toLowerCase()).map(e=>({...e,prefabName:t}))},getPrefabConfigsUsedInApp=async(e,t)=>{const r=new Map,a=getPrefabsDirPath(t);return stat(a).then(()=>new Promise(async(i,o)=>{for(const e of await readDir(a))(await stat(join(a,e))).isDirectory()&&r.set(e,await readFile(getPrefabConfigPath(t,e)));isPrefabProject(e)&&r.set("__self__",await readFile(`${t}/src/main/webapp/config.json`)),i(r)}),()=>Promise.resolve(r))};module.exports={getWmProjectProperties:getWmProjectProperties,getOverridePackageJson:getOverridePackageJson,getThemesConfigProperties:getThemesConfigProperties,getSecurityConfig:getSecurityConfig,getLayoutsConfig:getLayoutsConfig,getPagesConfig:getPagesConfig,getPrefabConfigsUsedInApp:getPrefabConfigsUsedInApp,getPrefabPartialsConfig:getPrefabPartialsConfig,getAuthInfoConfig:getAuthInfoConfig,getLegacyWmProjectProperties:getLegacyWmProjectProperties};
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,getLegacyWmProjectPropertiesFilePath:getLegacyWmProjectPropertiesFilePath,isPrismProject:isPrismProject}=require("./wm-utils"),{join:join}=require("path"),getWmProjectProperties=async e=>{const t=getWmProjectPropertiesFilePath(e);try{const r=require(t);if(r.WMAppProperties)return r.WMAppProperties;throw new Error("WMAppProperties not found in the provided file.")}catch(t){return console.log("Using legacy wmproperties"),getLegacyWmProjectProperties(e)}},getLegacyWmProjectProperties=async e=>{let t=await readFile(getLegacyWmProjectPropertiesFilePath(e),"utf8");const r={};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=>r[e["@_key"]]=e.text?e.text:""),r},getThemesConfigProperties=async(e,t)=>{if(isPrismProject(t))return{};{const t=await readFile(getThemesConfigPropertiesFilePath(e),"utf8");return JSON.parse(t)}},getSecurityConfig=async e=>stat(getAuthInfoFilePath(e)).then(()=>new Promise(async(t,r)=>{let a=null;JSON.parse(await readFile(getAuthInfoFilePath(e))).enforceSecurity&&(a=JSON.parse(await readFile(getSecurityConfigPath(e),"utf8"))),t(a)}),()=>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 r=await readFile(`${getPrefabPagesDirPath(e,t)}/pages-config.json`,"utf8");return r=JSON.parse(r).filter(e=>"partial"===e.type.toLowerCase()||"template"===e.type.toLowerCase()).map(e=>({...e,prefabName:t}))},getPrefabConfigsUsedInApp=async(e,t)=>{const r=new Map,a=getPrefabsDirPath(t);return stat(a).then(()=>new Promise(async(i,o)=>{for(const e of await readDir(a))(await stat(join(a,e))).isDirectory()&&r.set(e,await readFile(getPrefabConfigPath(t,e)));isPrefabProject(e)&&r.set("__self__",await readFile(`${t}/src/main/webapp/config.json`)),i(r)}),()=>Promise.resolve(r))};module.exports={getWmProjectProperties:getWmProjectProperties,getThemesConfigProperties:getThemesConfigProperties,getSecurityConfig:getSecurityConfig,getLayoutsConfig:getLayoutsConfig,getPagesConfig:getPagesConfig,getPrefabConfigsUsedInApp:getPrefabConfigsUsedInApp,getPrefabPartialsConfig:getPrefabPartialsConfig,getAuthInfoConfig:getAuthInfoConfig,getLegacyWmProjectProperties:getLegacyWmProjectProperties};
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"),defaultEslintConfig=require("./eslintrc_config"),mergeWith=require("lodash/mergeWith"),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 s=path.join(e,i);fs.lstatSync(s).isDirectory()?searchFileByName(s,t,r):t.test(s)&&r(s)})},deleteResource=async e=>stat(e).then(()=>new Promise((t,r)=>{rimraf(e,()=>t())}),()=>Promise.resolve()),getComponentName=e=>`${e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}Component`,getComponentModuleName=e=>`${e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}Module`,getSafeObjectKey=e=>/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(e)?e:`'${e}'`,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}/target/ui-resources/wmProperties.js`,getLegacyWmProjectPropertiesFilePath=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 existsFileSync(e){try{return fs.existsSync(e)}catch(t){return console.error(`Error in checking file exist ${e}: ${t.message}`),!1}}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),s=path.join(i,"prefab-servicedefs.json");fs.existsSync(s)&&copyFileSync(s,path.join(t+"/src","servicedefs",`${e}-prefab-servicedefs.json`));const a=path.join(i,"webapp"),o=path.join(t+"/resources",e);fs.existsSync(a)&&copyDirWithExclusionsSync(a,o,["resources"]);const n=path.join(a,"resources"),c=path.join(t+"/resources",e+"/resources");fs.existsSync(n)&&copyDirWithExclusionsSync(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 s of i){const i=path.join(e,s.name),a=path.join(t,s.name);r.includes(s.name)||(s.isDirectory()?copyDirWithExclusionsSync(i,a,r):fs.copyFileSync(i,a))}},initExpressionParser=()=>{const e=require("../dependencies/expression-parser.cjs"),t=require("../dependencies/pipe-provider.cjs");e.setPipeProvider(new t.PipeProvider({},{get:()=>{}},{}))},DESIGN_TOKENS_DIR_NAME="design-tokens",APP_OVERRIDE_CSS_PATH="design-tokens/app.override.css",OVERRIDE_TOKENS_PATH="design-tokens/overrides",updateEslintConfig=async(e,t)=>{let r,i;try{existsFileSync(path.join(e,"build-src","eslintrc-override.js"))?(r=require(path.join(e,"build-src","eslintrc-override.js")),(i=mergeWith({},defaultEslintConfig,r)).extends&&!i.extends.includes("eslint:recommended")&&i.extends.push("eslint:recommended"),Object.prototype.hasOwnProperty.call(i,"extraLintPaths")&&delete i.extraLintPaths,Object.prototype.hasOwnProperty.call(i,"ignoreCssPatterns")&&delete i.ignoreCssPatterns):i=mergeWith({},defaultEslintConfig),await fs.writeFileSync(path.join(t,".eslintrc.js"),`const config = ${JSON.stringify(i,null,4)};\n\nmodule.exports = config;`)}catch(e){console.log(`Error in updating eslint config: ${e.message}`)}};module.exports={stat:stat,createDir:createDir,createReadStream:createReadStream,readFile:readFile,writeFile:writeFile,deleteResource:deleteResource,getComponentName:getComponentName,getComponentModuleName:getComponentModuleName,getSafeObjectKey:getSafeObjectKey,decodeURIComponent:decodeURIComponent,createTar:createTar,extractTar:extractTar,readDir:readDir,rename:rename,searchFileByName:searchFileByName,updateEslintConfig:updateEslintConfig,existsFileSync:existsFileSync,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,DESIGN_TOKENS_DIR_NAME:"design-tokens",APP_OVERRIDE_CSS_PATH:APP_OVERRIDE_CSS_PATH,OVERRIDE_TOKENS_PATH:OVERRIDE_TOKENS_PATH,getLegacyWmProjectPropertiesFilePath:getLegacyWmProjectPropertiesFilePath};
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"),defaultEslintConfig=require("./eslintrc_config"),mergeWith=require("lodash/mergeWith"),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 s=path.join(e,i);fs.lstatSync(s).isDirectory()?searchFileByName(s,t,r):t.test(s)&&r(s)})},deleteResource=async e=>stat(e).then(()=>new Promise((t,r)=>{rimraf(e,()=>t())}),()=>Promise.resolve()),getComponentName=e=>`${e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}Component`,getComponentModuleName=e=>`${e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}Module`,getSafeObjectKey=e=>/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(e)?e:`'${e}'`,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}/target/ui-resources/wmProperties.js`,getLegacyWmProjectPropertiesFilePath=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 existsFileSync(e){try{return fs.existsSync(e)}catch(t){return console.error(`Error in checking file exist ${e}: ${t.message}`),!1}}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),s=path.join(i,"prefab-servicedefs.json");fs.existsSync(s)&&copyFileSync(s,path.join(t+"/src","servicedefs",`${e}-prefab-servicedefs.json`));const a=path.join(i,"webapp"),o=path.join(t+"/resources",e);fs.existsSync(a)&&copyDirWithExclusionsSync(a,o,["resources"]);const n=path.join(a,"resources"),c=path.join(t+"/resources",e+"/resources");fs.existsSync(n)&&copyDirWithExclusionsSync(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 s of i){const i=path.join(e,s.name),a=path.join(t,s.name);r.includes(s.name)||(s.isDirectory()?copyDirWithExclusionsSync(i,a,r):fs.copyFileSync(i,a))}},initExpressionParser=()=>{const e=require("../dependencies/expression-parser.cjs"),t=require("../dependencies/pipe-provider.cjs");e.setPipeProvider(new t.PipeProvider({},{get:()=>{}},{}))},DESIGN_TOKENS_DIR_NAME="design-tokens",APP_OVERRIDE_CSS_PATH="design-tokens/app.override.css",OVERRIDE_TOKENS_PATH="design-tokens/overrides",updateEslintConfig=async(e,t)=>{let r,i;try{existsFileSync(path.join(e,"build-src","eslintrc-override.js"))?(r=require(path.join(e,"build-src","eslintrc-override.js")),(i=mergeWith({},defaultEslintConfig,r)).extends&&!i.extends.includes("eslint:recommended")&&i.extends.push("eslint:recommended"),Object.prototype.hasOwnProperty.call(i,"extraLintPaths")&&delete i.extraLintPaths,Object.prototype.hasOwnProperty.call(i,"ignoreCssPatterns")&&delete i.ignoreCssPatterns):i=mergeWith({},defaultEslintConfig),await fs.writeFileSync(path.join(t,".eslintrc.js"),`const config = ${JSON.stringify(i,null,4)};\n\nmodule.exports = config;`)}catch(e){console.log(`Error in updating eslint config: ${e.message}`)}},getOverridePackageJson=async e=>existsFileSync(`${e=-1!==e.indexOf("target")?e.split("/target")[0]:e}/build-src/package-override.json`)?readFileSync(`${e}/build-src/package-override.json`,!0):null,mergePackageJsonWithOverrideJson=async(e,t)=>{try{const r={"eslint-plugin-regex":"1.10.0","@html-eslint/parser":"0.41.0","@html-eslint/eslint-plugin":"0.41.0","yaml-eslint-parser":"1.3.0","any-eslint-parser":"1.0.1","eslint-html-parser":"1.0.1","eslint-plugin-html":"8.1.2","jsonc-eslint-parser":"2.1.0"},i=await getOverridePackageJson(e);if(t.devDependencies={...t.devDependencies,...r},i)return mergeWith({},t,i)}catch(e){console.log(`Error in merging the package.json with overrider-package.json: ${e.message}`)}return t};module.exports={stat:stat,createDir:createDir,createReadStream:createReadStream,readFile:readFile,writeFile:writeFile,deleteResource:deleteResource,getComponentName:getComponentName,getComponentModuleName:getComponentModuleName,getSafeObjectKey:getSafeObjectKey,decodeURIComponent:decodeURIComponent,createTar:createTar,extractTar:extractTar,readDir:readDir,rename:rename,searchFileByName:searchFileByName,updateEslintConfig:updateEslintConfig,existsFileSync:existsFileSync,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,DESIGN_TOKENS_DIR_NAME:"design-tokens",APP_OVERRIDE_CSS_PATH:APP_OVERRIDE_CSS_PATH,OVERRIDE_TOKENS_PATH:OVERRIDE_TOKENS_PATH,getLegacyWmProjectPropertiesFilePath:getLegacyWmProjectPropertiesFilePath,mergePackageJsonWithOverrideJson:mergePackageJsonWithOverrideJson};
@@ -66,7 +66,13 @@ import { initPrefabConfig } from "./prefabs/prefab-config";
66
66
  {{#if isPwa}}
67
67
  import { ServiceWorkerModule } from "@angular/service-worker";
68
68
  import { environment } from "../environments/environment";
69
- {{/if}}
69
+ {{/if}}
70
+ {{#if isCSP}}
71
+ import { ɵSharedStylesHost } from '@angular/platform-browser';
72
+ import { ɵDomRendererFactory2 } from "@angular/platform-browser";
73
+ import { WMDomSharedStylesHost } from "@wm/runtime/base";
74
+ import { WMDomRendererFactory2 } from "@wm/runtime/base";
75
+ {{/if}}
70
76
 
71
77
  const wmModules = [
72
78
  importProvidersFrom(
@@ -168,6 +174,10 @@ export const appConfig: ApplicationConfig = {
168
174
  { provide: AbstractNavigationService, useClass: NavigationServiceImpl },
169
175
  { provide: AbstractToasterService, useClass: ToasterServiceImpl },
170
176
  { provide: DynamicComponentRefProvider, useClass: DynamicComponentRefProviderService, },
177
+ {{#if isCSP}}
178
+ { provide: ɵSharedStylesHost, useClass: WMDomSharedStylesHost },
179
+ { provide: ɵDomRendererFactory2, useClass: WMDomRendererFactory2 },
180
+ {{/if}}
171
181
  PageDirective,
172
182
  AppManagerService,
173
183
  DatePipe,
@@ -1,11 +0,0 @@
1
-
2
- // this file will be generated from the wavemaker application sources
3
-
4
- import { NgModule } from '@angular/core';
5
-
6
- @NgModule({})
7
- export class AppCodeGenModule {
8
-
9
- }
10
-
11
- export const xsrfHeaderName = 'X-WM-XSRF-TOKEN';
@@ -1,36 +0,0 @@
1
- const win = window as any;
2
-
3
- win.Application = win.angular = {};
4
-
5
- const deprecatedAngularJSFeature = (feature) => {
6
- return () => {
7
- console.warn(`DEPRECATED AngularJS 1.x feature: ${feature}`);
8
- return win.angular;
9
- };
10
- };
11
-
12
- [
13
- 'module',
14
- 'controller',
15
- 'directive',
16
- 'run',
17
- 'config',
18
- 'service',
19
- 'factory',
20
- 'constant',
21
- 'value',
22
- 'animation',
23
- 'component',
24
- 'decorator',
25
- 'filter',
26
- 'info',
27
- 'provider',
28
- 'requires',
29
- '$watch'
30
- ].forEach(feature => {
31
- win.angular[feature] = deprecatedAngularJSFeature(feature);
32
- });
33
-
34
-
35
-
36
- export const patchAngular1Deprecations = () => {};