Webpack-cli: Uncaught exception: TypeError: callbacks is not iterable

Created on 26 Oct 2020  ·  114Comments  ·  Source: webpack/webpack-cli

Describe the bug

I've just upgraded from v4 to v5 and have stumbled upon this error:

[webpack-cli] Uncaught exception: TypeError: callbacks is not iterable 
[webpack-cli] TypeError: callbacks is not iterable 
    at done (C:\Users\me\repo\oas-web\node_modules\webpack\lib\cache\ResolverCachePlugin.js:218:34)
    at C:\Users\me\repo\oas-web\node_modules\webpack\lib\cache\ResolverCachePlugin.js:160:28
    at jobError (C:\Users\me\repo\oas-web\node_modules\webpack\lib\FileSystemInfo.js:1559:5)
    at C:\Users\me\repo\oas-web\node_modules\webpack\lib\FileSystemInfo.js:1795:8
    at C:\Users\me\repo\oas-web\node_modules\webpack\lib\util\AsyncQueue.js:104:29
    at processTicksAndRejections (internal/process/task_queues.js:79:11)

According to the source code it assumes that it can only be and array or undefined even though false is set in the code itself.
It might be a another bug causing the false, but it should be handled, right?

image

What is the current behavior?

It fails every time I start my DevServer.

To Reproduce

Steps to reproduce the behavior:

We have a pretty complex setup with a monorepo. It's going to be hard to share. But if it's needed to fix the code I guess I can put in the time.

Expected behavior

Build should not fail when I start my DevServer

Please paste the results of webpack-cli info here, and mention other relevant information
System:
OS: Windows 10 10.0.17763
CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
Memory: 4.54 GB / 15.81 GB
Binaries:
Node: 12.16.1 - C:\Program Files\nodejs\node.EXE
Yarn: 1.16.0 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.13.4 - C:\Program Files\nodejs\npm.CMD
Browsers:
Chrome: 86.0.4240.111
Edge: Spartan (44.17763.831.0)
Internet Explorer: 11.0.17763.771

Bug

All 114 comments

Something wrong with loader, it is not problem with webpack-cli, please provide reproducible test repo

@evilebottnawi : I see, then it's probably something wrong with Angular's tooling I use @ngtools/webpack and I saw some references to an Angular module while debugging. Not sure where to begin though. Care to explain why it's set to false and why false should not be handled by the code? So I can explain in the bug report to Angular? Thanks!

Care to explain why it's set to false and why false should not be handled by the code?

Because false means nothing was found, and other plugins can do additional search

So I can explain in the bug report to Angular?

Yes

If you provide reproducible test repo I can search where it happens

If you provide reproducible test repo I can search where it happens

Sure. Give me a few hours to set it up. Thanks!

@evilebottnawi: I've created a repo now by removing most of our code but leaving the structure. One thing that differ though is that in my repro the web-lib-core library is completely missing __webpack_require__ for some reason. That is not happening in our app right now. So to get to the real problem I need help with understandning why this is happening.
Close this repo:
https://github.com/JonWallsten/monorepo-new/tree/angular%2Bwebpack-upgrade
I sent you an invite since it's private. Create an issue with any questions about installing/running. I'll answer as fast as I can.

Thanks, I will look at this in near future, sorry a lot of issue after webpack@5, we are working on it

Thanks, I will look at this in near future, sorry a lot of issue after webpack@5, we are working on it

No stress! I'm just trying to stay ahead. We don't have to upgrade any time soon.

@JonWallsten How I can reproduce it? I have only warnings and deprecation messages and couple of problems with invalid export, but no problem as you described above

@evilebottnawi I'm unable to reproduce it in the stripped repo. Can only do it in our real repo. Will try do add some more stuff to the repro so we can reproduce it.

@evilebottnawi: I'm having a hard time creating this repro bacause I can't get past the __webpack_require__ is not defined error, and I don't get why it can't. It works in our main repo and it works fine in Webpack 4. Aslo the code looks fine. But I might net get eval completely. Take a look at this:
image
It passes __webpack_require__ to the function calling eval.
When looking at it with DevTools you can see that it's defined. So why is it missing when calling eval? Isn't that using the current scope?
image

Here's the scope:
image

Edit: I got past the error by using inline-source-map instead. Will try to recreate the actual error now.

__webpack_require__ is not defined

Can't help without reproducible test repo

@evilebottnawi: In the branch where it fails result is defined as this:
image

I have tried to import stuff from Material dialog in the repro-branch to force this, but it never has a result with that file.
I don't have enough knowledge about ResolverCachePlugin to understand what has to happen for a file to end up in this process. Do you mind helping me out, please?

Sorry I can't help, if you provide more stack trace maybe I can, if you create reproducible test repo we will fix it today, we already lost many time...

Do you use boilerplaces? What is versions? Do you try latest version? Which plugin you use, because some of them still have problems with webpack@5

Do you use boilerplaces? What is versions? Do you try latest version? Which plugin you use, because some of them still have problems with webpack@5

The only thing I can come up with is that @ngtools/webpack is not supporting Webpack@5.
Let's close this until everything is updated and I'll create a new bug if it's still a problem.
I should not take up any more of your time,

The only thing I can come up with is that @ngtools/webpack is not supporting Webpack@5.

Yep :disappointed: But I saw a similar problem and I saw it was fixed, maybe ngtools has branch with webpack@5 and you can test it?

I thought they already did support it. That's why I tested. But according to the package. json in master they don't yet. So it will probably be fixed once they decide to update.

Feel free to feedback

I'm working with @ngtools/webpack's AngularCompilerPlugin, Webpack 5 and facing the same exception as @JonWallsten when using webpack-dev-server.

If I replace

if (callbacks === undefined)

through

if (!callbacks)

in node_modules\webpack\lib\cache\ResolverCachePlugin.js (on line 213) everything works like a charm.

So, for me the question is why the variable callbacks can be false and why it's only tested for undefined and not false before iterating over it...

@loebi-ch the problem in AngularCompilerPlugin, it should be fixed in next/alpha/beta versions

I'm still trying to recreate it so the Angular team can fix it. But I still haven't been able to. Since I don't know what's causing the value to be false and can't force the issue in my repro.

In my not working repo it looks like this:



Log for failing install

node --max_old_space_size=8192 ../../node_modules/webpack/bin/webpack serve "--config" "config/webpack.dev.ts" "--mode" "development" "--env" "development" "--color" "--hot"

[2020-11-12 13:17:16] Building web-app-edit
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform-browser.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/radio.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/select.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/menu.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/checkbox.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/autocomplete.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
CALLBACK IS FALSE: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
CALLBACK IS FALSE: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/menu.js
CALLBACK IS FALSE: ./__ivy_ngcc__/fesm2015/menu.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/radio.js
CALLBACK IS FALSE: ./__ivy_ngcc__/fesm2015/radio.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/select.js
CALLBACK IS FALSE: ./__ivy_ngcc__/fesm2015/select.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/autocomplete.js
CALLBACK IS FALSE: ./__ivy_ngcc__/fesm2015/autocomplete.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/checkbox.js
CALLBACK IS FALSE: ./__ivy_ngcc__/fesm2015/checkbox.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/icon.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/icon.js
CALLBACK IS FALSE: ./__ivy_ngcc__/fesm2015/icon.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/select.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/radio.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/icon.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/paginator.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-bar.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-spinner.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-spinner.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button-toggle.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/slide-toggle.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/chips.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/tabs.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/expansion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/expansion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/card.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/divider.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/input.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/form-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/form-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/tooltip.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/select.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/icon.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/menu.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/checkbox.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/http.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/bidi.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/scrolling.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/clipboard.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/text-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/drag-drop.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-spinner.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/icon.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform-browser.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/router.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/router.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/overlay.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-spinner.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/radio.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/checkbox.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-spinner.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/form-field.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
CALLBACK IS FALSE: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/form-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/bidi.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/overlay.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/scrolling.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/collections.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/portal.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/collections.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/bidi.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/scrolling.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/angular-fontawesome.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/angular-fontawesome.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/angular-fontawesome.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/portal.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/bidi.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/scrolling.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./fesm2015/cdk.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/autocomplete.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/keycodes.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/keycodes.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/a11y.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform-browser.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/keycodes.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform-browser.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/observers.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/angular-fontawesome.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/browser.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform-browser.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/clipboard.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/drag-drop.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/paginator.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-bar.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-spinner.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/slide-toggle.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/icon.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/chips.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button-toggle.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/tabs.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/expansion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/divider.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/card.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/menu.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/select.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/radio.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/input.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/form-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/checkbox.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/tooltip.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/autocomplete.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/form-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/portal.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/keycodes.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/a11y.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/observers.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/form-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/tooltip.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/select.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/bidi.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/scrolling.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/overlay.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/a11y.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/http.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/collections.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/observers.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/keycodes.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/portal.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform-browser.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/form-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/portal.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/text-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/bidi.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/observers.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/keycodes.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/scrolling.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/a11y.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/overlay.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/autocomplete.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/chips.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/select.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/form-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-spinner.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/icon.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/menu.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/select.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/form-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/select.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/select.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/icon.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-spinner.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/autocomplete.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/radio.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/angular-fontawesome.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/angular-fontawesome.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/angular-fontawesome.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/menu.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/chips.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/router.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/select.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/icon.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/chips.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/checkbox.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-spinner.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/angular-fontawesome.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-spinner.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-spinner.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/expansion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-spinner.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/radio.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/chips.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-spinner.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/router.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/layout.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/accordion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/expansion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/collections.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
(node:31560) [DEP_WEBPACK_COMPILATION_ASSETS] DeprecationWarning: Compilation.assets will be frozen in future, all modifications are deprecated.
BREAKING CHANGE: No more changes should happen to Compilation.assets after sealing the Compilation.
Do changes to assets earlier, e. g. in Compilation.hooks.processAssets.
Make sure to select an appropriate stage from Compilation.PROCESS_ASSETS_STAGE_*



Log for successfull install

node --max_old_space_size=8192 ../../node_modules/webpack/bin/webpack serve "--config" "config/webpack.dev.ts" "--color" "--hot"

[2020-11-12 13:14:21] Building web-app-edit
FILE IS CACHED: ./fesm2015/compiler.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform-browser.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform-browser.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./fesm2015/oas-web-lib-angular.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/http.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/router.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/angular-fontawesome.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/icon.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/checkbox.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/http.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform-browser.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform-browser.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/icon.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/checkbox.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform-browser.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/dialog.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/observers.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/a11y.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/a11y.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform-browser.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform.js
FILE IS CACHED: ./fesm2015/cdk.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-bar.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/slide-toggle.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/progress-spinner.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/paginator.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/chips.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/expansion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/tabs.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button-toggle.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/radio.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/menu.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/card.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/select.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/input.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/form-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/tooltip.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/autocomplete.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/observers.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/bidi.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/keycodes.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/keycodes.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/form-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/tooltip.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/select.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/button.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/a11y.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/observers.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/bidi.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/keycodes.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/collections.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/portal.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/browser.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/scrolling.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/overlay.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/accordion.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/keycodes.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/collections.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/bidi.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/a11y.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/form-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/scrolling.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/overlay.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/bidi.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/observers.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/portal.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/keycodes.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/a11y.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/forms.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/collections.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/bidi.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/keycodes.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/portal.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/scrolling.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/a11y.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/keycodes.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/a11y.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/bidi.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/portal.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/overlay.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/animations.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/text-field.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/layout.js
FILE IS CACHED: ./fesm2015/coercion.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/platform.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/common.js
FILE IS CACHED: ./__ivy_ngcc__/fesm2015/core.js
(node:31048) [DEP_WEBPACK_COMPILATION_ASSETS] DeprecationWarning: Compilation.assets will be frozen in future, all modifications are deprecated.
BREAKING CHANGE: No more changes should happen to Compilation.assets after sealing the Compilation.
Do changes to assets earlier, e. g. in Compilation.hooks.processAssets.
Make sure to select an appropriate stage from Compilation.PROCESS_ASSETS_STAGE_*.

[2020-11-12 13:14:37] Finished web-app-edit
‼ 「wdm」: assets by path *.js 8.96 MiB
asset angular.js 5.99 MiB [emitted] (name: angular) (id hint: angular)
asset vendor.js 1.46 MiB [emitted] (name: vendor) (id hint: vendor)
asset fontawesome.js 963 KiB [emitted] (name: fontawesome) (id hint: lodash)
asset lib.js 391 KiB [emitted] (name: lib) (id hint: lib)
asset main.js 186 KiB [emitted] (name: main)
assets by path assets/ 2.75 KiB
asset assets/favicon.png 1.18 KiB [emitted] [from: src/assets/favicon.png] [copied]
asset assets/icons/bug-rounded.svg 824 bytes [emitted] [from: src/assets/icons/bug-rounded.svg] [copied]
asset assets/icons/warning-rounded.svg 277 bytes [emitted] [from: src/assets/icons/warning-rounded.svg] [copied]
asset assets/icons/info-rounded.svg 268 bytes [emitted] [from: src/assets/icons/info-rounded.svg] [copied]
asset assets/icons/error-rounded.svg 229 bytes [emitted] [from: src/assets/icons/error-rounded.svg] [copied]
asset index.html 590 bytes [emitted]
asset appentries.json 212 bytes [emitted] [from: src/appentries.json] [copied]
Entrypoint main 8.96 MiB = angular.js 5.99 MiB fontawesome.js 963 KiB lib.js 391 KiB vendor.js 1.46 MiB main.js 186 KiB
662 modules

So the obvious thing here is that it's trying to cache the same file multiple times. I have added imports from the same file in my repro and it still works, so it's not that easy.

Seems to be the same issuer trying to cache the file:

File is cached:  ./__ivy_ngcc__/fesm2015/dialog.js
--issuer:  C:\Users\user\repo\oas-web\packages\web-app-edit\src\app\app.module.ts
CALLBACK IS FALSE:  ./__ivy_ngcc__/fesm2015/dialog.js
--issuer:  C:\Users\user\repo\oas-web\packages\web-app-edit\src\app\app.module.ts

@evilebottnawi: Do you have any idea that the loader is doing wrong? Not waiting for the file to be cached? Not retrieving the cached file?

@JonWallsten I don't sure it is webpack cache

But the issue is that something is calling done multiple times for the same file, right?
After first time callback is set to false. Next time done is called it fails because callback is false.

const done = (err, result) => {
    if(result && result.relativePath.indexOf('fesm2015') !== -1) {
        console.log('File is cached: ', result.relativePath);
        console.log('--issuer: ', result.context.issuer);
    }
    if(callbacks === false) {
        console.log('CALLBACK IS FALSE: ', result.relativePath);
        console.log('--issuer: ', result.context.issuer);
        return;
    }
    if (callbacks === undefined) {
        callback(err, result);
        callbacks = false;
    } else {
        for (const callback of callbacks) {
            callback(err, result);
        }
        activeRequests.delete(identifier);
        callbacks = false;
    }
};

It seems to be fine as long as issuer is not the same.

File is cached:  ./__ivy_ngcc__/fesm2015/dialog.js 
--issuer:  C:\Users\user\repo\monorepo-new\packages\web-app-edit\src\app\app.component.ts
File is cached:  ./__ivy_ngcc__/fesm2015/dialog.js
--issuer:  C:\Users\user\repo\monorepo-new\packages\web-app-edit\src\app\components\start\start.component.ts
File is cached:  ./__ivy_ngcc__/fesm2015/dialog.js
--issuer:  C:\Users\user\repo\monorepo-new\packages\web-app-edit\src\app\shared-services\test.service.ts

Please ignore that it says "File is cached". I have no idea how the ResolverCachePlugin works and why or how it ends up in the done function.

Edit: What is _ResolverCachePluginCacheMiss? It's set to true when callback is set to false

I say, it was bug on AngularCompilerPlugin, it was fixed a long time ago, if you need help and investigation - please create reproducible test repo, I can't work with text, too little context, too little understanding, and too much code, it's really hard and not effective

The issue is that I can't create a repro. I've been trying for a week. It only seems to happen when you import stuff is a specific way. I've really been trying to force it. I'm using the latest release from Angular, released yesterday. So I don't think it's fixed. The issue occur in our repo every single build.

@evilebottnawi If this is a bug in AngularCompilerPlugin, it was not fixed a long time ago. I use the latest releases of Angular (11.0.0) and @ngtools/webpack (11.0.0) both released yesterday evening and this bug still occurs.

And even if this is a bug in AngularCompilerPlugin, the error is thrown in in ResolverCachePlugin and could be easily solved by checking callbacks before iterating over it... As I wrote earlier, I fixed the bug by just replacing line 213 and everything works as expected.

@loebi-ch: I think his point is that the source of the issue is not fixed by patching up ResolveCachePlugin. However it would still be nice to at least throw an error if callbacks is false with a description of the error, and why it occurs. Since you can end up there with the value false is hould at least be handled and not throw an uncaught error. I still don't know that the actual issue is...

Someone in the Angular team just said they are investigating the issue and that you should add cache: false in your Webpack config for now.

@JonWallsten Thank you for your efforts. I've already seen your answers in https://github.com/angular/angular-cli/issues/19351.

I know that it needs some deeper investigations to find the root cause of the problem, but as you just have written, it would be nice to handle the uncaught error in ResolveCachePlugin.

@loebi-ch: Yeah, whatever's the issue it should not just be unhandled if it can happen this frequently.

I know that it needs some deeper investigations to find the root cause of the problem, but as you just have written, it would be nice to handle the uncaught error in ResolveCachePlugin.

It is invalid fix and will break resolving cache for other places

https://github.com/angular/angular-cli/pull/19062/files#diff-e9d36622aeef33c4f2716908fef66473046e62691dcaf22ae0b7966eff25a128R934

If you need fast fix, please try to create reproducible test repo, I can't fix something somewhere, sorry

We don't need a quick fix. We're just trying to get to the bottom of this. If it was fixed 29 days ago it would definitely be in the release yesterday. And since it's still an issue obviously it's not fixed. The Angular team is also trying to investigate this:
https://github.com/angular/angular-cli/issues/19351

I'll let you know if I find anything else. And like a said many times over, I've am trying to create a minimal repo. It's just really hard.

@JonWallsten Maybe you can provide private access to your repo and steps to reproduce, I can sign NDA if you need this

@evilebottnawi: They thing is we host or own Github-server and you need access to our internal network to access server's needed to start the application. Maybe sharing screen or something would work worst case.

I am afraid that screenshots will not be enough, I need to look on context/request/etc in resolver

I meant sharing my screen live, not just screeshots!

@evilebottnawi: It's a classic race condition! The same issuer is trying to resolve the file twice in a very short time but since the resolver is async the second one is triggered before the first one in done, but after the first one is triggered. After the first request is done it sets callbacks to false so when the second request is done it tries to iterate false.
I've stepped through the code with a delay for each file and the problem goes away,
The issuer, app.module.ts, has no direct import of the file that fails, so it might be because how Angular imports other modules. If the source of the issue was another file in the current app, the issuer should be that file and not app.module.ts.

Is it possible to get more information about the source then this?

{
    cacheable: true
    context: "C:\Users\<user>\repo\oas-web\packages\web-app-edit\src\app"
    contextDependencies: LazySet {_set: Set(0), _toMerge: Set(0), _toDeepMerge: Array(0), _needMerge: false, _deopt: false}
    contextInfo:
        compiler: undefined
        issuer: "C:\Users\<user>\repo\oas-web\packages\web-app-edit\src\app\app.module.ts"
        __proto__: Object
    createData: {}
    dependencies: Array(1)
        0: CommonJsRequireDependency
            loc: SourceLocation {start: Position, end: Position}
                optional: false
                range: (2) [10671, 10697]
                request: "@angular/material/dialog"
                userRequest: "@angular/material/dialog"
                weak: false
                category: (...)
                disconnect: (...)
                module: (...)
                type: (...)
                __proto__: ModuleDependency
                length: 1
        __proto__: Array(0)
    fileDependencies: LazySet {_set: Set(0), _toMerge: Set(0), _toDeepMerge: Array(0), _needMerge: false, _deopt: false}
    missingDependencies: LazySet {_set: Set(0), _toMerge: Set(0), _toDeepMerge: Array(0), _needMerge: false, _deopt: false}
    request: "@angular/material/dialog"
    resolveOptions:
        __proto__: Object
    __proto__: 
}

LIke a said in my previous posts the file mentioned app.module.ts does NOT import @angular/material/dialog, directly, so Angular probably parses the file somehow and does this. But I can't find any details about this. So it's hard to fine the source of the issue.

I don't know how I can help you here...

@evilebottnawi: It's a classic race condition! The same issuer is trying to resolve the file twice in a very short time but since the resolver is async the second one is triggered before the first one in done, but after the first one is triggered. After the first request is done it sets callbacks to false so when the second request is done it tries to iterate false.

Sounds like the bug on angular side.

Maybe you can remove pieces of code by reproducing the problem every time and show it (example of repo). There can be many places with problems here, I still can't say anything, sorry

Yeah, I'll wait and see what they say! I'll get back to you as soon as I have any other info. Thanks!

@evilebottnawi I've successfully made a repro now!
Use the branch below. I have stripped away almost the full monorepo and only kept one app, that I placed at the root level.
I removed most of the Angular stuff as well. It's just two components left.
https://github.com/JonWallsten/monorepo-new/tree/webpack-5-issue
Simple instructions in the Readme in that branch.
Let me know if you need anything.

@JonWallsten hm, I don't have callback is not iterable here, only: ERROR Error: Uncaught (in promise): RangeError: Maximum call stack size exceeded

Tried many times

@JonWallsten hm, I don't have callback is not iterable here, only: ERROR Error: Uncaught (in promise): RangeError: Maximum call stack size exceeded

That's weird. I did not get that. Let me try to install everything from the beginning and clean up and see if I can get that.

@evilebottnawi: Works fine for me! Node version issue?

  ~\..\monorepo-new   webpack-5-issue  npm i
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated [email protected]: this library is no longer supported

> @angular/[email protected] postinstall C:\Users\me\repo\monorepo-new\node_modules\@angular\cli
> node ./bin/postinstall/script.js


> [email protected] postinstall C:\Users\me\repo\monorepo-new
> ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points

Compiling @angular/core : es2015 as esm2015 
Compiling @angular/cdk/keycodes : es2015 as esm2015 
Compiling @angular/animations : es2015 as esm2015 
Compiling @angular/compiler/testing : es2015 as esm2015 
Compiling @angular/cdk/observers : es2015 as esm2015 
Compiling @angular/cdk/collections : es2015 as esm2015 
Compiling @angular/animations/browser : es2015 as esm2015
Compiling @angular/common : es2015 as esm2015
Compiling @angular/cdk/platform : es2015 as esm2015 
Compiling @angular/cdk/bidi : es2015 as esm2015 
Compiling @angular/platform-browser : es2015 as esm2015 
Compiling @angular/forms : es2015 as esm2015 
Compiling @angular/cdk/scrolling : es2015 as esm2015 
Compiling @angular/platform-browser/animations : es2015 as esm2015 
Compiling @angular/cdk/a11y : es2015 as esm2015 
Compiling @angular/cdk/portal : es2015 as esm2015 
Compiling @angular/cdk/layout : es2015 as esm2015 
Compiling @angular/common/http : es2015 as esm2015 
Compiling @angular/cdk/overlay : es2015 as esm2015 
Compiling @angular/cdk/text-field : es2015 as esm2015 
Compiling @angular/material/core : es2015 as esm2015 
Compiling @angular/cdk/accordion : es2015 as esm2015 
Compiling @angular/cdk/stepper : es2015 as esm2015 
Compiling @angular/cdk/table : es2015 as esm2015 
Compiling @angular/cdk/tree : es2015 as esm2015 
Compiling @angular/core/testing : es2015 as esm2015 
Compiling @angular/material/form-field : es2015 as esm2015 
Compiling @angular/material/button : es2015 as esm2015 
Compiling @angular/material/icon : es2015 as esm2015 
Compiling @angular/material/select : es2015 as esm2015 
Compiling @angular/material/tooltip : es2015 as esm2015 
Compiling @angular/material/dialog : es2015 as esm2015 
Compiling @angular/material/input : es2015 as esm2015 
Compiling @angular/material/divider : es2015 as esm2015 
Compiling @angular/material/paginator : es2015 as esm2015 
Compiling @angular/material/sort : es2015 as esm2015 
Compiling @angular/platform-browser-dynamic : es2015 as esm2015 
Compiling @angular/common/testing : es2015 as esm2015
Compiling @angular/router : es2015 as esm2015
Compiling @angular/animations/browser/testing : es2015 as esm2015
Compiling @angular/cdk/clipboard : es2015 as esm2015
Compiling @angular/cdk/drag-drop : es2015 as esm2015
Compiling @angular/common/http/testing : es2015 as esm2015
Compiling @angular/material/autocomplete : es2015 as esm2015
Compiling @angular/material/badge : es2015 as esm2015
Compiling @angular/material/bottom-sheet : es2015 as esm2015
Compiling @angular/material/button-toggle : es2015 as esm2015
Compiling @angular/material/card : es2015 as esm2015
Compiling @angular/material/checkbox : es2015 as esm2015
Compiling @angular/material/chips : es2015 as esm2015
Compiling @angular/material/datepicker : es2015 as esm2015
Compiling @angular/material/expansion : es2015 as esm2015
Compiling @angular/material/grid-list : es2015 as esm2015
Compiling @angular/material/icon/testing : es2015 as esm2015
Compiling @angular/material/list : es2015 as esm2015
Compiling @angular/material/menu : es2015 as esm2015
Compiling @angular/material/progress-bar : es2015 as esm2015
Compiling @angular/material/progress-spinner : es2015 as esm2015
Compiling @angular/material/radio : es2015 as esm2015
Compiling @angular/material/sidenav : es2015 as esm2015
Compiling @angular/material/slide-toggle : es2015 as esm2015
Compiling @angular/material/slider : es2015 as esm2015
Compiling @angular/material/snack-bar : es2015 as esm2015
Compiling @angular/material/stepper : es2015 as esm2015
Compiling @angular/material/table : es2015 as esm2015
Compiling @angular/material/tabs : es2015 as esm2015
Compiling @angular/material/toolbar : es2015 as esm2015
Compiling @angular/material/tree : es2015 as esm2015
Compiling @angular/platform-browser-dynamic/testing : es2015 as esm2015
Compiling @angular/router/testing : es2015 as esm2015
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules\webpack-dev-server\node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN @angular/[email protected] requires a peer of zone.js@~0.10.3 but none is installed. You must install peer dependencies yourself.
npm WARN @ngtools/[email protected] requires a peer of webpack@^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN @typescript-eslint/[email protected] requires a peer of eslint@^5.0.0 || ^6.0.0 || ^7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN @typescript-eslint/[email protected] requires a peer of eslint@^5.0.0 || ^6.0.0 || ^7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN @typescript-eslint/[email protected] requires a peer of tslint@^5.0.0 || ^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN @typescript-eslint/[email protected] requires a peer of eslint@^5.0.0 || ^6.0.0 || ^7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN @typescript-eslint/[email protected] requires a peer of eslint@* but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of webpack@^4.0.0 but none is installed. You must install peer dependencies yourself.

added 1430 packages from 679 contributors and audited 1442 packages in 127.706s

79 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

  ~\..\monorepo-new   webpack-5-issue  npm run dev

> [email protected] dev C:\Users\me\repo\monorepo-new
> npm run webpack-dev-server -- --config config/webpack.dev.ts  --color --hot


> [email protected] webpack-dev-server C:\Users\me\repo\monorepo-new
> node --max_old_space_size=8192 node_modules/webpack/bin/webpack serve "--config" "config/webpack.dev.ts" "--color" "--hot"

C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\cache\ResolverCachePlugin.js:232
                                                                                for (const callback of callbacks) {
                                 ^
TypeError: callbacks is not iterable
    at done (C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\cache\ResolverCachePlugin.js:232:34)
    at C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\cache\ResolverCachePlugin.js:161:28
    at jobError (C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\FileSystemInfo.js:1559:5)
    at C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\FileSystemInfo.js:1795:8
    at C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\util\AsyncQueue.js:104:29
    at processTicksAndRejections (internal/process/task_queues.js:79:11)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] webpack-dev-server: `node --max_old_space_size=8192 node_modules/webpack/bin/webpack serve "--config" "config/webpack.dev.ts" "--color" "--hot"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] webpack-dev-server script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\me\AppData\Roaming\npm-cache\_logs\2020-11-17T13_11_35_937Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] dev: `npm run webpack-dev-server -- --config config/webpack.dev.ts  --color --hot`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\me\AppData\Roaming\npm-cache\_logs\2020-11-17T13_11_36_067Z-debug.log

@JonWallsten What is node/npm/yarn version?

Maybe my computer is so fast

image

Still no problems :smile:

What is os?

What is os?

Windows 10 1809

What is the source of the Maximum callstack error? Maybe I can help.

angular.js:63902 ERROR Error: Uncaught (in promise): RangeError: Maximum call stack size exceeded
RangeError: Maximum call stack size exceeded
    at LComponentView_RenderComponent.concat (<anonymous>)
    at cloneToLViewFromTViewBlueprint (angular.js:67006)
    at createLView (angular.js:67657)
    at addComponentLogic (angular.js:68807)
    at instantiateAllDirectives (angular.js:68644)
    at createDirectivesInstances (angular.js:68008)
    at ɵɵelementStart (angular.js:74489)
    at Module.ɵɵelement (angular.js:74540)
    at StartComponent_Template (start.component.html:7)
    at executeTemplate (angular.js:67981)
    at resolvePromise (angular.js:135166)
    at resolvePromise (angular.js:135120)
    at angular.js:135232
    at ZoneDelegate.invokeTask (angular.js:134345)
    at Object.onInvokeTask (angular.js:87475)
    at ZoneDelegate.invokeTask (angular.js:134344)
    at Zone.runTask (angular.js:134116)
    at drainMicroTaskQueue (angular.js:134531)

I've started logging out stuff to get a better picture of whats happening when.
I added a filter for the first file that fails to see what's happening for a specific file.

Resolve TapAsync: ~\src\app\app.module.ts requesting @angular/cdk/clipboard 
Get item from cache: ResolverCachePlugin|normal|dependencyType=|commonjs|path=|~\src\app|request=|@angular/cdk/clipboard 
Resolve TapAsync: ~\src\app\app.module.ts requesting @angular/cdk/clipboard
Resolve TapAsync: ~\src\app\material-design.module.ts requesting @angular/cdk/clipboard 
Cache request done: ~\src\app\app.module.ts requested ~\node_modules\@angular\cdk\__ivy_ngcc__\fesm2015\clipboard.js 
Cache request done: ~\src\app\app.module.ts requested ~\node_modules\@angular\cdk\__ivy_ngcc__\fesm2015\clipboard.js 

C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\cache\ResolverCachePlugin.js:247 
                                                                                for (const callback of callbacks) {
                                 ^
TypeError: callbacks is not iterable 
    at done (C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\cache\ResolverCachePlugin.js:247:34)
    at C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\cache\ResolverCachePlugin.js:161:28
    at jobError (C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\FileSystemInfo.js:1559:5)
    at C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\FileSystemInfo.js:1795:8
    at C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\util\AsyncQueue.js:104:29
    at processTicksAndRejections (internal/process/task_queues.js:79:11)

It's a common theme for most of the Angular related stuff to resolve everyting twice. Eventually when the cache is processed it fails as you can see above.

Resolve Tap: ~\src\app\app.module.ts requesting @angular/material/paginator 
Get item from cache: ResolverCachePlugin|normal|dependencyType=|commonjs|path=|~\src\app|request=|@angular/material/paginator
Resolve Tap: ~\src\app\app.module.ts requesting @angular/material/paginator
Resolve Tap: ~\src\app\app.module.ts requesting @angular/cdk/clipboard
Get item from cache: ResolverCachePlugin|normal|dependencyType=|commonjs|path=|~\src\app|request=|@angular/cdk/clipboard 
Resolve Tap: ~\src\app\app.module.ts requesting @angular/cdk/clipboard
Resolve Tap: ~\src\app\app.module.ts requesting @angular/material/dialog
Get item from cache: ResolverCachePlugin|normal|dependencyType=|commonjs|path=|~\src\app|request=|@angular/material/dialog
Resolve Tap: ~\src\app\app.module.ts requesting @angular/material/dialog 
Resolve Tap: ~\src\app\app.module.ts requesting @angular/material/progress-bar
Get item from cache: ResolverCachePlugin|normal|dependencyType=|commonjs|path=|~\src\app|request=|@angular/material/progress-bar
Resolve Tap: ~\src\app\app.module.ts requesting @angular/material/progress-bar
Resolve Tap: ~\src\app\app.module.ts requesting @angular/material/progress-spinner 
Get item from cache: ResolverCachePlugin|normal|dependencyType=|commonjs|path=|~\src\app|request=|@angular/material/progress-spinner
Resolve Tap: ~\src\app\app.module.ts requesting @angular/material/progress-spinner
Resolve Tap: ~\src\app\app.module.ts requesting @angular/material/slide-toggle
Get item from cache: ResolverCachePlugin|normal|dependencyType=|commonjs|path=|~\src\app|request=|@angular/material/slide-toggle 
Resolve Tap: ~\src\app\app.module.ts requesting @angular/material/slide-toggle

Can you try to comment:

resolve: {
            /**
             * An array of extensions that should be used to resolve modules.
             *
             * See: http://webpack.github.io/docs/configuration.html#resolve-extensions
             */
            // extensions: ['.ts', '.js', '.json', '.css', '.scss'],

            /**
             * An array of directory names to be resolved to the current directory
             */
            modules: [
                helpers.rootPath('src'),
                helpers.rootPath('node_modules')
            ],
            // mainFields: ['es2015', 'browser', 'module', 'main']
        },

```
angular.js:63902 ERROR Error: Uncaught (in promise): RangeError: Maximum call stack size exceeded
RangeError: Maximum call stack size exceeded
at LComponentView_RenderComponent.concat ()

```

And that when you are running "npm run dev"?

Yep

Can you try to comment:

resolve: {
            // mainFields: ['es2015', 'browser', 'module', 'main']
        },

Sure

Yep

I don' understand how we can get different results with the same codebase.

I am too :smile:

Anyway I think it is problem with mainFields, because only this field angular change

I need those because of reasons: https://github.com/angular/angular/issues/37903
But it still didn't help:

Cache request done: ~\src\app\app.module.ts requested ~\node_modules\@angular\cdk\__ivy_ngcc__\bundles\cdk-clipboard.umd.js
Cache request done: ~\src\app\app.module.ts requested ~\node_modules\@angular\cdk\__ivy_ngcc__\bundles\cdk-clipboard.umd.js 

C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\cache\ResolverCachePlugin.js:248 
                                                                                for (const callback of callbacks) {

The issue has to be that they are resolving everything twice in row as you can see in the logs I posted a few posts above?

I don't know :disappointed: I even can't reproduce it, i think you need angular team here

I don't know 😞 I even can't reproduce it, i think you need angular team here

Let me try on another computer. Maybe something is cached or so in my work computer.

Can I guess you're running on Mac? Because I don't get the callbacks issue on my Mac. But I do get the runtime issue you ran into.

Linux/ubuntu

Then it only seems to be a problem on Windows.
How do you want to proceed?

I will make sure it's a Windows issue by installing on a virtual Windows machine on my Mac.

Based on

    at jobError (C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\FileSystemInfo.js:1559:5)
    at C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\FileSystemInfo.js:1795:8

Something wrong with file system snapshot, let's do other

module.exports = {
  //...
  infrastructureLogging: {
    level: 'verbose',
    debug: () => true
  }
};

And upload file with logs here

I don't get any logging at all. Do I have to add any CLI flags when running?

devServer: {
            host: 'localhost',
            port: '3060',
            contentBase: helpers.rootPath('dist'),
            noInfo: true,
            hot: true, // For some reason this is igonored by webpack-dev-server. So the flag --hot is needed in package.json.
            disableHostCheck: true,
            writeToDisk: true,
            overlay: {
                warnings: false,
                errors: true
            }
        },

node --max_old_space_size=8192 node_modules/webpack/bin/webpack serve "--config" "config/webpack.dev.ts" "--color" "--hot"


Or did I put it in the wrong place?
image

yep, all fine, strange you should have the logs

yep, all fine, strange you should have the logs

External or in the console?

in console

> [email protected] dev C:\Users\me\repo\monorepo-new
> npm run webpack-dev-server -- --config config/webpack.dev.ts  --color --hot


> [email protected] webpack-dev-server C:\Users\me\repo\monorepo-new
> node --max_old_space_size=8192 node_modules/webpack/bin/webpack serve "--config" "config/webpack.dev.ts" "--color" "--hot"


C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\cache\ResolverCachePlugin.js:249
                                                                                for (const callback of callbacks) {
                                 ^
TypeError: callbacks is not iterable
    at done (C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\cache\ResolverCachePlugin.js:249:34)
    at C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\cache\ResolverCachePlugin.js:161:28
    at jobError (C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\FileSystemInfo.js:1559:5)
    at C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\FileSystemInfo.js:1795:8
    at C:\Users\me\repo\monorepo-new\node_modules\webpack\lib\util\AsyncQueue.js:104:29
    at processTicksAndRejections (internal/process/task_queues.js:79:11)

Can you try run it simple build (not serve)?

Same result! :(

I reproduced the problem

Great

Yep, only windows related

a lot of time has been spent, we should solve it :smile: WIP

I reproduced the problem

Woho! Finally! Please let me know if you need anything else.
https://github.com/angular/angular-cli/issues/19351 exists if you need to ask Angular team to do anything.

a lot of time has been spent, we should solve it 😄 WIP

Yep! It was not easy to figure out I had to create a circular dep issue in Angular do reproduce it!
Thanks for your time and patience!

hm, if you comment all imports and exports in material-design.module.ts, all works fine

Yeah, I figured that was the case. All external modules seems to be resolved from app.module.ts, which makes sense since it imports (Angular's doing this behind the scenes) these modules.
But we need that module since components from it can be used in templates and hence not imported explicitly in TS-code. So the same imports from the "material module" is also added by Angular into app.module.ts during compile time, due to their way of supporting nested components. So they are resolving the same file twice, even though in the source code you can only see it imported once, since the other import is done in the external module. But why is there an issue with resolving files multiple times? Shouldn't the ResolverCachePlugin support this since it's asynchronous?

I think something wrong with regexp, if it didn't work then we would have the same problem on linux/macos

@JonWallsten Can you invite @sokra to repo too?

I think something wrong with regexp, if it didn't work then we would have the same problem on linux/macos

True! Sokra is now also invited.

The diff is interesting. The code was written in previous way to avoid allocating an array when resolve result can be provided synchronous from cache. Maybe something tries to resolve within the resolver so it's kind of nested. Maybe delaying the real resolve call with process.nextTick can also fix it without the additional allocation in the cached case.

@sokra: But is the resolver really fully synchronous? The issue seems to be happen when the same issuer tries to resolve the same file twice in a row. And with a slight delay I managed to get it to work. Still not sure why it works on Unix but not Windows though?

@evilebottnawi/@sokra: I have a question. I was debugging the code again to try to understand what's going on. But there's one thing I still don't understand. I added some logging to the code and choose one single file to track. The result is shown below.
As you can see all the requests after the first one for the same identifier is pushed to the stack and then we return.
So why is done called twice? If it doesn't reach the code for the second and third request, how is it able to reach inside the done function a second time? As you also can see all requests are done before the first one is resolved. So the first one resolves all three callbacks like it should. So the code looks correct to me, and I guess that's why it should work.
But what's causing the second done call? And why only on Windows?

(request, resolveContext, callback) => {
    if (request._ResolverCachePluginCacheMiss || !fileSystemInfo) {
        return callback();
    }
    const identifier = `${type}${optionsIdent}${objectToString(
        request,
        !cacheWithContext
    )}`;
    const activeRequest = activeRequests.get(identifier);
        x++;
    console.log('Requesting ('+x+') ', identifier);

    if (activeRequest) {
        console.log('Active request already exists. Pushing to stack and return;');
        activeRequest.push(callback);
        return;
    }
    const itemCache = cache.getItemCache(identifier, null);
    let callbacks;
    const done = (err, result) => {
        if(callbacks === false) {
            console.log('Resolve request (but to late) for', result.path, 'Issuer:', result.context.issuer);
            return;
        }
        if (callbacks === undefined) {
            callback(err, result);
            callbacks = false;
        } else {
            console.log('Resolve '+callbacks.length+' requests for', result.path, 'Issuer:', result.context.issuer);
            for (const callback of callbacks) {
                callback(err, result);
            }
            activeRequests.delete(identifier);
            callbacks = false;
        }
    };
Requesting (1)  normal|dependencyType=|commonjs|path=|C:\Users\jway52\repo\monorepo-new\src\app|request=|@angular/material/dialog 
Requesting (2)  normal|dependencyType=|commonjs|path=|C:\Users\jway52\repo\monorepo-new\src\app|request=|@angular/material/dialog 
Active request already exists. Pushing to stack and return; 
Requesting (3)  normal|dependencyType=|commonjs|path=|C:\Users\jway52\repo\monorepo-new\src\app|request=|@angular/material/dialog
Active request already exists. Pushing to stack and return;
Requesting (1)  normal|dependencyType=|commonjs|path=|C:\Users\jway52\repo\monorepo-new\src\app\components\start|request=|@angular/material/dialog
Resolve 3 requests for C:\Users\jway52\repo\monorepo-new\node_modules\@angular\material\__ivy_ngcc__\fesm2015\dialog.js Issuer: C:\Users\jway52\repo\monorepo-new\src\app\app.module.ts 
Resolve request (but to late) for C:\Users\jway52\repo\monorepo-new\node_modules\@angular\material\__ivy_ngcc__\fesm2015\dialog.js Issuer: C:\Users\jway52\repo\monorepo-new\src\app\app.module.ts 
Resolve 1 requests for C:\Users\jway52\repo\monorepo-new\node_modules\@angular\material\__ivy_ngcc__\fesm2015\dialog.js Issuer: C:\Users\jway52\repo\monorepo-new\src\app\components\start\start.component.ts

Still on my roadmap, sorry for delay, I think somebody call callback twice

Still on my roadmap, sorry for delay, I think somebody call callback twice

No worries, we're not in a hurry. I'm just curious about this.
If we know that the callback for the second and third request is already resolved when the first request enters done, why is it so bad just returning and not do anything when callbacks === false?

Requesting (1) normal|dependencyType=|commonjs|path=|C:\Users\jway52\repo\monorepo-new\src\app|request=|@angular/material/dialog
Requesting (2) normal|dependencyType=|commonjs|path=|C:\Users\jway52\repo\monorepo-new\src\app|request=|@angular/material/dialog
Active request already exists. Pushing to stack and return;
Requesting (3) normal|dependencyType=|commonjs|path=|C:\Users\jway52\repo\monorepo-new\src\app|request=|@angular/material/dialog
Active request already exists. Pushing to stack and return;
Requesting (1) normal|dependencyType=|commonjs|path=|C:\Users\jway52\repo\monorepo-new\src\app\components\start|request=|@angular/material/dialog
Resolve 3 requests for C:\Users\jway52\repo\monorepo-new\node_modules\@angular\material__ivy_ngcc__\fesm2015\dialog.js Issuer: C:\Users\jway52\repo\monorepo-new\src\appapp.module.ts
Resolve request (but to late) for C:\Users\jway52\repo\monorepo-new\node_modules\@angular\material__ivy_ngcc__\fesm2015\dialog.js Issuer: C:\Users\jway52\repo\monorepo-new\src\appapp.module.ts
Resolve 1 requests for C:\Users\jway52\repo\monorepo-new\node_modules\@angular\material__ivy_ngcc__\fesm2015\dialog.js Issuer: C:\Users\jway52\repo\monorepo-new\src\app\components\start\start.component.ts

I think somebody call callback twice

yes the log clearly looks like done is called twice. So something in the resolver is calling the callback twice...

@JonWallsten Good questions, we can do it, but after this plugins can't catch this situation and it will be lead to unexpected result

image

Like @evilebottnawi realized a bit further up is that the issue occur when two different modules is trying to resolve the same file at the same time.
Resolve TapAsync: ~\src\appapp.module.ts requesting @angular/material/dialog
Resolve TapAsync: ~\src\appmaterial-design.module.ts requesting @angular/material/dialog

image

Create snapshot for ~\node_modules\@angular\material\__ivy_ngcc__\fesm2015\dialog.js Issuer: C:\Users\jway52\repo\monorepo-new\src\app\app.module.ts 
Create snapshot for ~\node_modules\@angular\material\__ivy_ngcc__\fesm2015\dialog.js Issuer: C:\Users\jway52\repo\monorepo-new\src\app\app.module.ts

So it tries to create a snapshot for the same file twice. The callback when the the snapshot is created is done, hence it's called twice.
The stacktrace up untill that point is really tough to follow.

fileSystemInfo.createSnapshot(
    resolveTime,
    fileDependencies,
    contextDependencies,
    missingDependencies,
    snapshotOptions,
    (err, snapshot) => {
        consoleLog(chalk.magenta('Snapshot created for'), parseOutput(result.path), 'Issuer:', result.context.issuer);
        if (err) return callback(err);
        if (!snapshot) {
            if (result) return callback(null, result);
            return callback();
        }
        itemCache.store(new CacheEntry(result, snapshot), storeErr => {
            if (storeErr) return callback(storeErr);
            if (result) return callback(null, result);
            callback();
        });
    }
);

What I don't understand is, since the caching is async, where are we supposed to handle the second call right after the first one? Should we check before creating a snapshop if one is already in progress?

I found the bug. I'll send a bugfix...

I found the bug. I'll send a bugfix...

I found the bug. I'll send a bugfix...

Yeah, I would have never ever found that one! Thanks!
Have a nice weekend!

Bug is triggered when a sync fs access is done while an async fs access is in progress.

btw. @ngtools/webpack has a pinned dependency on enhanced-resolve 5.3.1...

@sokra I'll make sure they fix that!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

aleksandrlat picture aleksandrlat  ·  3Comments

Pomax picture Pomax  ·  3Comments

jbottigliero picture jbottigliero  ·  5Comments

anyulled picture anyulled  ·  4Comments

RobotnickIsrael picture RobotnickIsrael  ·  5Comments