@wavemaker/angular-codegen 12.0.0-next.1417157 → 12.0.0-next.1417166
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 +22 -0
- angular-codegen/angular-app/build-scripts/post-build.js +2 -0
- angular-codegen/angular-app/package-lock.json +4 -4
- angular-codegen/angular-app/package.json +2 -2
- angular-codegen/angular-app/src/main.ts +1 -33
- angular-codegen/package.json +1 -1
- angular-codegen/src/codegen.js +1 -1
- angular-codegen/src/gen-wm-project-properties-from-target.js +1 -1
- angular-codegen/src/update-angular-json.js +1 -1
- angular-codegen/src/wm-utils.js +1 -1
@@ -28,6 +28,7 @@
|
|
28
28
|
"tsConfig": "src/tsconfig.app.json",
|
29
29
|
"assets": [
|
30
30
|
"src/favicon.ico",
|
31
|
+
"src/favicon.png",
|
31
32
|
"src/assets",
|
32
33
|
{
|
33
34
|
"glob": "print.css",
|
@@ -43,6 +44,16 @@
|
|
43
44
|
"glob": "**/*",
|
44
45
|
"input": "node_modules/@wavemaker/app-ng-runtime/locales/",
|
45
46
|
"output": "/locales/"
|
47
|
+
},
|
48
|
+
{
|
49
|
+
"glob": "**/*",
|
50
|
+
"input": "src/servicedefs",
|
51
|
+
"output": "/servicedefs/"
|
52
|
+
},
|
53
|
+
{
|
54
|
+
"glob": "**/*",
|
55
|
+
"input": "src/resources",
|
56
|
+
"output": "/resources/"
|
46
57
|
}
|
47
58
|
],
|
48
59
|
"styles": [
|
@@ -193,11 +204,22 @@
|
|
193
204
|
"tsConfig": "src/tsconfig.app.json",
|
194
205
|
"assets": [
|
195
206
|
"src/favicon.ico",
|
207
|
+
"src/favicon.png",
|
196
208
|
"src/assets",
|
197
209
|
{
|
198
210
|
"glob": "print.css",
|
199
211
|
"input": "src/assets/",
|
200
212
|
"output": "."
|
213
|
+
},
|
214
|
+
{
|
215
|
+
"glob": "**/*",
|
216
|
+
"input": "src/servicedefs",
|
217
|
+
"output": "/servicedefs/"
|
218
|
+
},
|
219
|
+
{
|
220
|
+
"glob": "**/*",
|
221
|
+
"input": "src/resources",
|
222
|
+
"output": "/resources/"
|
201
223
|
}
|
202
224
|
],
|
203
225
|
"styles": [
|
@@ -294,6 +294,8 @@ const generateSha1 = (content) => {
|
|
294
294
|
|
295
295
|
//this is required to download all the assets
|
296
296
|
$('head').append(`<meta name="deployUrl" content=${deployUrl} />`);
|
297
|
+
$('script[src$="services/application/wmProperties.js"]').remove();
|
298
|
+
$('link[href$="favicon.png"]').attr('href', './ng-bundle/favicon.png');
|
297
299
|
|
298
300
|
const htmlContent = $.html();
|
299
301
|
await writeFile(`./dist/index.html`, htmlContent);
|
@@ -36,7 +36,7 @@
|
|
36
36
|
"@metrichor/jmespath": "0.3.1",
|
37
37
|
"@wavemaker/focus-trap": "1.0.1",
|
38
38
|
"@wavemaker/nvd3": "1.8.12",
|
39
|
-
"@wavemaker/variables": "12.0.0-next.
|
39
|
+
"@wavemaker/variables": "12.0.0-next.1417166",
|
40
40
|
"@ztree/ztree_v3": "3.5.48",
|
41
41
|
"angular-imask": "^7.6.1",
|
42
42
|
"angular2-websocket": "0.9.7",
|
@@ -7577,9 +7577,9 @@
|
|
7577
7577
|
}
|
7578
7578
|
},
|
7579
7579
|
"node_modules/@wavemaker/variables": {
|
7580
|
-
"version": "12.0.0-next.
|
7581
|
-
"resolved": "https://registry.npmjs.org/@wavemaker/variables/-/variables-12.0.0-next.
|
7582
|
-
"integrity": "sha512-
|
7580
|
+
"version": "12.0.0-next.1417166",
|
7581
|
+
"resolved": "https://registry.npmjs.org/@wavemaker/variables/-/variables-12.0.0-next.1417166.tgz",
|
7582
|
+
"integrity": "sha512-G4g2VgRn4kWlg1Aa1cdyWTHRjonvbXpbx5fk6KbZfsNjVy1e1IQTBcPXSbh4YLDmkUub+86xgjnponr1EwP4mw==",
|
7583
7583
|
"dependencies": {
|
7584
7584
|
"@metrichor/jmespath": "^0.3.1",
|
7585
7585
|
"he": "^1.2.0",
|
@@ -45,7 +45,7 @@
|
|
45
45
|
"@metrichor/jmespath": "0.3.1",
|
46
46
|
"@wavemaker/focus-trap": "1.0.1",
|
47
47
|
"@wavemaker/nvd3": "1.8.12",
|
48
|
-
"@wavemaker/variables": "12.0.0-next.
|
48
|
+
"@wavemaker/variables": "12.0.0-next.1417166",
|
49
49
|
"@ztree/ztree_v3": "3.5.48",
|
50
50
|
"angular-imask": "^7.6.1",
|
51
51
|
"angular2-websocket": "0.9.7",
|
@@ -70,7 +70,7 @@
|
|
70
70
|
"tslib": "2.4.1",
|
71
71
|
"x2js": "3.4.4",
|
72
72
|
"zone.js": "0.14.7",
|
73
|
-
"@wavemaker/app-ng-runtime": "12.0.0-next.
|
73
|
+
"@wavemaker/app-ng-runtime": "12.0.0-next.1417166"
|
74
74
|
},
|
75
75
|
"devDependencies": {
|
76
76
|
"@ampproject/rollup-plugin-closure-compiler": "^0.27.0",
|
@@ -39,41 +39,9 @@ let formatAcceptHeader = (languages: any) => {
|
|
39
39
|
return result.join(',');
|
40
40
|
}
|
41
41
|
WMAppProperties['preferredLanguage'] = formatAcceptHeader(navigator.languages);
|
42
|
-
WMAppProperties[fontConfig] = fontConfig;
|
42
|
+
WMAppProperties['fontConfig'] = fontConfig;
|
43
43
|
|
44
44
|
|
45
|
-
let formatAcceptHeader = (languages: any) => {
|
46
|
-
let result: string[] = [];
|
47
|
-
let addedLanguages = new Set<string>(); // To track already added languages
|
48
|
-
let qValue = 1.0;
|
49
|
-
|
50
|
-
languages.forEach((lang: any) => {
|
51
|
-
if (!addedLanguages.has(lang)) {
|
52
|
-
// Add the full language (e.g., en-US or en) if not already added
|
53
|
-
result.push(`${lang}${qValue === 1.0 ? '' : `;q=${qValue.toFixed(1)}`}`);
|
54
|
-
addedLanguages.add(lang);
|
55
|
-
// Decrease qValue for the next language
|
56
|
-
qValue = Math.max(0.1, qValue - 0.1); // Decrease qValue, minimum is 0.1
|
57
|
-
}
|
58
|
-
|
59
|
-
// If language has a region code (e.g., en-US), also add the base language (e.g., en)
|
60
|
-
if (lang.includes('-')) {
|
61
|
-
const baseLang = lang.split('-')[0];
|
62
|
-
if (!addedLanguages.has(baseLang)) {
|
63
|
-
result.push(`${baseLang};q=${qValue.toFixed(1)}`);
|
64
|
-
addedLanguages.add(baseLang);
|
65
|
-
|
66
|
-
// Decrease qValue for the next language
|
67
|
-
qValue = Math.max(0.1, qValue - 0.1);
|
68
|
-
}
|
69
|
-
}
|
70
|
-
});
|
71
|
-
|
72
|
-
return result.join(',');
|
73
|
-
}
|
74
|
-
|
75
|
-
WMAppProperties['preferredLanguage'] = formatAcceptHeader(navigator.languages);
|
76
|
-
|
77
45
|
(window as any)._WM_APP_PROPERTIES = WMAppProperties
|
78
46
|
initWmProjectProperties();
|
79
47
|
|
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"),{generateWmProjectPropertiesFromTarget:generateWmProjectPropertiesFromTarget,generateFontConfig:generateFontConfig,generateFavicon:generateFavicon}=require("./gen-wm-project-properties-from-target"),{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 c=await getPagesConfig(e),u=await getPrefabConfigsUsedInApp(g,e);let m={};for(const a of u.keys())m[a]=await getPrefabPartialsConfig(e,a);await Promise.all([generateIndexHtml(e,a,g,t,r),generateWmProjectProperties(g,a),generateWmProjectPropertiesFromTarget(a),generateFontConfig(a),generateFavicon(a),generateAppRoutes(e,g,l,c,s,a,o),generateLazyModuleRoutes(c,u,m,a),generatePrefabConfigFile(u,a),generateCodeGenModule(g,c,u,s,a),generateTSConfig(g,a),generateAppJS(e,a),generateAppVariables(e,a,n),generateComponents(e,g,l,c,s,u,a,m,n,o)]);const d=await isDynamicComponentUsedInApp(a),P={aot:!d,buildOptimizer:!d};await generateAppModule(g,a,d,r),await updateAngularJSON(e,a,g,p,c,u,t,P,m,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"),{generateWmProjectPropertiesFromTarget:generateWmProjectPropertiesFromTarget,generateFontConfig:generateFontConfig,generateFavicon:generateFavicon,generateServiceDefs:generateServiceDefs}=require("./gen-wm-project-properties-from-target"),{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 c=await getPagesConfig(e),u=await getPrefabConfigsUsedInApp(g,e);let m={};for(const a of u.keys())m[a]=await getPrefabPartialsConfig(e,a);await Promise.all([generateIndexHtml(e,a,g,t,r),generateWmProjectProperties(g,a),generateWmProjectPropertiesFromTarget(a),generateFontConfig(a),generateFavicon(a),generateServiceDefs(a),generateAppRoutes(e,g,l,c,s,a,o),generateLazyModuleRoutes(c,u,m,a),generatePrefabConfigFile(u,a),generateCodeGenModule(g,c,u,s,a),generateTSConfig(g,a),generateAppJS(e,a),generateAppVariables(e,a,n),generateComponents(e,g,l,c,s,u,a,m,n,o)]);const d=await isDynamicComponentUsedInApp(a),P={aot:!d,buildOptimizer:!d};await generateAppModule(g,a,d,r),await updateAngularJSON(e,a,g,p,c,u,t,P,m,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{copyFileSync:copyFileSync}=require("./wm-utils"),generateWmProjectPropertiesFromTarget=async e=>{await copyFileSync("./target/ui-resources/wmProperties.js",`${e}/src/app/wmProperties.js`)},generateFontConfig=async e=>{await copyFileSync("./target/ui-resources/font.config.js",`${e}/src/font.config.js`)},generateFavicon=async e=>{await copyFileSync("./target/ui-resources/favicon.png",`${e}/src/favicon.png`)};module.exports={generateWmProjectPropertiesFromTarget:generateWmProjectPropertiesFromTarget,generateFontConfig:generateFontConfig,generateFavicon:generateFavicon};
|
1
|
+
const{copyFileSync:copyFileSync,copyPrefabFiles:copyPrefabFiles,copyDirWithExclusionsSync:copyDirWithExclusionsSync}=require("./wm-utils"),generateWmProjectPropertiesFromTarget=async e=>{await copyFileSync("./target/ui-resources/wmProperties.js",`${e}/src/app/wmProperties.js`)},generateFontConfig=async e=>{await copyFileSync("./target/ui-resources/font.config.js",`${e}/src/font.config.js`)},generateFavicon=async e=>{await copyFileSync("./target/ui-resources/favicon.png",`${e}/src/favicon.png`)},generateServiceDefs=async e=>{await copyDirWithExclusionsSync("./target/ui-resources/servicedefs/",`${e}/src/servicedefs/`),await copyPrefabFiles("./target/ui-resources/prefabs/",`${e}`)};module.exports={generateWmProjectPropertiesFromTarget:generateWmProjectPropertiesFromTarget,generateFontConfig:generateFontConfig,generateFavicon:generateFavicon,generateServiceDefs:generateServiceDefs};
|
@@ -1 +1 @@
|
|
1
|
-
const cheerio=require("cheerio"),{writeFile:writeFile,readFileSync:readFileSync,readDir:readDir,isMobileProject:isMobileProject}=require("./wm-utils"),markScriptsAsLazy=e=>{const s=["./node_modules/d3/dist/d3.min.js","./node_modules/@wavemaker/nvd3/build/nv.d3.min.js","./node_modules/fullcalendar/main.min.js","./node_modules/summernote/dist/summernote-lite.min.js",global._WM_PACKAGE_PATH+"/scripts/datatable/datatable.js","./node_modules/jquery-ui/ui/widgets/sortable.js","./node_modules/jquery-ui/ui/widgets/droppable.js","./node_modules/jquery-ui/ui/widgets/resizable.js","./node_modules/hammerjs/hammer.min.js","./node_modules/iscroll/build/iscroll.js"];let t=e.replace(/^(\.\/)/,"").replace(/\//g,"-").replace(/@/g,"");
|
1
|
+
const cheerio=require("cheerio"),{writeFile:writeFile,readFileSync:readFileSync,readDir:readDir,isMobileProject:isMobileProject}=require("./wm-utils"),markScriptsAsLazy=e=>{const s=["./node_modules/d3/dist/d3.min.js","./node_modules/@wavemaker/nvd3/build/nv.d3.min.js","./node_modules/fullcalendar/main.min.js","./node_modules/summernote/dist/summernote-lite.min.js",global._WM_PACKAGE_PATH+"/scripts/datatable/datatable.js","./node_modules/jquery-ui/ui/widgets/sortable.js","./node_modules/jquery-ui/ui/widgets/droppable.js","./node_modules/jquery-ui/ui/widgets/resizable.js","./node_modules/hammerjs/hammer.min.js","./node_modules/iscroll/build/iscroll.js"];if("string"==typeof e){let t=e.replace(/^(\.\/)/,"").replace(/\//g,"-").replace(/@/g,"");if(t=t.substring(0,t.lastIndexOf(".")),t+="-NOHASH",s.includes(e))return{input:e,inject:!1,bundleName:t}}return e},setBuildCustomizations=async e=>{const s=e.projects["angular-app"].architect.build,t=s.options.scripts;s.options.scripts=t.map(e=>markScriptsAsLazy(e))},addToScripts=async(e,s,t=[],i=[])=>{const n=`${s}/angular.json`;let o=readFileSync(n,!0);const r=o.projects["angular-app"].architect.build;let a=r.options.scripts;const l=`${s+"/src/app/extensions"}`,c=await readDir(l);c.length&&i.push("./src/app/extensions/"+c[0]),r.options.scripts=[...t,...a,...i],await writeFile(n,JSON.stringify(o,null,4))},updateAngularJSON=async(e,s,t,i,n,o,r,a,l,c)=>{const d=`${s}/angular.json`;let u=readFileSync(d,!0);const p=u.projects["angular-app"].architect.build;r&&r.trim().length>0&&(p.options.deployUrl=r);const m=p.options.styles;if(isMobileProject(t)){const e=m.findIndex(e=>{let s="object"==typeof e;if(s){return(s?e.input:e).includes("themes")}return!1}),s=m[e].input;m[e].bundleName="wm-android-styles",m[e].input=m[e].input.replace(new RegExp("/[a-z]*/style.css$"),`/${i.activeTheme}/android/style.css`);const t=Object.assign({},m[e]);t.input=s.replace(new RegExp("/[a-z]*/style.css$"),`/${i.activeTheme}/ios/style.css`),t.bundleName="wm-ios-styles",m.push(t);const n=m.findIndex(e=>{let s="object"==typeof e;if(s){return"src/assets/app.css"===(s?e.input:e)}return!1});m[n].bundleName="wm-android-styles";const o=Object.assign({},m[n]);o.bundleName="wm-ios-styles",m.push(o)}m.forEach((e,s)=>{let t="object"==typeof e,n=t?e.input:e;!n.includes("themes")||n.includes("/android/")||n.includes("/ios/")||(t?m[s].input=n.replace(new RegExp("/[a-z]*/style.css$"),`/${i.activeTheme}/style.css`):m[s]=n.replace(new RegExp("/[a-z]*/style.css$"),`/${i.activeTheme}/style.css`))}),await setBuildCustomizations(u);const g=p.configurations.production;if(g.aot=!1!==a.aot,g.buildOptimizer=!1!==a.buildOptimizer,c){const e=p.options.assets;e.push("src/manifest.json"),e.push("src/wmsw-worker.js"),g.serviceWorker=!0,g.ngswConfigPath="ngsw-config.json",delete p.options.customWebpackConfig}await writeFile(d,JSON.stringify(u,null,4))};module.exports={updateAngularJSON:updateAngularJSON,addToScripts:addToScripts};
|
angular-codegen/src/wm-utils.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
const util=require("util"),fs=require("fs"),rimraf=require("rimraf"),decodeUriComponent=require("decode-uri-component"),upperFirst=require("lodash/upperFirst"),tar=require("tar-fs"),prettier=require("prettier"),js_beautify=require("js-beautify"),html_beautify=require("js-beautify").html,path=require("path"),stat=util.promisify(fs.stat),createDir=util.promisify(fs.mkdir),createReadStream=util.promisify(fs.createReadStream),readFile=util.promisify(fs.readFile),writeFile=util.promisify(fs.writeFile),readDir=util.promisify(fs.readdir),rename=util.promisify(fs.rename),searchFileByName=(e,t,r)=>{if(!fs.existsSync(e))return;fs.readdirSync(e).forEach(
|
1
|
+
const util=require("util"),fs=require("fs"),rimraf=require("rimraf"),decodeUriComponent=require("decode-uri-component"),upperFirst=require("lodash/upperFirst"),tar=require("tar-fs"),prettier=require("prettier"),js_beautify=require("js-beautify"),html_beautify=require("js-beautify").html,path=require("path"),stat=util.promisify(fs.stat),createDir=util.promisify(fs.mkdir),createReadStream=util.promisify(fs.createReadStream),readFile=util.promisify(fs.readFile),writeFile=util.promisify(fs.writeFile),readDir=util.promisify(fs.readdir),rename=util.promisify(fs.rename),searchFileByName=(e,t,r)=>{if(!fs.existsSync(e))return;fs.readdirSync(e).forEach(i=>{const a=path.join(e,i);fs.lstatSync(a).isDirectory()?searchFileByName(a,t,r):t.test(a)&&r(a)})},deleteResource=async e=>stat(e).then(()=>new Promise((t,r)=>{rimraf(e,()=>t())}),()=>Promise.resolve()),getComponentName=e=>`${upperFirst(e)}Component`,getComponentModuleName=e=>`${upperFirst(e)}Module`,decodeURIComponent=e=>decodeUriComponent(e.replace(/\+/g," ")),createTar=(e,t)=>new Promise((r,i)=>{tar.pack(e).pipe(fs.createWriteStream(t)).on("finish",r)}),extractTar=(e,t)=>new Promise((r,i)=>{fs.createReadStream(e).pipe(tar.extract(t)).on("finish",r)}),getWebAppPath=e=>`${e}/src/main/webapp`,getLayoutsConfigPath=e=>`${getWebAppPath(e)}/layouts/layouts-config.json`,getLayoutsDirPath=e=>`${getWebAppPath(e)}/layouts`,getPagesDirPath=e=>`${getWebAppPath(e)}/pages`,getPagesConfigPath=e=>`${getWebAppPath(e)}/pages/pages-config.json`,getPrefabsDirPath=e=>`${getWebAppPath(e)}/WEB-INF/prefabs`,getPrefabConfigPath=(e,t)=>`${getPrefabsDirPath(e)}/${t}/webapp/config.json`,getPrefabPagesDirPath=(e,t)=>`${getPrefabsDirPath(e)}/${t}/webapp/pages`,getSecurityConfigPath=e=>`${e}/services/securityService/designtime/intercept-urls.json`,getRolesConfigPath=e=>`${e}/services/securityService/designtime/roles.json`,getAuthInfoFilePath=e=>`${e}/services/securityService/designtime/auth-info.json`,getAppJsFilePath=e=>`${getWebAppPath(e)}/app.js`,getAppVariablesFilePath=e=>`${getWebAppPath(e)}/app.variables.json`,getThemesConfigPropertiesFilePath=e=>`${getWebAppPath(e)}/themes/themes-config.json`,getWmProjectPropertiesFilePath=e=>`${e}/.wmproject.properties`,getIndexHtmlPath=e=>`${getWebAppPath(e)}/index.html`;let codegenPath="./node_modules/@wavemaker/angular-codegen";const setCodegenPath=e=>{e&&(codegenPath=e)},getCodegenPath=()=>codegenPath,formatContents=(e="",t)=>"javascript"===t?js_beautify(e,{}):prettier.format(e,{semi:!1,parser:"typescript",tabWidth:4}),formatMarkup=(e="")=>html_beautify(e),isMobileProject=e=>"MOBILE"===e.platformType,isPrefabProject=e=>"PREFAB"===e.type,readFileSync=(e,t)=>{let r=fs.readFileSync(e);return t?JSON.parse(r):r};function copyFileSync(e,t){try{fs.copyFileSync(e,t)}catch(t){console.error(`Error copying ${e}: ${t.message}`)}}function copyPrefabFiles(e,t){const r=path.join(e);fs.readdirSync(r).filter(e=>fs.statSync(path.join(r,e)).isDirectory()).forEach(e=>{const i=path.join(r,e),a=path.join(i,"prefab-servicedefs.json");fs.existsSync(a)&©FileSync(a,path.join(t+"/src","serviceDefs",`${e}-prefab-servicedefs.json`));const s=path.join(i,"webapp"),o=path.join(t+"/resources",e);fs.existsSync(s)&©DirWithExclusionsSync(s,o,["resources"]);const n=path.join(s,"resources"),p=path.join(t+"/src","resources",e);fs.existsSync(n)&©DirWithExclusionsSync(n,p)})}const copyDirWithExclusionsSync=(e,t,r=[])=>{fs.existsSync(t)||fs.mkdirSync(t,{recursive:!0});let i=[];try{i=fs.readdirSync(e,{withFileTypes:!0})}catch(e){if("ENOENT"!==e.code)throw e}for(const a of i){const i=path.join(e,a.name),s=path.join(t,a.name);r.includes(a.name)||(a.isDirectory()?copyDirWithExclusionsSync(i,s,r):fs.copyFileSync(i,s))}},initExpressionParser=()=>{const e=require("../dependencies/expression-parser.cjs"),t=require("../dependencies/pipe-provider.cjs");e.setPipeProvider(new t.PipeProvider({},{get:()=>{}},{}))};module.exports={stat:stat,createDir:createDir,createReadStream:createReadStream,readFile:readFile,writeFile:writeFile,deleteResource:deleteResource,getComponentName:getComponentName,getComponentModuleName:getComponentModuleName,decodeURIComponent:decodeURIComponent,createTar:createTar,extractTar:extractTar,readDir:readDir,rename:rename,searchFileByName:searchFileByName,getWebAppPath:getWebAppPath,getLayoutsConfigPath:getLayoutsConfigPath,getLayoutsDirPath:getLayoutsDirPath,getPagesDirPath:getPagesDirPath,getPagesConfigPath:getPagesConfigPath,getPrefabsDirPath:getPrefabsDirPath,getPrefabConfigPath:getPrefabConfigPath,getPrefabPagesDirPath:getPrefabPagesDirPath,getSecurityConfigPath:getSecurityConfigPath,getRolesConfigPath:getRolesConfigPath,getAuthInfoFilePath:getAuthInfoFilePath,getAppJsFilePath:getAppJsFilePath,getAppVariablesFilePath:getAppVariablesFilePath,getWmProjectPropertiesFilePath:getWmProjectPropertiesFilePath,getThemesConfigPropertiesFilePath:getThemesConfigPropertiesFilePath,getIndexHtmlPath:getIndexHtmlPath,formatContents:formatContents,formatMarkup:formatMarkup,isMobileProject:isMobileProject,isPrefabProject:isPrefabProject,readFileSync:readFileSync,getCodegenPath:getCodegenPath,setCodegenPath:setCodegenPath,initExpressionParser:initExpressionParser,copyFileSync:copyFileSync,copyPrefabFiles:copyPrefabFiles,copyDirWithExclusionsSync:copyDirWithExclusionsSync};
|