@wavemaker/angular-codegen 11.7.0-next.42251 → 11.7.0-rc.5525
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 +35 -0
- angular-codegen/angular-app/build-scripts/post-build.js +17 -11
- angular-codegen/angular-app/package-lock.json +4104 -2435
- angular-codegen/angular-app/package.json +27 -27
- angular-codegen/angular-app/src/app/lazy-load-scripts.resolve.ts +2 -4
- angular-codegen/angular-app/src/assets/print.css +32 -0
- angular-codegen/build-angular-app.js +5 -4
- angular-codegen/dependencies/expression-parser.cjs.js +2511 -592
- angular-codegen/dependencies/pipe-provider.cjs.js +30481 -17343
- angular-codegen/dependencies/transpilation-mobile.cjs.js +17422 -10709
- angular-codegen/dependencies/transpilation-web.cjs.js +17422 -10709
- angular-codegen/download-packages.js +8 -1
- angular-codegen/package-lock.json +3 -4367
- 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 +0 -1
- angular-codegen/templates/app-routes.ts.hbs +6 -5
- angular-codegen/templates/layout/layout.module.ts.hbs +1 -1
- angular-codegen/templates/page/page.module.ts.hbs +2 -2
- angular-codegen/templates/partial/partial.module.ts.hbs +0 -1
- angular-codegen/templates/prefab/prefab.module.ts.hbs +0 -1
| @@ -29,6 +29,11 @@ | |
| 29 29 | 
             
                                    "assets": [
         | 
| 30 30 | 
             
                                        "src/favicon.ico",
         | 
| 31 31 | 
             
                                        "src/assets",
         | 
| 32 | 
            +
                                        {
         | 
| 33 | 
            +
                                            "glob": "print.css",
         | 
| 34 | 
            +
                                            "input": "src/assets/",
         | 
| 35 | 
            +
                                            "output": "."
         | 
| 36 | 
            +
                                        },
         | 
| 32 37 | 
             
                                        {
         | 
| 33 38 | 
             
                                            "glob": "**/*",
         | 
| 34 39 | 
             
                                            "input": "libraries/locales/",
         | 
| @@ -187,7 +192,12 @@ | |
| 187 192 | 
             
                                    "tsConfig": "src/tsconfig.app.json",
         | 
| 188 193 | 
             
                                    "assets": [
         | 
| 189 194 | 
             
                                        "src/favicon.ico",
         | 
| 190 | 
            -
                                        "src/assets"
         | 
| 195 | 
            +
                                        "src/assets",
         | 
| 196 | 
            +
                                        {
         | 
| 197 | 
            +
                                            "glob": "print.css",
         | 
| 198 | 
            +
                                            "input": "src/assets/",
         | 
| 199 | 
            +
                                            "output": "."
         | 
| 200 | 
            +
                                        }
         | 
| 191 201 | 
             
                                    ],
         | 
| 192 202 | 
             
                                    "styles": [
         | 
| 193 203 | 
             
                                        "src/styles.css",
         | 
| @@ -0,0 +1,35 @@ | |
| 1 | 
            +
            const { spawnSync } = require('child_process');
         | 
| 2 | 
            +
            const path = require('path');
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            let processArgs = process.argv;
         | 
| 5 | 
            +
            if (processArgs.findIndex(arg => arg.startsWith('--max-old-space-size')) !== -1) {
         | 
| 6 | 
            +
                process.env.NODE_OPTIONS = processArgs.pop();
         | 
| 7 | 
            +
            }
         | 
| 8 | 
            +
            const args = processArgs.slice(2);
         | 
| 9 | 
            +
            const ngBuildArgs = ['build', ...args];
         | 
| 10 | 
            +
            console.log("Build params - ", ngBuildArgs);
         | 
| 11 | 
            +
            console.log("Setting node options - ", process.env.NODE_OPTIONS);
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            //Trigger angular build with the passed params
         | 
| 14 | 
            +
            const ngPath = path.resolve(process.cwd(), 'node_modules', '.bin', "ng");
         | 
| 15 | 
            +
            const ngBuildProcess = spawnSync(ngPath, ngBuildArgs, {stdio: 'inherit', shell: true});
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            if (ngBuildProcess.status === 0) {
         | 
| 18 | 
            +
                console.log('ng build completed successfully!');
         | 
| 19 | 
            +
            } else {
         | 
| 20 | 
            +
                // TODO: JS heap out of memory error handling
         | 
| 21 | 
            +
                console.error('Error during ng build:', ngBuildProcess.error || ngBuildProcess.stderr);
         | 
| 22 | 
            +
                process.exit(1);
         | 
| 23 | 
            +
            }
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            const ngPostBuildArgs = ['build-scripts/post-build.js', ...args];
         | 
| 26 | 
            +
            console.log("Post build params - ", ngPostBuildArgs);
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            const ngPostBuildProcess = spawnSync('node', ngPostBuildArgs, { stdio: 'inherit' });
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            if (ngPostBuildProcess.status === 0) {
         | 
| 31 | 
            +
                console.log('ng post build completed successfully!');
         | 
| 32 | 
            +
            } else {
         | 
| 33 | 
            +
                console.error('Error during ng build:', ngPostBuildProcess.error || ngPostBuildProcess.stderr);
         | 
| 34 | 
            +
                process.exit(1);
         | 
| 35 | 
            +
            }
         | 
| @@ -76,7 +76,7 @@ const setMobileProjectType = (angularJson) => { | |
| 76 76 | 
             
            const addMobileSpecificStyles = async (deployUrl) => {
         | 
| 77 77 | 
             
                if (isDevBuild) {
         | 
| 78 78 | 
             
                    $("body").append(
         | 
| 79 | 
            -
                        `<script type="text/javascript" defer="true" src="${deployUrl} | 
| 79 | 
            +
                        `<script type="text/javascript" defer="true" src="${deployUrl}wm-android-styles.js"></script>`
         | 
| 80 80 | 
             
                    );
         | 
| 81 81 | 
             
                }
         | 
| 82 82 |  | 
| @@ -84,12 +84,12 @@ const addMobileSpecificStyles = async (deployUrl) => { | |
| 84 84 | 
             
                    let hash = await generateHash(`${opPath}/wm-android-styles.css`);
         | 
| 85 85 | 
             
                    copyMobileCssFiles(hash, 'wm-android-styles');
         | 
| 86 86 | 
             
                    $("head").append(
         | 
| 87 | 
            -
                        `<link rel="stylesheet" theme="wmtheme" href="${deployUrl} | 
| 87 | 
            +
                        `<link rel="stylesheet" theme="wmtheme" href="${deployUrl}wm-android-styles.${hash}.css" >`
         | 
| 88 88 | 
             
                    );
         | 
| 89 89 | 
             
                    hash = await generateHash(`${opPath}/wm-ios-styles.css`);
         | 
| 90 90 | 
             
                    copyMobileCssFiles(hash, 'wm-ios-styles');
         | 
| 91 91 | 
             
                    $("head").append(
         | 
| 92 | 
            -
                        `<link rel="stylesheet" theme="wmtheme" href="${deployUrl} | 
| 92 | 
            +
                        `<link rel="stylesheet" theme="wmtheme" href="${deployUrl}wm-ios-styles.${hash}.css" >`
         | 
| 93 93 | 
             
                    );
         | 
| 94 94 | 
             
                }
         | 
| 95 95 | 
             
            }
         | 
| @@ -108,8 +108,10 @@ const addScriptForWMStylesPath = (wm_styles_path) => { | |
| 108 108 | 
             
                        );
         | 
| 109 109 | 
             
                    }
         | 
| 110 110 | 
             
                }
         | 
| 111 | 
            +
            }
         | 
| 112 | 
            +
            const addPrintStylesPath = (print_styles_path) => {
         | 
| 111 113 | 
             
                $("head").append(
         | 
| 112 | 
            -
                    `<link rel="stylesheet" type="text/css" media="print" href=" | 
| 114 | 
            +
                    `<link rel="stylesheet" type="text/css" media="print" href="${print_styles_path}"/>`
         | 
| 113 115 | 
             
                );
         | 
| 114 116 | 
             
            }
         | 
| 115 117 |  | 
| @@ -153,7 +155,7 @@ const getUpdatedFileName = (deployUrl, url, updatedFileNames) => { | |
| 153 155 | 
             
                }
         | 
| 154 156 |  | 
| 155 157 | 
             
                if (absUrl in updatedFileNames) {
         | 
| 156 | 
            -
                    return `${deployUrl} | 
| 158 | 
            +
                    return `${deployUrl}${updatedFileNames[absUrl]}` // add the leading '/' back
         | 
| 157 159 | 
             
                }
         | 
| 158 160 | 
             
                return `${deployUrl}${url}`;
         | 
| 159 161 | 
             
            }
         | 
| @@ -195,6 +197,8 @@ const getIconPath = (iconPath) => { | |
| 195 197 | 
             
            const updatePwaAssets = (deployUrl, updatedFileNames, updatedFileHashes) => {
         | 
| 196 198 | 
             
                const ngswPath = './dist/ngsw.json';
         | 
| 197 199 | 
             
                const manifestPath = './dist/manifest.json';
         | 
| 200 | 
            +
                //this is always from server in case of pwa. Need to fix this to use cdnurl from runtime/build config
         | 
| 201 | 
            +
                deployUrl = deployUrl === "_cdnUrl_" ? 'ng-bundle/' : deployUrl;
         | 
| 198 202 |  | 
| 199 203 | 
             
                // copy service worker and its config to root directory
         | 
| 200 204 | 
             
                fs.copyFileSync('./dist/ng-bundle/ngsw-worker.js', './dist/ngsw-worker.js');
         | 
| @@ -206,7 +210,7 @@ const updatePwaAssets = (deployUrl, updatedFileNames, updatedFileHashes) => { | |
| 206 210 | 
             
                const manifest = JSON.parse(fs.readFileSync(manifestPath).toString());
         | 
| 207 211 | 
             
                const updatedManifest = {
         | 
| 208 212 | 
             
                    ...manifest,
         | 
| 209 | 
            -
                    icons: manifest.icons.map(icon => ({ ...icon, src: `${deployUrl} | 
| 213 | 
            +
                    icons: manifest.icons.map(icon => ({ ...icon, src: `${deployUrl}${getIconPath(icon.src)}` })),
         | 
| 210 214 | 
             
                }
         | 
| 211 215 | 
             
                const manifestContent = JSON.stringify(updatedManifest, null, 4);
         | 
| 212 216 | 
             
                fs.writeFileSync(manifestPath, manifestContent);
         | 
| @@ -244,9 +248,6 @@ const generateSha1 = (content) => { | |
| 244 248 | 
             
                    const angularJson = require(`${process.cwd()}/angular.json`);
         | 
| 245 249 | 
             
                    const build = angularJson['projects']['angular-app']['architect']['build'];
         | 
| 246 250 | 
             
                    let deployUrl = args['deploy-url'] || build['options']['deployUrl'];
         | 
| 247 | 
            -
                    if (deployUrl.endsWith('/')) {
         | 
| 248 | 
            -
                        deployUrl = deployUrl.slice(0, deployUrl.length - 1);
         | 
| 249 | 
            -
                    }
         | 
| 250 251 |  | 
| 251 252 | 
             
                    const contents = await readFile(`./dist/index.html`, `utf8`);
         | 
| 252 253 | 
             
                    $ = cheerio.load(contents);
         | 
| @@ -278,17 +279,22 @@ const generateSha1 = (content) => { | |
| 278 279 | 
             
                        await addMobileSpecificStyles(deployUrl);
         | 
| 279 280 | 
             
                    } else {
         | 
| 280 281 | 
             
                        if (isDevBuild) {
         | 
| 281 | 
            -
                            wm_styles_path = `${deployUrl} | 
| 282 | 
            +
                            wm_styles_path = `${deployUrl}wm-styles.js`;
         | 
| 282 283 | 
             
                        } else {
         | 
| 283 284 | 
             
                            const fileName = 'wm-styles';
         | 
| 284 285 | 
             
                            const hash = await generateHash(`${opPath}/${fileName}.css`);
         | 
| 285 286 | 
             
                            copyCssFiles(hash, updatedFilenames);
         | 
| 286 287 | 
             
                            const updatedFileName = `${fileName}.${hash}.css`
         | 
| 287 | 
            -
                            wm_styles_path = `${deployUrl} | 
| 288 | 
            +
                            wm_styles_path = `${deployUrl}${updatedFileName}`;
         | 
| 288 289 | 
             
                        }
         | 
| 289 290 | 
             
                    }
         | 
| 290 291 |  | 
| 291 292 | 
             
                    addScriptForWMStylesPath(wm_styles_path);
         | 
| 293 | 
            +
                    addPrintStylesPath(`${deployUrl}print.css`);
         | 
| 294 | 
            +
             | 
| 295 | 
            +
                    //this is required to download all the assets
         | 
| 296 | 
            +
                    $('head').append(`<meta name="deployUrl" content=${deployUrl} />`);
         | 
| 297 | 
            +
             | 
| 292 298 | 
             
                    const htmlContent = $.html();
         | 
| 293 299 | 
             
                    await writeFile(`./dist/index.html`, htmlContent);
         | 
| 294 300 |  |