X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fpolyfills.ts;h=7c051413f4803db904f98d8ee104e78f01bec75e;hb=c8565966f6a898ce38e1ca256d815d1374e5f592;hp=3395eed762d66e348bc8215e4ae602d19782d125;hpb=4a6995be18b15de1834a39c8921a0e4109671bb6;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/polyfills.ts b/client/src/polyfills.ts index 3395eed76..7c051413f 100644 --- a/client/src/polyfills.ts +++ b/client/src/polyfills.ts @@ -1,28 +1,73 @@ -// Polyfills -// (these modules are what are in 'angular2/bundles/angular2-polyfills' so don't use that here) +/** + * 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 + */ -// import 'ie-shim'; // Internet Explorer -// import 'es6-shim'; -// import 'es6-promise'; -// import 'es7-reflect-metadata'; +/*************************************************************************************************** +* BROWSER POLYFILLS +*/ -// Prefer CoreJS over the polyfills above -import 'core-js/es6'; -import 'core-js/es7/reflect'; -require('zone.js/dist/zone'); +import 'core-js/es/object' -// Typescript emit helpers polyfill -import 'ts-helpers'; +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +// import 'classlist.js'; // Run `npm install --save classlist.js`. -if ('production' === ENV) { - // Production +/** IE10 and IE11 requires the following for the Reflect API. */ +// For Google Bot +// import 'core-js/es6/reflect'; // --> dealt with in src/environment.ts -} else { - // Development +/** + * 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' // --> dealt with in src/environment.ts - Error.stackTraceLimit = Infinity; +/** + * 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`. - require('zone.js/dist/long-stack-trace-zone'); +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + */ -} +// (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__BLACK_LISTED_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; + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +// tslint:disable +import 'zone.js/dist/zone' // Included with Angular CLI. + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ + +// global/process polyfills + +;(window as any).global = window +;(window as any).process = require('process/') +;(window as any).Buffer = require('buffer/').Buffer + +import '@angular/localize/init'