Skip to content

Declaring a web worker with a comma after the last object breaks the build #15576

@maxime1992

Description

@maxime1992

🐞 Bug report

Command (mark with an x)

- [ ] new
- [x] build
- [x] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Is this a regression?

Don't know

Description

I'm using a web-worker like the following:

new Worker('./enigma-bombe.worker', {
  name: 'enigma-worker',
  type: 'module'
}),

If I change it to:

new Worker('./enigma-bombe.worker', {
  name: 'enigma-worker',
  type: 'module',
}),

(notice the last comma)

It breaks the app while it's valid code.

The generated code looks like the following

return Object(observable_webworker__WEBPACK_IMPORTED_MODULE_4__["fromWorkerPool"])(() => new Worker(__webpack__worker__1, {
  name: 'enigma-worker',
  ,
}),

🔬 Minimal Reproduction

Create a web-worker, set the name and type, add a comma after the type.

🔥 Exception or Error

Uncaught SyntaxError: Unexpected token ,
ERROR Error: Uncaught (in promise): ChunkLoadError: Loading chunk decrypt-decrypt-module failed.
(missing: http://localhost:4200/decrypt-decrypt-module.js)
ChunkLoadError: Loading chunk decrypt-decrypt-module failed.
(missing: http://localhost:4200/decrypt-decrypt-module.js)
    at Function.requireEnsure [as e] (bootstrap:126)
    at loadChildren (app.module.ts:15)
    at RouterConfigLoader.loadModuleFactory (router.js:6401)
    at RouterConfigLoader.load (router.js:6377)
    at MergeMapSubscriber.project (router.js:4584)
    at MergeMapSubscriber._tryNext (mergeMap.js:46)
    at MergeMapSubscriber._next (mergeMap.js:36)
    at MergeMapSubscriber.next (Subscriber.js:49)
    at Observable._subscribe (subscribeToArray.js:3)
    at Observable._trySubscribe (Observable.js:42)
    at resolvePromise (zone-evergreen.js:793)
    at resolvePromise (zone-evergreen.js:752)
    at zone-evergreen.js:854
    at ZoneDelegate.invokeTask (zone-evergreen.js:400)
    at Object.onInvokeTask (core.js:39687)
    at ZoneDelegate.invokeTask (zone-evergreen.js:399)
    at Zone.runTask (zone-evergreen.js:168)
    at drainMicroTaskQueue (zone-evergreen.js:570)
    at ZoneTask.invokeTask [as invoke] (zone-evergreen.js:485)
    at invokeTask (zone-evergreen.js:1596)

🌍 Your Environment

Angular CLI: 8.2.2
Node: 12.4.0
OS: linux x64
Angular: 8.2.2
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.802.2
@angular-devkit/build-angular     0.802.2
@angular-devkit/build-optimizer   0.802.2
@angular-devkit/build-webpack     0.802.2
@angular-devkit/core              8.2.2
@angular-devkit/schematics        8.2.2
@angular/cdk                      8.1.3
@angular/material                 8.1.3
@ngtools/webpack                  8.2.2
@schematics/angular               8.1.1
@schematics/update                0.802.2
rxjs                              6.5.2
typescript                        3.4.5
webpack                           4.38.0

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions