Closed filipesilva closed 3 years ago
ng build -c mhsb
10% building 3/3 modules 0 active
<--- Last few GCs --->
[11664:000001BF4FF4BB60] 82832 ms: Mark-sweep 1372.0 (1455.8) -> 1363.3 (1456.3) MB, 1956.2 / 0.0 ms (average mu = 0.156, current mu = 0.088) allocation failure scavenge might not succeed
[11664:000001BF4FF4BB60] 84892 ms: Mark-sweep 1367.8 (1456.3) -> 1365.2 (1456.3) MB, 1955.4 / 0.0 ms (average mu = 0.105, current mu = 0.051) allocation failure GC in old space requested
<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 000001F0724DC5C1]
1: StubFrame [pc: 000001F0725040B1]
Security context: 0x0308fb49e6e9 <JSObject>
2: onSubstituteNode(aka onSubstituteNode) [00000211020875B9] [D:\QLASS\node_modules\typescript\lib\typescript.js:76870] [bytecode=00000000D32B6A19 offset=0](this=0x0323baa826f1 <undefined>,hint=1,node=0x00d01b8a95b9 <IdentifierObject map = 0000034C8ACA3939>)
3: onSubstituteNode(aka onSubstituteNode) [00000211...
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 00007FF7B607DD8A v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+4506
2: 00007FF7B6058886 node::MakeCallback+4534
3: 00007FF7B6059200 node_module_register+2032
4: 00007FF7B63730DE v8::internal::FatalProcessOutOfMemory+846
5: 00007FF7B637300F v8::internal::FatalProcessOutOfMemory+639
6: 00007FF7B6559804 v8::internal::Heap::MaxHeapGrowingFactor+9620
7: 00007FF7B65507E6 v8::internal::ScavengeJob::operator=+24550
8: 00007FF7B654EE3C v8::internal::ScavengeJob::operator=+17980
9: 00007FF7B6557B87 v8::internal::Heap::MaxHeapGrowingFactor+2327
10: 00007FF7B6557C06 v8::internal::Heap::MaxHeapGrowingFactor+2454
11: 00007FF7B66872B0 v8::internal::Factory::NewByteArray+112
12: 00007FF7B6AC583C v8::internal::compiler::MachineOperatorReducer::ReduceFloat64RoundDown+7564
13: 00007FF7B6901230 v8::internal::compiler::Pipeline::AllocateRegistersForTesting+4608
14: 00007FF7B68F95DB v8::internal::compiler::ValueNumberingReducer::operator=+10107
15: 00007FF7B653362A v8::internal::Zone::NewExpand+3034
16: 00007FF7B6535C44 v8::internal::Zone::NewExpand+12788
17: 00007FF7B65883B9 v8::internal::OptimizingCompileDispatcher::InstallOptimizedFunctions+393
18: 00007FF7B642DE23 v8::internal::StackGuard::HandleInterrupts+531
19: 00007FF7B66FEAB7 v8::internal::operator<<+71991
20: 000001F0724DC5C1
We solve this problem (when compile with ng build -c mhsb) we use following command.
.\ngs.cmd build -c mhsb
ngs.cmd: @node --max_old_space_size=8192 node_modules/@angular/cli/bin/ng %1 %2 %3 %4 %5
When we use this command, when the compile process reaches 92% after 10 minutes, it encounters the error below.
92% chunk asset optimization TerserPluginFATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: 00007FF7B607DD8A v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+4506
2: 00007FF7B6058886 node::MakeCallback+4534
3: 00007FF7B6059200 node_module_register+2032
4: 00007FF7B63730DE v8::internal::FatalProcessOutOfMemory+846
5: 00007FF7B637300F v8::internal::FatalProcessOutOfMemory+639
6: 00007FF7B6559804 v8::internal::Heap::MaxHeapGrowingFactor+9620
7: 00007FF7B6557CCB v8::internal::Heap::MaxHeapGrowingFactor+2651
8: 00007FF7B6681B2B v8::internal::Factory::AllocateRawWithImmortalMap+59
9: 00007FF7B66845DD v8::internal::Factory::NewRawTwoByteString+77
10: 00007FF7B6750270 v8::internal::LookupIterator::Start<1>+32464
11: 00007FF7B675065F v8::internal::LookupIterator::Start<1>+33471
12: 00007FF7B675065F v8::internal::LookupIterator::Start<1>+33471
13: 00007FF7B675065F v8::internal::LookupIterator::Start<1>+33471
14: 00007FF7B675065F v8::internal::LookupIterator::Start<1>+33471
15: 00007FF7B675065F v8::internal::LookupIterator::Start<1>+33471
16: 00007FF7B675065F v8::internal::LookupIterator::Start<1>+33471
17: 00007FF7B675065F v8::internal::LookupIterator::Start<1>+33471
18: 00007FF7B675065F v8::internal::LookupIterator::Start<1>+33471
19: 00007FF7B675065F v8::internal::LookupIterator::Start<1>+33471
20: 00007FF7B675065F v8::internal::LookupIterator::Start<1>+33471
21: 00007FF7B675065F v8::internal::LookupIterator::Start<1>+33471
22: 00007FF7B675065F v8::internal::LookupIterator::Start<1>+33471
23: 00007FF7B674FF07 v8::internal::LookupIterator::Start<1>+31591
24: 00007FF7B674FF3C v8::internal::LookupIterator::Start<1>+31644
25: 00007FF7B674FF3C v8::internal::LookupIterator::Start<1>+31644
26: 00007FF7B674FF3C v8::internal::LookupIterator::Start<1>+31644
27: 00007FF7B674FF3C v8::internal::LookupIterator::Start<1>+31644
28: 00007FF7B674FF3C v8::internal::LookupIterator::Start<1>+31644
29: 00007FF7B674FF3C v8::internal::LookupIterator::Start<1>+31644
30: 00007FF7B674FF3C v8::internal::LookupIterator::Start<1>+31644
31: 00007FF7B674FF3C v8::internal::LookupIterator::Start<1>+31644
32: 00007FF7B674FF3C v8::internal::LookupIterator::Start<1>+31644
33: 00007FF7B674FF3C v8::internal::LookupIterator::Start<1>+31644
34: 00007FF7B674FF3C v8::internal::LookupIterator::Start<1>+31644
35: 00007FF7B674BD62 v8::internal::LookupIterator::Start<1>+14786
36: 00007FF7B674CAD5 v8::internal::LookupIterator::Start<1>+18229
37: 00007FF7B674EE7B v8::internal::LookupIterator::Start<1>+27355
38: 00007FF7B674CB60 v8::internal::LookupIterator::Start<1>+18368
39: 00007FF7B674EE7B v8::internal::LookupIterator::Start<1>+27355
40: 00007FF7B674CB60 v8::internal::LookupIterator::Start<1>+18368
41: 00007FF7B674B77D v8::internal::LookupIterator::Start<1>+13277
42: 00007FF7B63A13FC v8::internal::DeferredHandles::Iterate+1116
43: 00007FF7B6743736 v8::internal::WasmJs::Install+230838
44: 00007FF7B674365B v8::internal::WasmJs::Install+230619
45: 0000014B2DCDC721
# Fatal error in , line 0
# API fatal error handler returned after process out of memory on the background thread
#FailureMessage Object: 000000A352EFA150^CTerminate batch job (Y/N)? y
@alialtun14 are you seeing this with version 9 now, and did it not happen with version 8?
I'd like to take a look at the project if possible. Giving me access to a new private github repository is a good way of doing this for private projects.
We have taken same error when we used "ng build -c mhsb". We have solved this problen i V8 by using max_old_space_size=8192. Today after upgrading to V9 and compile with max_old_space_size=8192 we started the error again.
I'd like to take a look at the project if possible. Giving me access to a new private github repository is a good way of doing this for private projects.
Our project is in gitlab reposiyory. If you share your email adrese with alialtun14@gmail.com. I can share zip file of our project.
Hi - error in private company repo: What could You help:
WARNING in Terser Plugin: Condition always false [vendor-es2015.89fba3b2bb0ffec12a97.js:181165,4]
WARNING in Terser Plugin: Dropping unreachable code [vendor-es2015.89fba3b2bb0ffec12a97.js:181165,11]
...
WARNING in Terser Plugin: Condition always false [vendor-es2015.89fba3b2bb0ffec12a97.js:39575,8]
WARNING in Terser Plugin: Condition left of || always false [vendor-es2015.89fba3b2bb0ffec12a97.js:61851,19]
WARNING in Terser Plugin: Condition left of || always false [vendor-es2015.89fba3b2bb0ffec12a97.js:61853,23]
WARNING in Terser Plugin: Dropping side-effect-free statement [vendor-es2015.89fba3b2bb0ffec12a97.js:209626,16]
ERROR in main-es2015.d92b662609fbc64cbd74.js from Terser
RangeError: Maximum call stack size exceeded
at Array.push (
ps. dont suggest by dir nam - it is ng9 ;)
@4zriel I edited your comment to remove a large chunk of terser warnings in the log that I reviewed and know is not relevant to the problem at hand. I removed it because it was very long and made it hard to read the rest of this issue thread.
@alialtun14 I just tried building with the increased memory and it seemed to build fine:
kamik@RED-X1C6 MINGW64 /d/sandbox/QLASS.V8
$ node --max_old_space_size=8192 node_modules/@angular/cli/bin/ng build -c mhsb
chunk {0} runtime.a8ef3a8272419c2e2c66.js (runtime) 1.45 kB [entry] [rendered]
chunk {1} main.742b09869a13ccbb2f64.js (main) 11.4 MB [initial] [rendered]
chunk {2} polyfills.f5b379c03ee1455b2258.js (polyfills) 45.5 kB [initial] [rendered]
chunk {3} styles.b7204deb7fc86e3c9129.css (styles) 21.5 kB [initial] [rendered]
chunk {4} vendor.8fa60aebff14da44025f.js (vendor) 980 kB [initial] [rendered]
chunk {scripts} scripts.f7e72443ce1ee0185d9e.js (scripts) 229 kB [entry] [rendered]
Date: 2020-02-07T15:13:56.679Z - Hash: fdccd0547616a05c53dd - Time: 905229ms
What version of node are you on? There were a couple of node versions that had memory problems. I am on Node v12.4.0.
@4zriel what version of node are you on as well? Can you try the one I mentioned above, or perhaps considering sharing the project privately with me?
@filipesilva I'll love to share but then I'll propalby need to look for another work ;) I'm using node 13.3.0, and I tried 1st this trick with inceased memory (I set sth about 10k maybe it is too much...) but it didn't change anything...As i said - ng serve and ng buil (without --prod so without --optimization works perfectly fine). It is quite big monorepo, with a lot of iternal lib, but ng update worked surpriselgly well :)
@4zriel since you have a monorepo, I think you might be suffering from case 2 in https://angular.io/guide/ivy-compatibility#payload-size-debugging. Can you try the approach described in #16799 (comment) and see if it works please?
To be clear, the approach is to add "sideEffects": false
to the package.json of shared libraries. If the library doesn't actually have a package.json
, you can add one with just {"sideEffects": false}
.
@filipesilva That's it! :D You are awasome! I spend like 2h at least on this, read through the docs and other issuess but all I need was just 'sideEffects: false'! :D
Glad to hear it helped!
@filipesilva
We transferred the project to Angular 9. Thank you for your interest and help.
We can now build with enableIvy: false. When we make Enable Ivy: true and compile, we get errors. We are now in the process of eliminating those errors.
after fixing errors related to compiling with Ivy
main.js file size : 11.6 MB -> 3.72 MB
compile time: 1.242.877ms -> 344.095ms
enableIvy = false
chunk {} runtime.689ba4fd6cadb82c1ac2.js (runtime) 1.45 kB [entry] [rendered]
chunk {1} main.24c2383760bad25975b5.js (main) 11.6 MB [initial] [rendered]
chunk {2} polyfills.390e4275012bfaabf98d.js (polyfills) 44.1 kB [initial] [rendered]
chunk {3} styles.b7204deb7fc86e3c9129.css (styles) 21.7 kB [initial] [rendered]
chunk {4} vendor.036641f6c70e59792222.js (vendor) 971 kB [initial] [rendered]
chunk {scripts} scripts.f7e72443ce1ee0185d9e.js (scripts) 229 kB [entry] [rendered]
Date: 2020-02-08T15:30:59.401Z - Hash: a6f7a979bcf2cf1bc117 - Time: 1.242.877ms
enableIvy = true
chunk {} runtime.689ba4fd6cadb82c1ac2.js (runtime) 1.45 kB [entry] [rendered]
chunk {1} main.1d16e2ff10cfb77ab889.js (main) 3.72 MB [initial] [rendered]
chunk {2} polyfills.92255d147939824f14c4.js (polyfills) 35.6 kB [initial] [rendered]
chunk {3} styles.b7204deb7fc86e3c9129.css (styles) 21.7 kB [initial] [rendered]
chunk {4} vendor.dbeb455719d37461cc6b.js (vendor) 1.02 MB [initial] [rendered]
chunk {scripts} scripts.f7e72443ce1ee0185d9e.js (scripts) 229 kB [entry] [rendered]
Date: 2020-02-09T00:31:07.815Z - Hash: 5502a74ac622af53451a - Time: 344.095ms
@filipesilva
What version of node are you on? There were a couple of node versions that had memory problems. I am on Node v12.4.0.
We started using node v12.15.0 with Angular 9.
After node v12.15.0, we can compile "node node_modules/@angular/cli/bin/ng build -c mhsb" without any memory problems.
Thank you for your interest and help.
@alialtun14 oh wow that's a great improvement, glad to hear!
Btw @alialtun14 I noticed you have a vendor
chunk, we recommend turning it off in production because it causes increases in total size. You can turn it off in your production configuration with "vendorChunk": false
.
"vendorChunk": false
PS D:\QLASS> ng build -c mhsb --vendorChunk=false
chunk {} runtime.689ba4fd6cadb82c1ac2.js (runtime) 1.45 kB [entry] [rendered]
chunk {1} main.c44ecad664850cecbc0b.js (main) 4.76 MB [initial] [rendered]
chunk {2} polyfills.92255d147939824f14c4.js (polyfills) 35.6 kB [initial] [rendered]
chunk {3} styles.b7204deb7fc86e3c9129.css (styles) 21.7 kB [initial] [rendered]
chunk {scripts} scripts.f7e72443ce1ee0185d9e.js (scripts) 229 kB [entry] [rendered]
Date: 2020-02-09T10:23:21.399Z - Hash: 86674d0bccda83b7ccf3 - Time: 328.398ms
@filipesilva According to the blog post by @StephenFluin, bundle size in large app can reduce maximum %40 with ivy compile. In our project we reached to %68 in size and % 72 in time reduction. Is this an expected result or are we making a mistake somewhere :) This result was a great and pleasing surprise for us.
without Ivy | with Ivy | Reduce (%) |
---|---|---|
11,6 MB | 3,72 | 68 |
1248877 MB | 344095 | 72 |
If your app is working properly, I don't think you've done anything wrong. Your project might be a new record for size savings with Ivy :D
If your app is working properly, I don't think you've done anything wrong. Your project might be a new record for size savings with Ivy :D
We started using in production after compiled. There were a few problems we encountered during the compilation. We fixed the problems with your support.
@filipesilva I am not sure if it is related to this issue but:
I am getting this error in CircleCI. But it builds perfectly in local or Heroku. CLI version: 9.0.2
ERROR in main.5e6bd3ca7eb1cdef2086.js from Terser
Error: Call retries were exceeded
at ChildProcessWorker.initialize (/home/circleci/workspace/app-web/node_modules/terser-webpack-plugin/node_modules/jest-worker/build/workers/ChildProcessWorker.js:230:21)
at ChildProcessWorker._onExit (/home/circleci/workspace/app-web/node_modules/terser-webpack-plugin/node_modules/jest-worker/build/workers/ChildProcessWorker.js:307:12)
at ChildProcess.emit (events.js:223:5)
at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
Disabling optimization works but it is not desirable.
Things I tried and did not work:
I see that terser
has a problem with CircleCI and it is recommended to use parallel
option. But I don't know how to do that in Angular. Related links:
https://github.com/webpack-contrib/terser-webpack-plugin#parallel https://github.com/webpack-contrib/terser-webpack-plugin/issues/202#issuecomment-580704210
@KurtGokhan we use the parallel option but let terser-webpack-plugin
figure out the real count, and this seems to be a problem in CircleCI. Maybe we should limit the maximum to get around this problem...
@KurtGokhan https://github.com/angular/angular-cli/pull/16978 should help with that problem.
@filipesilva I tested a build from your branch and it works while the master branch build fails. Thank you.
Meanwhile I switched to Github Actions and it works correctly as well.
@filipesilva I'm running into the same problem
Generating ES5 bundles for differential loading...
An unhandled exception occurred: Call retries were exceeded
When building the app in a gitlab kubernetes runner.
Node: v12 Angular:
Angular CLI: 9.0.1
Node: 12.16.0
OS: darwin x64
Angular: 9.0.0
... animations, cdk, common, compiler, compiler-cli, core, forms
... language-service, material, platform-browser
... platform-browser-dynamic, router
Ivy Workspace: Yes
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.900.1
@angular-devkit/build-angular 0.900.1
@angular-devkit/build-optimizer 0.900.1
@angular-devkit/build-webpack 0.900.1
@angular-devkit/core 9.0.1
@angular-devkit/schematics 9.0.1
@angular/cli 9.0.1
@angular/flex-layout 9.0.0-beta.28
@ngtools/webpack 9.0.1
@schematics/angular 9.0.1
@schematics/update 0.900.1
rxjs 6.5.3
typescript 3.7.5
webpack 4.41.2
I think it would help if I can limit the number fixed in https://github.com/angular/angular-cli/pull/16978 as 7 is still to much for a container
Agreed, @filipesilva it would be great if we can configure the parallel value ourselves since Circle still fails out with max retries after your fix was installed.
@Zwartpet I think the error you are seeing is not the same as the one mentioned above. That is because downlevelling happens after running the Webpack build.
This issue is mostly caused by JestWorker
usage in https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/build_angular/src/utils/action-executor.ts. JestWorker uses the following logic to determine the number of workers to spawn https://github.com/facebook/jest/blob/fa8ef2269ceb52ee1bec2e77ba4358dd4ade85b2/packages/jest-worker/src/index.ts#L80
@alan-agius4 But why not make it configurable? I doubt that this will resolve the issue as it still spawns more workers then I there is room for in a container.
But let me test it before i make an assumption
@filipesilva CircleCI build is working with the new patch.
Apart from that, builds take longer time on CI with Ivy. Because ngcc compiler runs every time. Is there a way to cache ngcc compiling result? Which folders should be cached?
What I mean is this part:
Compiling @angular/core : es2015 as esm2015
Compiling @angular/common : es2015 as esm2015
Compiling @angular/platform-browser : es2015 as esm2015
...
Everything is compiled into the node_modules directory, so that should be cached.
There’s a npm/yarn postinstall command you can use (and tweak) on: https://angular.io/guide/ivy
On 2 Mar 2020, at 19:10, Gökhan Kurt notifications@github.com wrote:
@filipesilva CircleCI build is working with the new patch.
Apart from that, builds take longer time on CI with Ivy. Because ngcc compiler runs every time. Is there a way to cache ngcc compiling result? Which folders should be cached?
What I mean is this part:
Compiling @angular/core : es2015 as esm2015 — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
Everything is compiled into the node_modules directory, so that should be cached. There’s a npm/yarn postinstall command you can use (and tweak) on: https://angular.io/guide/ivy
I was using npm ci
, which deleted node_modules
. Switched to npm i
and workflow got a lot faster.
@dgp1130 in #17027 you said:
If you're still seeing memory issues after that is merged and released, then we can reevaluate.
I use last version of angular-cli and still have erros like in this comment (https://github.com/Automattic/wp-calypso/pull/39535#issuecomment-589603920):
Error: Call retries were exceeded
and Error: write EPIPE
.
Could you add option to configure parallel
in terser?
Our project is also facing difficuilties to use ngcc.
ng version
reads:
Angular CLI: 9.0.7
Node: 13.12.0
OS: win32 x64
Angular: 9.0.7
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes
Package Version
------------------------------------------------------------
@angular-devkit/architect 0.900.7
@angular-devkit/build-angular 0.900.7
@angular-devkit/build-ng-packagr 0.900.7
@angular-devkit/build-optimizer 0.900.7
@angular-devkit/build-webpack 0.900.7
@angular-devkit/core 9.0.7
@angular-devkit/schematics 9.0.7
@angular/cdk 9.1.3
@angular/flex-layout 9.0.0-beta.29
@angular/material 9.1.3
@ngtools/webpack 9.0.7
@schematics/angular 9.0.7
@schematics/update 0.900.7
ng-packagr 9.0.3
rxjs 6.5.4
typescript 3.7.5
webpack 4.41.2
command: npm ci
We tried to remove node_modules folder manually several times but get same results. It always stops during the same point in the compilation.
Paths has been partly edited manually from the stacktrace using <ProjectPath>
and <UserPath>
:
Compiling ngx-papaparse : esm5 as esm5
Compiling ngx-papaparse : main as umd
Compiling angular-tree-component : module as esm5
<--- Last few GCs --->
[265432:00000228019FF580] 147212 ms: Scavenge 2045.6 (2050.4) -> 2045.1 (2050.7) MB, 11.3 / 0.0 ms (average mu = 0.287, current mu = 0.344) allocation failure
[265432:00000228019FF580] 147280 ms: Scavenge 2045.8 (2050.7) -> 2045.3 (2050.7) MB, 11.2 / 0.0 ms (average mu = 0.287, current mu = 0.344) allocation failure
[265432:00000228019FF580] 147323 ms: Scavenge 2046.0 (2050.7) -> 2045.8 (2051.4) MB, 11.5 / 0.0 ms (average mu = 0.287, current mu = 0.344) allocation failure
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0x036698280921 <JSObject>
0: builtin exit frame: parse(this=0x03669829efd9 <Object map = 00000204FC003641>,0x0053ab6fa1a1 <Very long string[18219]>,0x03669829efd9 <Object map = 00000204FC003641>)
1: loadSourceMap [000000619C56E339] [<ProjectPath>\node_modules\@angular\compiler-cli\ngcc\src\sourcemaps\source_file_loader.js:~73] [pc=000000D88484CC61](this=0x0030c61c46a9 <SourceFileLoader map = 00000204FC01...
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 00007FF69ABE0B5F napi_wrap+110655
2: 00007FF69AB8C606 v8::base::CPU::has_sse+67398
3: 00007FF69AB8D3F4 v8::base::CPU::has_sse+70964
4: 00007FF69B3B20BE v8::Isolate::ReportExternalAllocationLimitReached+94
5: 00007FF69B399811 v8::SharedArrayBuffer::Externalize+785
6: 00007FF69B26087C v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1468
7: 00007FF69B26BBC0 v8::internal::Heap::ProtectUnprotectedMemoryChunks+1312
8: 00007FF69B2686B4 v8::internal::Heap::PageFlagsAreConsistent+3188
9: 00007FF69B25DDC3 v8::internal::Heap::CollectGarbage+1283
10: 00007FF69B25C554 v8::internal::Heap::AllocateExternalBackingStore+1396
11: 00007FF69B285908 v8::internal::Factory::NewRawOneByteString+216
12: 00007FF69B1A39B0 v8::base::TimeDelta::operator!=+31184
13: 00007FF69B1A4B4C v8::base::TimeDelta::operator!=+35692
14: 00007FF69B1A3EFA v8::base::TimeDelta::operator!=+32538
15: 00007FF69B329190 v8::internal::Builtins::builtin_handle+83856
16: 00007FF69B32973E v8::internal::Builtins::builtin_handle+85310
17: 00007FF69B7FBCCD v8::internal::SetupIsolateDelegate::SetupHeap+517677
18: 000000D88484CC61
Warning: Worker #5 exited unexpectedly (code: 134 | signal: null).
Current assignment: {entryPoint: angular-draggable-droppable, formatProperty: main, processDts: false}
Error: Process unexpectedly crashed, while processing format property main for entry-point '<ProjectPath>/node_modules/angular-draggable-droppable'.
at ClusterMaster.onWorkerExit (<ProjectPath>\node_modules\@angular\compiler-cli\ngcc\src\execution\cluster\master.js:152:23)
at <ProjectPath>\node_modules\@angular\compiler-cli\ngcc\src\execution\cluster\master.js:50:101
at ClusterMaster.<anonymous> (<ProjectPath>\node_modules\@angular\compiler-cli\ngcc\src\execution\cluster\master.js:245:57)
at step (<ProjectPath>\node_modules\tslib\tslib.js:139:27)
at Object.next (<ProjectPath>\node_modules\tslib\tslib.js:120:57)
at <ProjectPath>\node_modules\tslib\tslib.js:113:75
at new Promise (<anonymous>)
at Object.__awaiter (<ProjectPath>\node_modules\tslib\tslib.js:109:16)
at EventEmitter.<anonymous> (<ProjectPath>\node_modules\@angular\compiler-cli\ngcc\src\execution\cluster\master.js:239:32)
at EventEmitter.emit (events.js:315:20)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! <ProjectName>@0.0.0 postinstall: `ngcc`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the <ProjectName>@0.0.0 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
@nac0n - I believe that your issue is because there is a circular dependency within the source-map - source tree, which ngcc is not handling well. Tracking at FW-2041. The description in that issue is:
In the ngcc-validation project we have noted that
angular-draggable-droppable
causes ngcc to crash with a stack-overflow when processing the UMD format!This is because the source-map for this file contains inline source content that is has a source-map comment that references the original source-code. There is already cycle detection in the source-map loading algorithm but it only covers case where the source file is loaded more than one, creating a cycle. In this case the source is not loaded from a path on disk but is internal to the source-map itself, so it is not being caught and an infinite recursion is happening.
The proposed solution is to track the paths to the source-map files in addition to the paths to the source files.
I'll see if we can bump it up the priority queue.
@petebacondarwin - I see, we'll have the postinstall script and other occurrences with angular-draggable-droppable disabled for the time being if we can and will keep ourselves updated looking for fixes to it then. Thanks for the response.
Edit: I do not have access to that issue tracking, just a note. However, i trust that the information about the bugfix will reach consumers.
@nac0n - The fix to be more resilient to cycles in source-maps was landed in 9.1.1 - https://github.com/angular/angular/pull/36452
i am installing angular material and getting error and I think this is due to angular cli version 9
Initial ng build
("Compiling ... es2015 as esm2015") requires 4GB of ram for a fresh empty app with angular material (all latest). Is this really normal? :|
@nac0n - The fix to be more resilient to cycles in source-maps was landed in 9.1.1 - angular/angular#36452
Thanks for the help @petebacondarwin, looks like it doesn't crash anymore and the ngcc compilation goes through. But, we also get errors when running ngcc compilation.
node_modules/@angular/common/common.d.ts:115:22 - error NG6002: Appears in the NgModule.imports of MatTabsModule, but could not be resolved to an NgModule class.
This likely means that the library (@angular/common) which declares CommonModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Ivy.
115 export declare class CommonModule {
MatTabsModule
is not the only one that appears as an error, there's also MatSelectModule
, MatStepperModule
, MatSliderModule
, MatSidenavModule
and so on...
This error however doesn't appear again after the ngcc is done. We're running ng build
and ng serve
and we get a successful build/serve. I suppose this works even without the postinstall being successful...?
We think that this might be caused by the fact that some library (like @angular/cdk/coercion
) is not an Angular entry-point but is depending upon @angular/common
- and ngcc is not checking its dependencies. This causes ngcc to get the order of processing wrong and allows the filesystem cache of the @angular/common
typings file to be populated before it is processed. @JoostK is working on it...
The @angular/cdk/coercion
entry-point depends on @angular/core
, not @angular/common
. So I'm afraid it has a different cause. @nac0n it would be helpful if you could share additional logging or a reproduction, including the workflow that you use. E.g. is ngcc run only from the CLI or as a postinstall script?
@JoostK We run ngcc via postinstall. So ngcc is running when npm install has been ran. No other arguments, only "postinstall": ngcc
Our log after running npm install; P.S. Mind you that i replaced Project-Path and AppData-paths with placeholders.
λ npm install
> node-sass@4.13.1 install <projectpath>\node_modules\node-sass
> node scripts/install.js
Cached binary found at <appdataPath>\Roaming\npm-cache\node-sass\4.13.1\win32-x64-79_binding.node
> core-js@3.6.4 postinstall <projectpath>\node_modules\@angular-devkit\build-angular\node_modules\core-js
> node -e "try{require('./postinstall')}catch(e){}"
Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock
Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)
> core-js@2.6.11 postinstall <projectpath>\node_modules\core-js
> node -e "try{require('./postinstall')}catch(e){}"
> ejs@2.7.4 postinstall <projectpath>\node_modules\ejs
> node ./postinstall.js
Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)
> @angular/cli@9.1.1 postinstall <projectpath>\node_modules\@angular\cli
> node ./bin/postinstall/script.js
> node-sass@4.13.1 postinstall <projectpath>\node_modules\node-sass
> node scripts/build.js
Binary found at <projectpath>\node_modules\node-sass\vendor\win32-x64-79\binding.node
Testing binary
Binary is fine
> <projectname>@0.0.0 postinstall <projectpath>
> ngcc
Warning: Entry point 'ngx-papaparse' contains deep imports into '<ProjectPath>/node_modules/papaparse/papaparse.min.js'. This is probably not a problem, but may ca
use the compilation of entry points to be out of order.
Compiling @angular/animations : fesm2015 as esm2015
Compiling @angular/cdk/keycodes : fesm2015 as esm2015
Compiling @angular/animations : fesm5 as esm5
Compiling @angular/animations : main as umd
Compiling @angular/cdk/keycodes : esm5 as esm5
Compiling @angular/animations : esm2015 as esm2015
Compiling @angular/cdk/keycodes : main as umd
Compiling @angular/compiler/testing : fesm2015 as esm2015
Compiling @angular/compiler/testing : fesm5 as esm5
Compiling @angular/compiler/testing : main as umd
Compiling @angular/core : fesm2015 as esm2015
Compiling @angular/compiler/testing : esm5 as esm5
Compiling @angular/compiler/testing : esm2015 as esm2015
Compiling @angular/cdk/keycodes : fesm5 as esm5
Compiling @angular/animations : esm5 as esm5
Compiling @angular/cdk/keycodes : esm2015 as esm2015
Compiling @angular/common : fesm2015 as esm2015
Compiling @angular/cdk/collections : fesm2015 as esm2015
Compiling ngx-papaparse : fesm2015 as esm2015
Compiling @angular/animations/browser : fesm2015 as esm2015
Compiling @angular/cdk/observers : fesm2015 as esm2015
Compiling @ngrx/store : fesm2015 as esm2015
Compiling @angular/core/testing : fesm2015 as esm2015
Compiling @angular/cdk/platform : fesm2015 as esm2015
Compiling angular-tree-component : main as commonjs
Compiling @angular/cdk/bidi : fesm2015 as esm2015
Compiling @angular/cdk/accordion : fesm2015 as esm2015
Compiling @angular/core : fesm5 as esm5
Compiling @angular/platform-browser : fesm2015 as esm2015
Compiling @angular/cdk/portal : fesm2015 as esm2015
Compiling @angular/cdk/a11y : fesm2015 as esm2015
Compiling @angular/forms : fesm2015 as esm2015
Compiling @angular/cdk/scrolling : fesm2015 as esm2015
Compiling @angular/cdk/layout : fesm2015 as esm2015
Compiling @angular/common/http : fesm2015 as esm2015
Compiling @angular/platform-browser/animations : fesm2015 as esm2015
Compiling @angular/cdk/text-field : fesm2015 as esm2015
Compiling @angular/flex-layout/core : es2015 as esm2015
Compiling @angular/router : fesm2015 as esm2015
Compiling @angular/cdk/stepper : fesm2015 as esm2015
Compiling @angular/cdk/table : fesm2015 as esm2015
Compiling @angular/cdk/overlay : fesm2015 as esm2015
Compiling @angular/cdk/tree : fesm2015 as esm2015
Compiling @angular/material/core : fesm2015 as esm2015
Compiling @angular/platform-browser/testing : fesm2015 as esm2015
Compiling @angular/platform-browser-dynamic : fesm2015 as esm2015
Compiling @angular/common/testing : fesm2015 as esm2015
Compiling @ngrx/effects : fesm2015 as esm2015
Compiling angular-resizable-element : fesm2015 as esm2015
Compiling angular-draggable-droppable : fesm2015 as esm2015
Compiling @angular/flex-layout/flex : es2015 as esm2015
Compiling @angular/flex-layout/extended : es2015 as esm2015
Compiling @angular/material/form-field : fesm2015 as esm2015
Compiling @angular/material/button : fesm2015 as esm2015
Compiling @angular/material/divider : fesm2015 as esm2015
Compiling @angular/material/icon : fesm2015 as esm2015
Compiling @angular/flex-layout/grid : es2015 as esm2015
Compiling @angular/material/tooltip : fesm2015 as esm2015
Compiling @angular/material/dialog : fesm2015 as esm2015
Error: Failed to compile entry-point @angular/material/tooltip (fesm2015 as esm2015) due to compilation errors:
node_modules/@angular/common/common.d.ts:115:22 - error NG6002: Appears in the NgModule.imports of MatTooltipModule, but could not be resolved to an NgModule class.
This likely means that the library (@angular/common) which declares CommonModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if
a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Iv
y.
115 export declare class CommonModule {
~~~~~~~~~~~~
Compiling @angular/material/sort : fesm2015 as esm2015
Compiling @angular/material/input : fesm2015 as esm2015
Compiling @angular/animations/browser/testing : fesm2015 as esm2015
Compiling @angular/material/select : fesm2015 as esm2015
Compiling @angular/cdk/clipboard : fesm2015 as esm2015
Warning: Skipping processing of @angular/material/paginator because its dependency @angular/material/tooltip failed to compile.
Compiling @angular/common/http/testing : fesm2015 as esm2015
Compiling @angular/cdk/drag-drop : fesm2015 as esm2015
Compiling @angular/material/badge : fesm2015 as esm2015
Compiling @angular/material/autocomplete : fesm2015 as esm2015
Compiling @angular/material/card : fesm2015 as esm2015
Compiling @angular/material/button-toggle : fesm2015 as esm2015
Compiling @angular/material/bottom-sheet : fesm2015 as esm2015
Compiling @angular/material/checkbox : fesm2015 as esm2015
Compiling @angular/material/chips : fesm2015 as esm2015
Compiling @angular/material/expansion : fesm2015 as esm2015
Error: Failed to compile entry-point @angular/material/expansion (fesm2015 as esm2015) due to compilation errors:
node_modules/@angular/common/common.d.ts:115:22 - error NG6002: Appears in the NgModule.imports of MatExpansionModule, but could not be resolved to an NgModule class.
This likely means that the library (@angular/common) which declares CommonModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if
a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Iv
y.
115 export declare class CommonModule {
~~~~~~~~~~~~
Compiling @angular/material/grid-list : fesm2015 as esm2015
Compiling @angular/material/icon/testing : fesm2015 as esm2015
Compiling @angular/material/datepicker : fesm2015 as esm2015
Compiling @angular/material/list : fesm2015 as esm2015
Compiling @angular/material/progress-bar : fesm2015 as esm2015
Compiling @angular/material/menu : fesm2015 as esm2015
Warning: Skipping processing of @angular/material/table because its dependency @angular/material/tooltip failed to compile.
Compiling @angular/material/progress-spinner : fesm2015 as esm2015
Compiling @angular/material/radio : fesm2015 as esm2015
Compiling @angular/material/sidenav : fesm2015 as esm2015
Compiling @angular/material/slide-toggle : fesm2015 as esm2015
Compiling @angular/material/slider : fesm2015 as esm2015
Compiling @angular/material/snack-bar : fesm2015 as esm2015
Compiling @angular/material/stepper : fesm2015 as esm2015
Compiling @angular/material/toolbar : fesm2015 as esm2015
Compiling @angular/material/tabs : fesm2015 as esm2015
Compiling @angular/material/tree : fesm2015 as esm2015
Compiling @ngrx/effects/testing : fesm2015 as esm2015
Compiling @angular/router/testing : fesm2015 as esm2015
Compiling @ngrx/entity : fesm2015 as esm2015
Compiling @angular/platform-browser-dynamic/testing : fesm2015 as esm2015
Compiling @ngrx/store/testing : fesm2015 as esm2015
Compiling @ngrx/router-store : fesm2015 as esm2015
Compiling @angular/animations/browser : fesm5 as esm5
Compiling @angular/flex-layout : es2015 as esm2015
Compiling angular-calendar : fesm2015 as esm2015
Compiling @angular/core : main as umd
Compiling @angular/animations/browser : main as umd
Compiling @angular/animations/browser : esm2015 as esm2015
Compiling @angular/animations/browser : esm5 as esm5
Compiling @angular/animations/browser/testing : fesm5 as esm5
Compiling @angular/animations/browser/testing : esm2015 as esm2015
Compiling @angular/animations/browser/testing : esm5 as esm5
Compiling @angular/animations/browser/testing : main as umd
Compiling @angular/common : fesm5 as esm5
Compiling @angular/cdk/clipboard : fesm5 as esm5
Compiling @angular/common : main as umd
Compiling @angular/common : esm2015 as esm2015
Compiling @angular/cdk/clipboard : esm2015 as esm2015
Compiling @angular/common : esm5 as esm5
Compiling @angular/cdk/clipboard : esm5 as esm5
Compiling @angular/cdk/clipboard : main as umd
Compiling @angular/core : esm2015 as esm2015
Compiling @angular/cdk/platform : fesm5 as esm5
Compiling @angular/core : esm5 as esm5
Compiling @angular/cdk/platform : esm2015 as esm2015
Compiling @angular/cdk/platform : esm5 as esm5
Compiling @angular/cdk/platform : main as umd
Compiling @angular/cdk/bidi : fesm5 as esm5
Compiling @angular/cdk/bidi : esm2015 as esm2015
Compiling @angular/cdk/bidi : esm5 as esm5
Compiling @angular/cdk/collections : fesm5 as esm5
Compiling @angular/cdk/bidi : main as umd
Compiling @angular/cdk/collections : esm5 as esm5
Compiling @angular/cdk/collections : esm2015 as esm2015
Compiling @angular/cdk/collections : main as umd
Compiling @angular/cdk/scrolling : fesm5 as esm5
Compiling @angular/cdk/scrolling : esm2015 as esm2015
Compiling @angular/cdk/scrolling : esm5 as esm5
Compiling @angular/cdk/scrolling : main as umd
Compiling @angular/cdk/drag-drop : fesm5 as esm5
Compiling @angular/cdk/drag-drop : main as umd
Compiling @angular/cdk/drag-drop : esm2015 as esm2015
Compiling @angular/cdk/drag-drop : esm5 as esm5
Compiling @angular/common/http : fesm5 as esm5
Compiling @angular/common/http/testing : fesm5 as esm5
Compiling @angular/common/http : esm2015 as esm2015
Compiling @angular/common/http : main as umd
Compiling @angular/common/http/testing : esm2015 as esm2015
Compiling @angular/common/http : esm5 as esm5
Compiling @angular/common/http/testing : esm5 as esm5
Compiling @angular/common/http/testing : main as umd
Compiling @angular/flex-layout/core : main as umd
Compiling @angular/flex-layout/core : module as esm5
Compiling @angular/platform-browser : fesm5 as esm5
Compiling @angular/platform-browser : main as umd
Compiling @angular/platform-browser : esm2015 as esm2015
Compiling @angular/platform-browser : esm5 as esm5
Compiling @angular/flex-layout/extended : main as umd
Compiling @angular/flex-layout/extended : module as esm5
Compiling @angular/flex-layout/grid : main as umd
Compiling @angular/flex-layout/flex : module as esm5
Compiling @angular/flex-layout/flex : main as umd
Compiling @angular/flex-layout/grid : module as esm5
Compiling @angular/cdk/observers : fesm5 as esm5
Compiling @angular/flex-layout : module as esm5
Compiling @angular/flex-layout : main as umd
Compiling @angular/cdk/observers : main as umd
Compiling @angular/cdk/observers : esm2015 as esm2015
Compiling @angular/cdk/observers : esm5 as esm5
Compiling @angular/cdk/a11y : fesm5 as esm5
Compiling @angular/platform-browser/animations : fesm5 as esm5
Compiling @angular/cdk/a11y : esm2015 as esm2015
Compiling @angular/platform-browser/animations : esm2015 as esm2015
Compiling @angular/cdk/a11y : esm5 as esm5
Compiling @angular/cdk/a11y : main as umd
Compiling @angular/platform-browser/animations : esm5 as esm5
Compiling @angular/platform-browser/animations : main as umd
Compiling @angular/forms : fesm5 as esm5
Compiling @angular/forms : main as umd
Compiling @angular/material/core : fesm5 as esm5
Compiling @angular/forms : esm2015 as esm2015
Error: Failed to compile entry-point @angular/material/core (fesm5 as esm5) due to compilation errors:
node_modules/@angular/common/common.d.ts:115:22 - error NG6002: Appears in the NgModule.imports of MatOptionModule, but could not be resolved to an NgModule class.
This likely means that the library (@angular/common) which declares CommonModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if
a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Iv
y.
115 export declare class CommonModule {
~~~~~~~~~~~~
Compiling @angular/forms : esm5 as esm5
Compiling @angular/material/core : main as umd
Compiling @angular/material/core : esm5 as esm5
Compiling @angular/cdk/portal : fesm5 as esm5
Compiling @angular/material/core : esm2015 as esm2015
Compiling @angular/cdk/portal : esm2015 as esm2015
Compiling @angular/cdk/portal : esm5 as esm5
Compiling @angular/cdk/portal : main as umd
Compiling @angular/cdk/overlay : fesm5 as esm5
Compiling @angular/cdk/overlay : main as umd
Compiling @angular/cdk/overlay : esm2015 as esm2015
Compiling @angular/cdk/overlay : esm5 as esm5
Compiling @angular/material/form-field : fesm5 as esm5
Error: Failed to compile entry-point @angular/material/form-field (fesm5 as esm5) due to compilation errors:
node_modules/@angular/common/common.d.ts:115:22 - error NG6002: Appears in the NgModule.imports of MatFormFieldModule, but could not be resolved to an NgModule class.
This likely means that the library (@angular/common) which declares CommonModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if
a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Iv
y.
115 export declare class CommonModule {
~~~~~~~~~~~~
Compiling @angular/material/form-field : esm5 as esm5
Compiling @angular/material/form-field : esm2015 as esm2015
Compiling @angular/material/form-field : main as umd
Compiling @angular/material/autocomplete : fesm5 as esm5
Compiling @angular/material/badge : fesm5 as esm5
Compiling @angular/material/autocomplete : esm2015 as esm2015
Compiling @angular/material/autocomplete : main as umd
Compiling @angular/material/autocomplete : esm5 as esm5
Error: Failed to compile entry-point @angular/material/autocomplete (esm5 as esm5) due to compilation errors:
node_modules/@angular/common/common.d.ts:115:22 - error NG6002: Appears in the NgModule.imports of MatAutocompleteModule, but could not be resolved to an NgModule class.
This likely means that the library (@angular/common) which declares CommonModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if
a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Iv
y.
115Compiling @angular/material/badge : esm2015 as esm2015
export declare class CommonModule {
~~~~~~~~~~~~
Compiling @angular/material/badge : esm5 as esm5
Compiling @angular/material/badge : main as umd
Compiling @angular/cdk/layout : fesm5 as esm5
Compiling @angular/cdk/layout : esm2015 as esm2015
Compiling @angular/cdk/layout : main as umd
Compiling @angular/cdk/layout : esm5 as esm5
Compiling @angular/material/bottom-sheet : fesm5 as esm5
Compiling @angular/material/bottom-sheet : esm2015 as esm2015
Compiling @angular/material/button-toggle : fesm5 as esm5
Compiling @angular/material/bottom-sheet : esm5 as esm5
Compiling @angular/material/button-toggle : esm2015 as esm2015
Compiling @angular/material/button-toggle : esm5 as esm5
Compiling @angular/material/button-toggle : main as umd
Compiling @angular/material/bottom-sheet : main as umd
Compiling @angular/material/card : esm2015 as esm2015
Compiling @angular/material/card : fesm5 as esm5
Compiling @angular/material/card : esm5 as esm5
Compiling @angular/material/checkbox : fesm5 as esm5
Compiling @angular/material/card : main as umd
Compiling @angular/material/checkbox : esm2015 as esm2015
Compiling @angular/material/checkbox : esm5 as esm5
Compiling @angular/material/checkbox : main as umd
Compiling @angular/material/chips : fesm5 as esm5
Compiling @angular/material/button : fesm5 as esm5
Compiling @angular/material/chips : esm2015 as esm2015
Compiling @angular/material/chips : esm5 as esm5
Compiling @angular/material/button : esm2015 as esm2015
Compiling @angular/material/button : esm5 as esm5
Compiling @angular/material/chips : main as umd
Compiling @angular/material/button : main as umd
Compiling @angular/cdk/text-field : fesm5 as esm5
Compiling @angular/material/dialog : fesm5 as esm5
Compiling @angular/cdk/text-field : esm2015 as esm2015
Compiling @angular/material/dialog : esm2015 as esm2015
Compiling @angular/cdk/text-field : esm5 as esm5
Compiling @angular/material/dialog : main as umd
Compiling @angular/material/dialog : esm5 as esm5
Compiling @angular/cdk/text-field : main as umd
Compiling @angular/material/input : fesm5 as esm5
Compiling @angular/material/input : esm5 as esm5
Compiling @angular/material/input : esm2015 as esm2015
Compiling @angular/material/input : main as umd
Compiling @angular/material/datepicker : fesm5 as esm5
Compiling @angular/cdk/accordion : fesm5 as esm5
Warning: Skipping processing of @angular/material/expansion because its dependency @angular/material/expansion failed to compile.
Warning: Skipping processing of @angular/material/expansion because its dependency @angular/material/expansion failed to compile.
Warning: Skipping processing of @angular/material/expansion because its dependency @angular/material/expansion failed to compile.
Warning: Skipping processing of @angular/material/expansion because its dependency @angular/material/expansion failed to compile.
Compiling @angular/cdk/accordion : esm2015 as esm2015
Compiling @angular/cdk/accordion : esm5 as esm5
Compiling @angular/material/datepicker : main as umd
Compiling @angular/material/datepicker : esm2015 as esm2015
Compiling @angular/cdk/accordion : main as umd
Compiling @angular/material/datepicker : esm5 as esm5
Compiling @angular/material/grid-list : fesm5 as esm5
Compiling @angular/material/grid-list : esm5 as esm5
Compiling @angular/material/grid-list : main as umd
Compiling @angular/material/grid-list : esm2015 as esm2015
Compiling @angular/material/icon : fesm5 as esm5
Compiling @angular/material/icon : esm2015 as esm2015
Compiling @angular/material/icon : esm5 as esm5
Compiling @angular/material/icon/testing : fesm5 as esm5
Compiling @angular/material/icon : main as umd
Compiling @angular/material/icon/testing : esm5 as esm5
Compiling @angular/material/icon/testing : esm2015 as esm2015
Compiling @angular/material/divider : fesm5 as esm5
Compiling @angular/material/icon/testing : main as umd
Compiling @angular/material/divider : esm2015 as esm2015
Compiling @angular/material/divider : esm5 as esm5
Compiling @angular/material/divider : main as umd
Compiling @angular/material/list : fesm5 as esm5
Compiling @angular/material/list : esm2015 as esm2015
Compiling @angular/material/list : main as umd
Compiling @angular/material/list : esm5 as esm5
Compiling @angular/material/menu : fesm5 as esm5
Compiling @angular/material/menu : main as umd
Compiling @angular/material/menu : esm2015 as esm2015
Compiling @angular/material/menu : esm5 as esm5
Error: Failed to compile entry-point @angular/material/menu (main as umd) due to compilation errors:
node_modules/@angular/common/common.d.ts:115:22 - error NG6002: Appears in the NgModule.imports of MatMenuModule, but could not be resolved to an NgModule class.
This likely means that the library (@angular/common) which declares CommonModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if
a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Iv
y.
115 export declare class CommonModule {
~~~~~~~~~~~~
Compiling @angular/material/progress-bar : fesm5 as esm5
Compiling @angular/material/progress-bar : esm2015 as esm2015
Compiling @angular/material/progress-bar : esm5 as esm5
Compiling @angular/material/progress-spinner : fesm5 as esm5
Compiling @angular/material/progress-bar : main as umd
Compiling @angular/material/progress-spinner : esm2015 as esm2015
Error: Failed to compile entry-point @angular/material/progress-spinner (esm2015 as esm2015) due to compilation errors:
node_modules/@angular/common/common.d.ts:115:22 - error NG6002: Appears in the NgModule.imports of MatProgressSpinnerModule, but could not be resolved to an NgModule class
.
This likely means that the library (@angular/common) which declares CommonModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if
a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Iv
y.
115 export declare class CommonModule {
~~~~~~~~~~~~
Compiling @angular/material/progress-spinner : esm5 as esm5
Compiling @angular/material/progress-spinner : main as umd
Compiling @angular/material/radio : fesm5 as esm5
Compiling @angular/material/radio : esm2015 as esm2015
Compiling @angular/material/radio : esm5 as esm5
Compiling @angular/material/radio : main as umd
Compiling @angular/material/sidenav : fesm5 as esm5
Compiling @angular/material/sidenav : esm2015 as esm2015
Compiling @angular/material/slide-toggle : fesm5 as esm5
Error: Failed to compile entry-point @angular/material/sidenav (esm2015 as esm2015) due to compilation errors:
node_modules/@angular/common/common.d.ts:115:22 - error NG6002: Appears in the NgModule.imports of MatSidenavModule, but could not be resolved to an NgModule class.
This likely means that the library (@angular/common) which declares CommonModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if
a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Iv
y.
115 export declare class CommonModule {
~~~~~~~~~~~~
Compiling @angular/material/slide-toggle : esm2015 as esm2015
Compiling @angular/material/sidenav : esm5 as esm5
Compiling @angular/material/sidenav : main as umd
Compiling @angular/material/slide-toggle : esm5 as esm5
Compiling @angular/material/slide-toggle : main as umd
Compiling @angular/material/slider : esm2015 as esm2015
Compiling @angular/material/slider : fesm5 as esm5
Error: Failed to compile entry-point @angular/material/slider (esm2015 as esm2015) due to compilation errors:
node_modules/@angular/common/common.d.ts:115:22 - error NG6002: Appears in the NgModule.imports of MatSliderModule, but could not be resolved to an NgModule class.
This likely means that the library (@angular/common) which declares CommonModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if
a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Iv
y.
115 export declare class CommonModule {
~~~~~~~~~~~~
Compiling @angular/material/slider : esm5 as esm5
Compiling @angular/material/slider : main as umd
Compiling @angular/material/snack-bar : fesm5 as esm5
Compiling @angular/cdk/stepper : fesm5 as esm5
Compiling @angular/material/snack-bar : esm2015 as esm2015
Compiling @angular/material/snack-bar : esm5 as esm5
Compiling @angular/cdk/stepper : esm2015 as esm2015
Compiling @angular/cdk/stepper : esm5 as esm5
Compiling @angular/material/snack-bar : main as umd
Compiling @angular/cdk/stepper : main as umd
Compiling @angular/material/stepper : fesm5 as esm5
Compiling @angular/material/stepper : esm2015 as esm2015
Compiling @angular/material/stepper : main as umd
Compiling @angular/cdk/table : fesm5 as esm5
Error: Failed to compile entry-point @angular/material/stepper (esm2015 as esm2015) due to compilation errors:
node_modules/@angular/common/common.d.ts:115:22 - error NG6002: Appears in the NgModule.imports of MatStepperModule, but could not be resolved to an NgModule class.
This likely means that the library (@angular/common) which declares CommonModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if
a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Iv
y.
115 export declare class CommonModule {
~~~~~~~~~~~~
Compiling @angular/material/stepper : esm5 as esm5
Compiling @angular/cdk/table : esm2015 as esm2015
Compiling @angular/cdk/table : main as umd
Warning: Skipping processing of @angular/material/tooltip because its dependency @angular/material/tooltip failed to compile.
Warning: Skipping processing of @angular/material/tooltip because its dependency @angular/material/tooltip failed to compile.
Warning: Skipping processing of @angular/material/tooltip because its dependency @angular/material/tooltip failed to compile.
Warning: Skipping processing of @angular/material/tooltip because its dependency @angular/material/tooltip failed to compile.
Warning: Skipping processing of @angular/material/paginator because its dependency @angular/material/tooltip failed to compile.
Warning: Skipping processing of @angular/material/paginator because its dependency @angular/material/tooltip failed to compile.
Warning: Skipping processing of @angular/material/paginator because its dependency @angular/material/tooltip failed to compile.
Warning: Skipping processing of @angular/material/paginator because its dependency @angular/material/tooltip failed to compile.
Compiling @angular/cdk/table : esm5 as esm5
Compiling @angular/material/select : fesm5 as esm5
Warning: Skipping processing of @angular/material/table because its dependency @angular/material/tooltip failed to compile.
Warning: Skipping processing of @angular/material/table because its dependency @angular/material/tooltip failed to compile.
Warning: Skipping processing of @angular/material/table because its dependency @angular/material/tooltip failed to compile.
Warning: Skipping processing of @angular/material/table because its dependency @angular/material/tooltip failed to compile.
Compiling @angular/material/select : esm2015 as esm2015
Error: Failed to compile entry-point @angular/material/select (esm2015 as esm2015) due to compilation errors:
node_modules/@angular/common/common.d.ts:115:22 - error NG6002: Appears in the NgModule.imports of MatSelectModule, but could not be resolved to an NgModule class.
This likely means that the library (@angular/common) which declares CommonModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if
a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Iv
y.
115 export declare class CommonModule {
~~~~~~~~~~~~
Compiling @angular/material/sort : fesm5 as esm5
Compiling @angular/material/sort : esm2015 as esm2015
Compiling @angular/material/select : esm5 as esm5
Compiling @angular/material/select : main as umd
Compiling @angular/material/sort : esm5 as esm5
Compiling @angular/material/sort : main as umd
Compiling @angular/material/tabs : fesm5 as esm5
Compiling @angular/material/toolbar : fesm5 as esm5
Compiling @angular/material/toolbar : esm2015 as esm2015
Compiling @angular/material/tabs : esm2015 as esm2015
Compiling @angular/material/tabs : main as umd
Compiling @angular/material/toolbar : esm5 as esm5
Error: Failed to compile entry-point @angular/material/tabs (esm2015 as esm2015) due to compilation errors:
node_modules/@angular/common/common.d.ts:115:22 - error NG6002: Appears in the NgModule.imports of MatTabsModule, but could not be resolved to an NgModule class.
This likely means that the library (@angular/common) which declares CommonModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if
a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Iv
y.
115 export declare class CommonModule {
~~~~~~~~~~~~
Compiling @angular/material/toolbar : main as umd
Compiling @angular/material/tabs : esm5 as esm5
Compiling @angular/cdk/tree : esm5 as esm5
Compiling @angular/cdk/tree : esm2015 as esm2015
Compiling @angular/cdk/tree : fesm5 as esm5
Compiling @angular/cdk/tree : main as umd
Compiling @angular/material/tree : fesm5 as esm5
Compiling @angular/material/tree : esm2015 as esm2015
Compiling @angular/material/tree : esm5 as esm5
Compiling @angular/material/tree : main as umd
Compiling @angular/core/testing : fesm5 as esm5
Compiling @angular/platform-browser-dynamic : fesm5 as esm5
Compiling @angular/core/testing : esm5 as esm5
Compiling @angular/core/testing : main as umd
Compiling @angular/core/testing : esm2015 as esm2015
Compiling @angular/platform-browser-dynamic : esm2015 as esm2015
Compiling @angular/platform-browser-dynamic : main as umd
Compiling @angular/platform-browser-dynamic : esm5 as esm5
Compiling @angular/platform-browser/testing : fesm5 as esm5
Compiling @angular/platform-browser/testing : esm2015 as esm2015
Compiling @angular/platform-browser/testing : esm5 as esm5
Compiling @angular/platform-browser/testing : main as umd
Compiling @angular/common/testing : fesm5 as esm5
Compiling @angular/common/testing : esm2015 as esm2015
Compiling @angular/common/testing : esm5 as esm5
Compiling @angular/platform-browser-dynamic/testing : esm5 as esm5
Compiling @angular/platform-browser-dynamic/testing : esm2015 as esm2015
Compiling @angular/platform-browser-dynamic/testing : main as umd
Compiling @angular/platform-browser-dynamic/testing : fesm5 as esm5
Compiling @angular/common/testing : main as umd
Compiling @angular/router : fesm5 as esm5
Compiling @angular/router/testing : fesm5 as esm5
Compiling @angular/router/testing : esm5 as esm5
Compiling @angular/router/testing : esm2015 as esm2015
Compiling @angular/router : main as umd
Compiling @angular/router/testing : main as umd
Compiling @angular/router : esm2015 as esm2015
Compiling @angular/router : esm5 as esm5
Compiling @ngrx/store : fesm5 as esm5
Compiling @ngrx/store : main as umd
Compiling @ngrx/store : esm5 as esm5
Compiling @ngrx/store : esm2015 as esm2015
Compiling @ngrx/effects : fesm5 as esm5
Compiling @ngrx/effects/testing : fesm5 as esm5
Compiling @ngrx/effects : esm2015 as esm2015
Compiling @ngrx/effects : main as umd
Compiling @ngrx/effects : esm5 as esm5
Compiling @ngrx/effects/testing : esm5 as esm5
Compiling @ngrx/effects/testing : esm2015 as esm2015
Compiling @ngrx/effects/testing : main as umd
Compiling @ngrx/entity : fesm5 as esm5
Compiling @ngrx/entity : esm2015 as esm2015
Compiling @ngrx/entity : esm5 as esm5
Compiling @ngrx/entity : main as umd
Compiling @ngrx/router-store : fesm5 as esm5
Compiling @ngrx/store/testing : fesm5 as esm5
Compiling @ngrx/router-store : esm5 as esm5
Compiling @ngrx/router-store : main as umd
Compiling @ngrx/store/testing : esm5 as esm5
Compiling @ngrx/store/testing : esm2015 as esm2015
Compiling @ngrx/router-store : esm2015 as esm2015
Compiling @ngrx/store/testing : main as umd
Compiling angular-draggable-droppable : fesm5 as esm5
Compiling angular-resizable-element : fesm5 as esm5
Compiling angular-draggable-droppable : main as umd
Compiling angular-draggable-droppable : esm5 as esm5
Warning: Unable to fully load <project-path>/node_modules/angular-draggable-droppable/bundles/angular-draggable-droppable.umd.js for source-map flattening: Circular
source file mapping dependency: <project-path>/node_modules/angular-draggable-droppable/bundles/angular-draggable-droppable.umd.js.map -> <project-path>/nod
e_modules/angular-draggable-droppable/bundles/angular-draggable-droppable.umd.js.map
Compiling angular-resizable-element : esm2015 as esm2015
Compiling angular-draggable-droppable : esm2015 as esm2015
Compiling angular-resizable-element : esm5 as esm5
Compiling angular-resizable-element : main as umd
Compiling angular-calendar : fesm5 as esm5
Compiling angular-calendar : main as umd
Compiling ngx-papaparse : fesm5 as esm5
Compiling angular-calendar : esm2015 as esm2015
Compiling angular2-highcharts : main as commonjs
Compiling angular-calendar : esm5 as esm5
Compiling ag-grid-angular : main as commonjs
Compiling ngx-papaparse : esm5 as esm5
Compiling ngx-papaparse : esm2015 as esm2015
Warning: Unable to fully load <project-path>/node_modules/ag-grid-angular/main.js for source-map flattening: ENOENT: no such file or directory, lstat '<project-path>/node_modules/ag-grid-angular/exports.js.map'
Compiling ngx-papaparse : main as umd
Compiling angular-tree-component : module as esm5
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.2 (node_modules\@angular\compiler-cli\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.2 (node_modules\ng-packagr\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.11 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.11: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
added 1662 packages from 1166 contributors and audited 23300 packages in 351.309s
45 packages are looking for funding
run `npm fund` for details
found 101 vulnerabilities (94 low, 1 moderate, 6 high)
run `npm audit fix` to fix them, or `npm audit` for details
@nac0n Thanks, that is very helpful. It does indeed look like the issue that Pete mentioned, but as @angular/common
is affected and not @angular/core
it is not caused by @angular/cdk/coercion
(I checked and there is no import of @angular/common
there).
Could you share your package.json
so that I can try running ngcc myself? Just the package.json
should be enough to just kick off ngcc. If there's any private dependencies feel free to remove them, hopefully I can reproduce without those being present)
@nac0n - could you provide us with a reproduction that we could play with?
@JoostK @petebacondarwin We have a some scripts to start the application with, so i removed them. If you need them, then i'll add them and edit this comment.
{
"name": "app",
"version": "0.0.0",
"license": "MIT",
"angular-cli": {},
"scripts": {
"ng": "ng",
"start": "ng serve",
"postinstall": "ngcc"
},
"private": true,
"dependencies": {
"@angular/animations": "^9.1.1",
"@angular/cdk": "^9.1.1",
"@angular/common": "^9.1.1",
"@angular/compiler": "^9.1.1",
"@angular/core": "^9.1.1",
"@angular/flex-layout": "^9.0.0-beta.29",
"@angular/forms": "^9.1.1",
"@angular/material": "^9.1.1",
"@angular/platform-browser": "^9.1.1",
"@angular/platform-browser-dynamic": "^9.1.1",
"@angular/router": "^9.1.1",
"@ngrx/effects": "^9.0.0",
"@ngrx/entity": "^9.0.0",
"@ngrx/router-store": "^9.0.0",
"@ngrx/store": "^9.0.0",
"ag-grid-angular": "^20.2.0",
"ag-grid-community": "^20.2.0",
"ag-grid-enterprise": "^20.2.0",
"angular-calendar": "^0.28.5",
"angular-tree-component": "^8.5.6",
"angular2-highcharts": "^0.5.5",
"calendar-utils": "^0.7.0",
"core-js": "^2.6.9",
"date-fns": "^2.10.0",
"dexie": "^2.0.1",
"highcharts": "^6.0.7",
"highcharts-multicolor-series": "^2.2.1",
"intl": "^1.2.5",
"jquery": "^3.4.1",
"jwt-decode": "^2.2.0",
"moment": "^2.24.0",
"moment-duration-format": "^1.3.0",
"ngrx-store-freeze": "^0.2.4",
"ngx-papaparse": "^4.0.4",
"platform": "^1.3.4",
"rxjs": "^6.5.3",
"tslib": "^1.10.0",
"typescript": "^3.7.5",
"web-animations-js": "^2.3.2",
"zone.js": "~0.10.2"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.900.7",
"@angular-devkit/build-ng-packagr": "~0.900.7",
"@angular/cli": "^9.1.1",
"@angular/compiler-cli": "^9.1.1",
"@angular/language-service": "^9.1.1",
"@types/jasmine": "~2.5.53",
"@types/jasminewd2": "~2.0.2",
"@types/node": "^12.11.1",
"codelyzer": "^5.1.2",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~3.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "^2.1.0",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-scss-preprocessor": "^3.0.0",
"ng-packagr": "^9.0.0",
"node-sass": "^4.12.0",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.11.0",
"webpack-bundle-analyzer": "^3.5.1"
}
}
@nac0n Thanks, it fails for me too! This should allow us to establish the root cause and work towards a fix.
We have a problem with our jenkins build since we migrated to Angular 9. Everything works fine on our local machines, but when we run the build job on jenkins it fails. npm and node versions are the same on all machines. The error appears only with "ng build --prod" - "ng build" works on jenkins.
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
npm info lifecycle my_project@1.0.30~build: Failed to exec build script
npm ERR! code ELIFECYCLE
npm ERR! errno 134
npm ERR! my_project@1.0.30 build: `ng build --prod`
npm ERR! Exit status 134
npm ERR!
npm ERR! Failed at the my_project@1.0.30 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm timing npm Completed in 161871ms
I already put it on stackoverflow a few days ago: https://stackoverflow.com/questions/61223286/angular-9-ng-build-prod-with-devextreme-failing-only-on-jenkins
Today I updated to Angular Cli 9.1.3 - my problem (one comment above) is still there.
If you are experiencing performance problems or out of memory errors with Angular CLI version 9, please let us known on this issue.