0
votes

I am using following command to build angular project (it has some bower components under assets folder):

./node_modules/.bin/ng build --prod --base-href /project

And after running above command I am getting following error :

ERROR in main-es2015.110a0182c67c95b8de43.js from Terser Error: Cannot negate a statement
at AST_ClassExpression. (/node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:175355)
at AST_ClassExpression.negate (/node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:176467)
at /node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:200508
at AST_If.optimize (/node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:137605)
at ai.before (/node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:137382)
at AST_If.transform (/node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:84306)
at /node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:84470 at l (/node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:953)
at e (/node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:1273)
at kn (/node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:84444)

Versions :

"terser": "4.6.3"
"terser-webpack-plugin": "3.0.3"
"webpack": "4.39.2"
"@angular-devkit/architect": "0.803.29"
"@angular-devkit/build-optimizer": "0.803.29"
"@angular-devkit/build-webpack": "0.803.29"
"@angular-devkit/core": "8.3.29"

I know we can bypass this by setting optimization param to false in build command but it won't create a minified bundles.

Any suggestion on how to approach on this?

1

1 Answers

0
votes

In my case, this was not related to library. I have the following code where I got this error:

this.homeService.subscribe((homeEvents: HomeEvents[]) => {
            if (HomeEvents) { // Error in this line. 
              this.events.unshift(homeAnnouncement[0]);
            }
          });

The HomeEvents should have been homeEvents that is why its throwing this specific error. HomeEvents is a class, not a variable for if/else statement. Hope this helps others as it took me sometime to find out where and which line is causing the code to break.