diff --git a/packages/@angular/cli/blueprints/ng2/files/__path__/polyfills.ts b/packages/@angular/cli/blueprints/ng2/files/__path__/polyfills.ts index 1bdd4d3c6ef2..55d9d8c610a0 100644 --- a/packages/@angular/cli/blueprints/ng2/files/__path__/polyfills.ts +++ b/packages/@angular/cli/blueprints/ng2/files/__path__/polyfills.ts @@ -1,38 +1,68 @@ -// This file includes polyfills needed by Angular and is loaded before the app. -// You can add your own extra polyfills to this file. -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/set'; -import 'core-js/es6/reflect'; +/** + * 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/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 to support `@angular/animation`. */ +// import 'web-animations-js'; // Run `npm install --save web-animations-js`. + +/** Evergreen browsers require these. **/ +import 'core-js/es6/reflect'; import 'core-js/es7/reflect'; -import 'zone.js/dist/zone'; -// If you need to support the browsers/features below, uncomment the import -// and run `npm install import-name-here'; -// Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html -// Needed for: IE9 -// import 'classlist.js'; +/** ALL Firefox browsers require the following to support `@angular/animation`. **/ +// import 'web-animations-js'; // Run `npm install --save web-animations-js`. + + + +/*************************************************************************************************** + * Zone JS is required by Angular itself. + */ +import 'zone.js/dist/zone'; // Included with Angular-CLI. + -// Animations -// Needed for: All but Chrome and Firefox, Not supported in IE9 -// import 'web-animations-js'; -// Date, currency, decimal and percent pipes -// Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 -// import 'intl'; +/*************************************************************************************************** + * APPLICATION IMPORTS + */ -// NgClass on SVG elements -// Needed for: IE10, IE11 -// import 'classlist.js'; +/** + * Date, currency, decimal and percent pipes. + * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 + */ +// import 'intl'; // Run `npm install --save intl`.