2

My angular application (version 11) is not running in Internet Explorer 11. I get the error Syntax error in regular expression in the polyfills-es5.js file.

polyfill error in browser console

error in pollyfill-es5.js

My polyfills.ts file looks like the following

/**
 * 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/guide/browser-support
 */

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

import 'core-js/es/symbol';
import 'core-js/es/object';
import 'core-js/es/function';
import 'core-js/es/parse-int';
import 'core-js/es/parse-float';
import 'core-js/es/number';
import 'core-js/es/math';
import 'core-js/es/string';
import 'core-js/es/date';
import 'core-js/es/array';
import 'core-js/es/regexp';
import 'core-js/es/map';
import 'core-js/es/weak-map';
import 'core-js/es/set';
import 'core-js/es/promise';
import 'core-js/es/string';
//import 'regenerator-runtime/runtime';

import cssVars from 'css-vars-ponyfill';
if (!(window.CSS && window.CSS.supports && window.CSS.supports('--a', '0'))) {
  cssVars({
    onlyLegacy: true,
    shadowDOM: true,
    watch: true,
    updateURLs: false,
    silent: true,
  });
}

import 'core-js';
import 'classlist.js';
import 'core-js/es/reflect';

/**
 * By default, zone.js will patch all possible macroTask and DomEvents
 * user can disable parts of macroTask/DocdmEvents patch by setting following flags
 * because those flags need to be set before `zone.js` being loaded, and webpack
 * will put import in the top of bundle, so user need to create a separate file
 * in this directory (for example: zone-flags.ts), and put the following flags
 * into that file, and then add the following code before importing zone.js.
 * import './zone-flags';
 *
 * The flags allowed in zone-flags.ts are listed here.
 *
 * The following flags will work for all browsers.
 *
 * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
 * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
 * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
 *
 *  in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
 *  with the following flag, it will bypass `zone.js` patch for IE/Edge
 *
 *  (window as any).__Zone_enable_cross_context_check = true;
 *
 */

//import 'exceljs/dist/es5';

/***************************************************************************************************
 * Zone JS is required by default for Angular itself.
 */
(window as any).__Zone_enable_cross_context_check = true;
import 'zone.js/dist/zone'; // Included with Angular CLI.

import * as process from 'process';
window['process'] = process;
/***************************************************************************************************
 * APPLICATION IMPORTS
 */

I already changed the target to "es5" and I am using the following tsconfig.json

/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "strictNullChecks": false,
    "skipLibCheck": true,
    "noImplicitReturns": true,
    "noImplicitAny": true,
    "noFallthroughCasesInSwitch": true,
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "module": "es2020",
    "importHelpers": true,
    "target": "es5",
    "suppressImplicitAnyIndexErrors": true,
    "types": ["node"],
    "lib": [
      "es2018",
      "dom"
    ],
    "allowJs": true,
    "paths": {
      "@components/*": ["src/app/components/*"],
      "@pages/*": ["src/app/pages/*"],
      "@services/*": ["src/app/services/*"],
      "@models/*": ["src/app/models/*"],
      "@utils/*": ["src/app/utils/*"],
      "@environments/*": ["src/environments/*"]
    }
  },
  "angularCompilerOptions": {
    "enableI18nLegacyMessageIdFormat": false,
    "strictInjectionParameters": true,
    "strictInputAccessModifiers": true,
    "strictTemplates": false,
    "strictDomEventTypes": false,
    "fullTemplateTypeCheck": false,
  },
  "exclude": [
    "node_modules",
    "dist", 
    "coverage",
  ]

}

Would be great if anyone can help me here!

Many thanks in advance

ap087
  • 49
  • 4
  • Could you please provide [a minimal code snippet](https://stackoverflow.com/help/minimal-reproducible-example) which can **reproduce the issue**? I use `"target": "es5"` and don't import polyfills in my polyfills.ts, it works well in my new Angular app. I also add `IE 11` in **.browserslistrc**, do you add `IE 11` in it? – Yu Zhou Mar 04 '22 at 05:19
  • Have you figured out the solution. I have an error at the exact same place. I tried building clean Angular 12 application and it worked in IE11, but my existing application (which uses a number of other libraries) gives me same error. – Gennadiy Jun 28 '22 at 16:38
  • In my case the problem was one of my dependencies- Font Awesome (@fortawesome). When I downgraded it from 6 back to 4 my application started working in IE11 with standard configuration. More discussion here: https://stackoverflow.com/questions/71822727/when-using-fortawesome-script5017-syntax-error-occurs-in-internet-explorer-11 – Gennadiy Jul 27 '22 at 00:55

0 Answers0