Building angular app with source map fail with “CALL_AND_RETRY_LAST Allocation failed – JavaScript heap out of memory”

I’m building an Angular app with this command:

ng build --prod --configuration=prod --source-map

The versions of Angular and other packages were:

tanguy@tanguy-Aspire-E5-575G:~/Projects/Piximate/web$ ng version

Angular CLI: 6.1.2
Node: 8.10.0
OS: linux x64
Angular: 6.1.1
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, platform-server, router

Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.7.2
@angular-devkit/build-angular 0.7.2
@angular-devkit/build-optimizer 0.7.2
@angular-devkit/build-webpack 0.7.2
@angular-devkit/core 0.7.2
@angular-devkit/schematics 0.7.2
@angular/cdk 6.4.2
@angular/cli 6.1.2
@angular/material 6.4.2
@ngtools/webpack 6.1.2
@schematics/angular 0.7.2
@schematics/update 0.7.2
rxjs 6.2.2
typescript 2.9.2
webpack 4.9.2

There is a Github thread about this issue: https://github.com/angular/angular-cli/issues/5618
But it has never been resolved. However it contains some potential solutions.

What finally worked for me is the solution proposed in this comment: Increase the max size of Node.js for the command by running this:

node --max_old_space_size=8192 node_modules/@angular/cli/bin/ng build --prod --configuration=staging --source-map

To make my life easier, I created an alias for this command in my package.json

 

// package.json

"scripts": {
  "ng-high-mem": "node --max_old_space_size=8192 node_modules/@angular/cli/bin/ng",
  "build:prod": "npm run ng-high-mem -- build --prod --configuration=prod --source-map",
  ...
}

Note the double dash “–” before passing the arguments of the build. This is needed to ensure theses arguments are not swallowed by npm run and make sure they are passed to ng-high-mem

So I can build successfully with

npm run build:staging

 

Angular 2 – Fresh project cannot find module added with npm

Note: the version of Angular 2 is:


@angular/cli: 1.0.0-rc.0
node: 6.9.5
os: win32 x64
@angular/common: 2.4.10
@angular/compiler: 2.4.10
@angular/core: 2.4.10
@angular/forms: 2.4.10
@angular/http: 2.4.10
@angular/platform-browser: 2.4.10
@angular/platform-browser-dynamic: 2.4.10
@angular/router: 3.4.10
@angular/cli: 1.0.0-rc.0
@angular/compiler-cli: 2.4.10

I started a new project Angular 2 using the CLI and just added the parse npm package using


npm install parse --save

So I’m all happy and want to try my new app with ng serve -o and BIMERROR in D:/tangu/Documents/Projects/cannot-find-parse/src/app/app.component.ts (2,21): Cannot find module ‘parse’.)

Here is the commit with the project failing 😥

SOLUTION

I added a file named declarations.d.ts under /src and now it works fine 🙂

Content of src/declarations.d.ts:


declare module '*';

 

Here is the github project: https://github.com/seza443/cannot-find-parse