Angular-cli: SCRIPT1002: Syntax error in IE11 even with [email protected]

Created on 22 Jan 2018  路  16Comments  路  Source: angular/angular-cli

Versions

<!--
Output from: `ng --version`.
If nothing, output from: `node --version` and `npm --version`.
  Windows (7/8/10). Linux (incl. distribution). macOS (El Capitan? Sierra?)
-->

Angular CLI: 1.6.5
Node: 8.9.3
OS: win32 x64
Angular: 5.2.1
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cdk: 5.1.0
@angular/cli: 1.6.5
@angular/material: 5.1.0
@angular-devkit/build-optimizer: 0.0.41
@angular-devkit/core: 0.0.28
@angular-devkit/schematics: 0.0.51
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.5
@schematics/angular: 0.1.16
typescript: 2.5.3
webpack: 3.10.0

My Pollyfills

/**
 * This file includes polyfills needed by Angular and is loaded before the app.
 * You can add your own extra polyfills to this file.
 *
 * This file is divided into 2 sections:
 *   1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
 *   2. Application imports. Files imported after ZoneJS that should be loaded before your main
 *      file.
 *
 * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
 * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
 * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
 *
 * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
 */

/***************************************************************************************************
 * BROWSER POLYFILLS
 */

/** IE9, IE10 and IE11 requires all of the following polyfills. **/
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/weak-map';
import 'core-js/es6/set';

/** IE10 and IE11 requires the following for NgClass support on SVG elements */
// import 'classlist.js';  // Run `npm install --save classlist.js`.

/** IE10 and IE11 requires the following for the Reflect API. */
import 'core-js/es6/reflect';


/** Evergreen browsers require these. **/
// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.
import 'core-js/es7/reflect';


/**
 * Required to support Web Animations `@angular/platform-browser/animations`.
 * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation
 **/
// import 'web-animations-js';  // Run `npm install --save web-animations-js`.



/***************************************************************************************************
 * Zone JS is required by default for Angular itself.
 */
import 'zone.js/dist/zone';  // Included with Angular CLI.
import 'hammerjs/hammer';


/***************************************************************************************************
 * APPLICATION IMPORTS
 */

Observed behavior

Issue only in development mode, the production build does not have this issue.

Most helpful comment

Hello, I also have this error and get this same 'maximum call stack exceded'

All 16 comments

@ayush987goyal What error are you seeing in the IE console?

I am getting the error mentioned in the title. Which is

SCRIPT1002: Syntax error
File: vendor.bundle.js, Line: 1709, Column: 1

Line 1709 in vendor.bundle.js

eval("\nconst ansiRegex = __webpack_require__(\"../../../../webpack-dev-server/node_modules/ansi-regex/index.js\");\n\nmodule.exports = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIih3ZWJwYWNrKS1kZXYtc2VydmVyL25vZGVfbW9kdWxlcy9zdHJpcC1hbnNpL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi4vLi4vLi4vLi4vd2VicGFjay1kZXYtc2VydmVyL25vZGVfbW9kdWxlcy9zdHJpcC1hbnNpL2luZGV4LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuY29uc3QgYW5zaVJlZ2V4ID0gcmVxdWlyZSgnYW5zaS1yZWdleCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGlucHV0ID0+IHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycgPyBpbnB1dC5yZXBsYWNlKGFuc2lSZWdleCgpLCAnJykgOiBpbnB1dDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vICh3ZWJwYWNrKS1kZXYtc2VydmVyL25vZGVfbW9kdWxlcy9zdHJpcC1hbnNpL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAuLi8uLi8uLi8uLi93ZWJwYWNrLWRldi1zZXJ2ZXIvbm9kZV9tb2R1bGVzL3N0cmlwLWFuc2kvaW5kZXguanNcbi8vIG1vZHVsZSBjaHVua3MgPSB2ZW5kb3IiXSwic291cmNlUm9vdCI6IndlYnBhY2s6Ly8vIn0=\n//# sourceURL=webpack-internal:///../../../../webpack-dev-server/node_modules/strip-ansi/index.js\n");

I can see a fat arrow invendor.bundle.js. which is what is causing IE to fall over. Looks like it is being pulled in by ansi-regex which is a dependency of strip-ansi

So basically looks like the same issue as mine. Perhaps this command will help work out what you have installed:

npm list ansi-regex

And then you can cross reference with the source in node modules to find the offending import.

Might also be worth checking your npm version. I'm on 5.6.0.

It seems that fat arrow was introduced in strip-ansi 4.0.0 and ansi-regex 3.0.0.

My output for above is

+-- @angular/[email protected]
| +-- [email protected]
| | `-- [email protected]
| |   `-- [email protected]
| |     `-- [email protected]
| |       `-- [email protected]
| `-- [email protected]
|   `-- [email protected]
|     `-- [email protected]
`-- [email protected]
  `-- [email protected]
    +-- [email protected]
    | `-- [email protected]
    `-- [email protected]
      `-- [email protected]  deduped

What should I do to fix this? Will updating my npm help?

Looks like you still have webpack-dev-server 2.11.0 installed.

Add "webpack-dev-server": "^2.11.1" to your package json and rerun npm install

That's a workaround. That's the reason I opened this issue. The CLI is still using 2.11.0 for webpack-dev-server which needs to be addressed. Here is the output of npm list webpack-dev-server

`-- @angular/[email protected]
  `-- [email protected]

In the node_modules directory, when I look into the package.json of webpack-dev-server I can see its version to be 2.11.1. I am not sure why there are multiple versions for the same dependency.

The CLI uses ~2.11.0 for the version of webpack-dev-server which means the latest patch release will be installed. However, your project's package lock file will record the exact version initially installed and re-use that version unless otherwise instructed. npm update webpack-dev-server --depth 9999 can be used to tell npm to update the package to the latest allowable version.

I'm going to close this as @clydin has the actual fix to this issue. Let us know if npm update doesn't fix it.

changed my webpack-dev-server version to "2.7.1" and it seems fine.

npm update won't run, Maximum call stack excedded

I'm having the same issue. npm update won't run. Maximum call stack exceeded. I'm seeing the error "Object doesn't support property or method 'includes' in my IE dev tools debugger.

I also get this error with IE.

I do have webpack-dev-server 2.11.2, but when I ran the command above:

npm list ansi-regex

I got the following. It seems there is some error, can this be the problem?

+-- @angular/[email protected]
| +-- [email protected]
| | `-- [email protected]
| |   `-- [email protected]
| |     `-- [email protected]
| |       `-- [email protected]
| `-- [email protected]
|   `-- [email protected]
|     `-- [email protected]
+-- @angular/[email protected]
| `-- [email protected]
|   `-- UNMET OPTIONAL DEPENDENCY [email protected]
|     `-- UNMET OPTIONAL DEPENDENCY [email protected]
|       `-- UNMET OPTIONAL DEPENDENCY [email protected]
|         `-- UNMET OPTIONAL DEPENDENCY [email protected]
|           `-- UNMET DEPENDENCY [email protected]
|             `-- UNMET DEPENDENCY [email protected]
+-- [email protected]
| `-- [email protected]
|   `-- [email protected]
|     `-- [email protected]  deduped
`-- [email protected]
  +-- [email protected]
  +-- [email protected]
  | +-- [email protected]
  | | `-- [email protected]
  | |   `-- [email protected]  deduped
  | `-- [email protected]
  |   `-- [email protected]
  +-- [email protected]
  | `-- [email protected]
  |   `-- [email protected]
  |     `-- [email protected]
  +-- [email protected]
  | `-- [email protected]
  |   `-- [email protected]
  +-- [email protected]
  | `-- [email protected]
  |   `-- [email protected]
  |     `-- [email protected]
  |       `-- [email protected]
  |         `-- [email protected]
  +-- [email protected]
  | `-- [email protected]
  |   `-- [email protected]
  |     `-- [email protected]
  `-- [email protected]
    `-- [email protected]

npm ERR! missing: [email protected], required by [email protected]
npm ERR! missing: [email protected], required by [email protected]

I don't know what this means since I haven't done any custom installations on ansi-regex or strip-ansi, only updated the Angular CLI as instructed.

I also tried the solution by doing npm update webpack-dev-server --depth 9999, but also got "Maximum call stack excedded"

Hello, I also have this error and get this same 'maximum call stack exceded'

SCRIPT1002: Syntax error
polyfills.js (3142,5)
SCRIPT1002: Syntax error
vendor.js (156,1)
SCRIPT1002: Syntax error
main.js (87,24)
im geting this error in ie 11

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

_This action has been performed automatically by a bot._

Was this page helpful?
0 / 5 - 0 ratings

Related issues

IngvarKofoed picture IngvarKofoed  路  3Comments

delasteve picture delasteve  路  3Comments

rajjejosefsson picture rajjejosefsson  路  3Comments

hareeshav picture hareeshav  路  3Comments

gotschmarcel picture gotschmarcel  路  3Comments