Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular 9 build Generating ES5 bundles for differential loading... An unhandled exception occurred :

Tags:

angular

Yesterday I upgraded my project to Angular v9. I'm getting the below error when running ng build.

Generating ES5 bundles for differential loading... An unhandled exception occurred: C:\workspace\project\ui\pages-pages-module-es2015.js: Property left of ForInStatement expected node to be of a type ["VariableDeclaration","LVal"] but instead got null See "C:\Users\sayoo\AppData\Local\Temp\ng-BaceZi\angular-errors.log" for further details.

Please find below the files : package.json

{
  "name": "ui",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "start:ar": "ng serve --configuration=ar-IQ",
    "build": "ng build",
    "build:ar": "ng build --configuration=ar-IQ",
    "test": "ng test",
    "test:coverage": "ng test --code-coverage",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "int-extract": "ng xi18n --output-path src/locale",
    "postinstall": "ngcc"
  },
  "private": true,
  "dependencies": {
    "@agm/core": "^1.0.0-beta.7",
    "@angular/animations": "^9.0.5",
    "@angular/common": "~9.0.5",
    "@angular/compiler": "~9.0.5",
    "@angular/core": "~9.0.5",
    "@angular/forms": "~9.0.5",
    "@angular/localize": "~9.0.5",
    "@angular/platform-browser": "~9.0.5",
    "@angular/platform-browser-dynamic": "~9.0.5",
    "@angular/router": "~9.0.5",
    "@fullcalendar/angular": "^4.2.1",
    "@fullcalendar/bootstrap": "^4.2.0",
    "@fullcalendar/core": "^4.2.0",
    "@fullcalendar/daygrid": "^4.2.0",
    "@fullcalendar/interaction": "^4.2.0",
    "@fullcalendar/timegrid": "^4.2.0",
    "@iplab/ngx-file-upload": "^1.4.0",
    "@ng-bootstrap/ng-bootstrap": "^5.1.0",
    "@ng-select/ng-select": "^3.0.3",
    "angular-archwizard": "^4.0.0",
    "animate.css": "^3.7.2",
    "apexcharts": "^3.8.3",
    "bootstrap": "^4.3.1",
    "chart.js": "^2.8.0",
    "chartist": "^0.11.3",
    "core-js": "^2.5.4",
    "karma-viewport": "^1.0.5",
    "metismenujs": "^1.0.3",
    "ng-apexcharts": "^1.0.5",
    "ng-click-outside": "^4.0.0",
    "ng2-charts": "^2.3.0",
    "ng2-search-filter": "^0.5.1",
    "ng5-slider": "^1.2.4",
    "ngx-bootstrap": "^5.1.0",
    "ngx-chartist": "^1.0.3",
    "ngx-color-picker": "^8.1.0",
    "ngx-drag-drop": "^2.0.0",
    "ngx-editor": "^4.1.0",
    "ngx-image-cropper": "^1.4.1",
    "ngx-lightbox": "^2.0.1",
    "ngx-mask": "^8.0.3",
    "ngx-ui-switch": "^8.1.0",
    "rxjs": "^6.5.2",
    "smooth-scrollbar": "^8.3.1",
    "sweetalert2": "^8.16.3",
    "tslib": "^1.10.0",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.900.5",
    "@angular/cli": "~9.0.5",
    "@angular/compiler-cli": "~9.0.5",
    "@angular/language-service": "~9.0.5",
    "@types/node": "^12.11.1",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "~2.0.3",
    "codelyzer": "^5.1.2",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.1.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.4.0",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.15.0",
    "typescript": "~3.7.5"
  }
}

tsconfig.json

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "module": "esnext",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "importHelpers": true,
    "target": "es2015",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  }
}

angular.json

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "ui": {
      "i18n": {
        "locales": {
          "ar-IQ": {
            "translation": "src/locale/messages.ar.xlf",
            "baseHref": ""
          }
        }
      },
      "projectType": "application",
      "schematics": {
        "@schematics/angular:component": {
          "style": "scss"
        }
      },
      "root": "",
      "sourceRoot": "src",
      "prefix": "app",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/ui",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "tsconfig.app.json",
            "aot": true,
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ],
            "styles": [
              "src/assets/scss/bootstrap.scss",
              "src/assets/scss/app.scss",
              "src/assets/scss/icons.scss"
            ],
            "scripts": [],
            "es5BrowserSupport": true
          },
          "configurations": {
            "production": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": false,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "budgets": [
                {
                  "type": "initial",
                  "maximumWarning": "2mb",
                  "maximumError": "5mb"
                },
                {
                  "type": "anyComponentStyle",
                  "maximumWarning": "6kb",
                  "maximumError": "10kb"
                }
              ]
            },
            "ar-IQ": {
              "outputPath": "dist/ui-ar-iq/",
              "i18nFile": "src/locale/messages.ar.xlf",
              "i18nLocale": "ar-IQ",
              "i18nMissingTranslation": "error"
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "ui:build",
            "port": 4200,
            "host": "falcon.me",
            "disableHostCheck": true
          },
          "configurations": {
            "production": {
              "browserTarget": "ui:build:production"
            },
            "ar-IQ": {
              "browserTarget": "ui:build:ar-IQ"
            }
          }
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "browserTarget": "ui:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "tsconfig.spec.json",
            "karmaConfig": "karma.conf.js",
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ],
            "styles": [
              "src/assets/scss/bootstrap.scss",
              "src/assets/scss/app.scss",
              "src/assets/scss/icons.scss"
            ],
            "scripts": []
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": [
              "tsconfig.app.json",
              "tsconfig.spec.json",
              "e2e/tsconfig.json"
            ],
            "exclude": [
              "**/node_modules/**"
            ]
          }
        },
        "e2e": {
          "builder": "@angular-devkit/build-angular:protractor",
          "options": {
            "protractorConfig": "e2e/protractor.conf.js",
            "devServerTarget": "ui:serve"
          },
          "configurations": {
            "production": {
              "devServerTarget": "ui:serve:production"
            }
          }
        }
      }
    }},
  "defaultProject": "ui"
}

pages.routing.module

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

const routes: Routes = [
  { path: '', redirectTo: '/apps/obstacles', pathMatch: 'full' },
  { path: 'apps', loadChildren: () => import('./apps/apps.module').then(m => m.AppsModule) }
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class PagesRoutingModule { }
like image 496
Sayooj V R Avatar asked Mar 09 '20 16:03

Sayooj V R


2 Answers

Found the solution for the above issue. steps to fix

  1. run npm outdated.
  2. from the list of packages update the packages in red color to correct version.

enter image description here

like image 69
Sayooj V R Avatar answered Oct 20 '22 00:10

Sayooj V R


Temporary solution: There was a change in @angular-devkit/build-angular which updated the differential loading. To fix this in your Angular project, change the target value from “es2015” to “es5” in your tsconfig.json:


    {
      "compileOnSave": false,
      "compilerOptions": {
        "baseUrl": "./",
        "outDir": "./dist/out-tsc",
        "sourceMap": true,
        "declaration": false,
        "module": "esnext",
        "moduleResolution": "node",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "importHelpers": true,
        "target": "es5",
        "typeRoots": [
          "node_modules/@types"
        ],
        "lib": [
          "es2018",
          "dom"
        ]
      }
    }

like image 29
Nishant Tamilselvan Avatar answered Oct 20 '22 01:10

Nishant Tamilselvan