Skip to content

rc.8 to rc.9|rc.10 regression : stuck in "Generating ES5 bundles for differential loading..." if sourceMap is on #16731

@jmbarbier

Description

@jmbarbier

🐞 Bug report

Command (mark with an x)

  • new
  • build
  • serve
  • test
  • e2e
  • generate
  • add
  • update
  • lint
  • xi18n
  • run
  • config
  • help
  • version
  • doc

Is this a regression?

Yes

with sourceMap: true or sourceMap: { "scripts": true, "styles": true, "vendor": true }

works with
"@angular-devkit/build-angular": "0.900.0-rc.8",
"@angular/cli": "9.0.0-rc.8",

and even with
"@angular-devkit/build-angular": "0.900.0-rc.8",
"@angular/cli": "9.0.0-rc.10",

but fails with
"@angular-devkit/build-angular": "0.900.0-rc.9",
"@angular/cli": "9.0.0-rc.9",
or
"@angular-devkit/build-angular": "0.900.0-rc.10",
"@angular/cli": "9.0.0-rc.10",

Description

Building a project with sourceMap:true using @angular-devkit/build-angular rc.9 or rc.10 results in build stuck (from few seconds when working to > 20 min and counting - did not have patience to wait for an eventual end or crash) in "Generating ES5 bundles for differential loading..." phase

Building the same project with @angular-devkit/build-angular rc.8 works well (30 seconds)

Setting sourceMap: false solves the problem with rc.9 or rc.10

project dependencies :

"dependencies": {
    "@angular/animations": "9.0.0-rc.9",
    "@angular/common": "9.0.0-rc.9",
    "@angular/compiler": "9.0.0-rc.9",
    "@angular/core": "9.0.0-rc.9",
    "@angular/forms": "9.0.0-rc.9",
    "@angular/localize": "9.0.0-rc.9",
    "@angular/platform-browser": "9.0.0-rc.9",
    "@angular/platform-browser-dynamic": "9.0.0-rc.9",
    "@angular/platform-server": "9.0.0-rc.9",
    "@angular/pwa": "0.900.0-rc.9",
    "@angular/router": "9.0.0-rc.9",
    "@angular/service-worker": "9.0.0-rc.9",
    "@fortawesome/fontawesome-pro": "^5.12.0",
    "@ng-bootstrap/ng-bootstrap": "^5.2.0",
    "@nguniversal/express-engine": "^9.0.0-next.14",
    "@sentry/browser": "^5.11.1",
    "@sentry/node": "^5.11.1",
    "autotrack": "^2.4.1",
    "bootstrap": "^4.4.1",
    "compression": "^1.7.4",
    "connect-timeout": "^1.9.0",
    "cookie-parser": "^1.4.4",
    "express": "^4.17.1",
    "flag-icon-css": "^3.4.5",
    "lodash-es": "^4.17.15",
    "memory-cache": "^0.2.0",
    "ng-cli-pug-loader": "^0.2.2",
    "ng2-pdf-viewer": "^6.0.2",
    "rxjs": "~6.5.4",
    "tslib": "^1.10.0",
    "typeface-lato": "^0.0.75",
    "typeface-oswald": "^1.1.3",
    "typeface-roboto": "^0.0.75",
    "typeface-ubuntu": "^0.0.65",
    "zone.js": "~0.10.2"
  },

build portion of angular.json

{
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.staging.ts"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "outputPath": "dist/browser",
              "sourceMap": true,
              "extractCss": true,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "budgets": [
                {
                  "type": "initial",
                  "maximumWarning": "2mb",
                  "maximumError": "5mb"
                }
              ],
              "baseHref": "/",
              "localize": ["fr", "en", "de", "es"]
            },

tsconfig.json

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

(also tried with fullTemplateTypeCheck to false with no difference.

🔬 Minimal Reproduction

I have not been able to setup a minimal reproduction, and the project is internal. But i can setup a private repo and share it if needed.

🌍 Your Environment


Angular CLI: 9.0.0-rc.10
Node: 10.18.1
OS: linux x64

Angular: 9.0.0-rc.9
... animations, common, compiler, compiler-cli, core, forms
... language-service, localize, platform-browser
... platform-browser-dynamic, platform-server, router
... service-worker
Ivy Workspace: Yes

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.900.0-rc.10
@angular-devkit/build-angular     0.900.0-rc.10
@angular-devkit/build-optimizer   0.900.0-rc.10
@angular-devkit/build-webpack     0.900.0-rc.10
@angular-devkit/core              9.0.0-rc.10
@angular-devkit/schematics        9.0.0-rc.10
@angular/cli                      9.0.0-rc.10
@angular/pwa                      0.900.0-rc.9
@ngtools/webpack                  9.0.0-rc.10
@nguniversal/common               9.0.0-rc.0
@nguniversal/express-engine       9.0.0-rc.0
@schematics/angular               9.0.0-rc.10
@schematics/update                0.900.0-rc.10
rxjs                              6.5.4
typescript                        3.7.5
webpack                           4.41.2

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions