polyfills.ts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /**
  2. * This file includes polyfills needed by Angular and is loaded before the app.
  3. * You can add your own extra polyfills to this file.
  4. *
  5. * This file is divided into 2 sections:
  6. * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
  7. * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
  8. * file.
  9. *
  10. * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
  11. * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
  12. * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
  13. *
  14. * Learn more in https://angular.io/guide/browser-support
  15. */
  16. /***************************************************************************************************
  17. * BROWSER POLYFILLS
  18. */
  19. /** IE10 and IE11 requires the following for NgClass support on SVG elements */
  20. // import 'classlist.js'; // Run `npm install --save classlist.js`.
  21. /**
  22. * Web Animations `@angular/platform-browser/animations`
  23. * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
  24. * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
  25. */
  26. // import 'web-animations-js'; // Run `npm install --save web-animations-js`.
  27. /**
  28. * By default, zone.js will patch all possible macroTask and DomEvents
  29. * user can disable parts of macroTask/DomEvents patch by setting following flags
  30. * because those flags need to be set before `zone.js` being loaded, and webpack
  31. * will put import in the top of bundle, so user need to create a separate file
  32. * in this directory (for example: zone-flags.ts), and put the following flags
  33. * into that file, and then add the following code before importing zone.js.
  34. * import './zone-flags.ts';
  35. *
  36. * The flags allowed in zone-flags.ts are listed here.
  37. *
  38. * The following flags will work for all browsers.
  39. *
  40. * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
  41. * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
  42. * (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
  43. *
  44. * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
  45. * with the following flag, it will bypass `zone.js` patch for IE/Edge
  46. *
  47. * (window as any).__Zone_enable_cross_context_check = true;
  48. *
  49. */
  50. import './zone-flags';
  51. /***************************************************************************************************
  52. * Zone JS is required by default for Angular itself.
  53. */
  54. import 'zone.js/dist/zone'; // Included with Angular CLI.
  55. /***************************************************************************************************
  56. * APPLICATION IMPORTS
  57. */