# Browser support Angular supports most recent browsers. This includes the following specific versions: | Browser | Supported versions | |:--- |:--- | | Chrome | 2 most recent versions | | Firefox | latest and extended support release \(ESR\) | | Edge | 2 most recent major versions | | Safari | 2 most recent major versions | | iOS | 2 most recent major versions | | Android | 2 most recent major versions |
Angular's continuous integration process runs unit tests of the framework on all of these browsers for every pull request, using [Sauce Labs](https://saucelabs.com).
## Polyfills The [Angular CLI](cli) provides support for polyfills. When a new project is created, the CLI also creates an `src/polyfills.ts` file. If your application requires any polyfills, you can add them to the `src/polyfills.ts` file. If you are not using the CLI to create your projects, see [Polyfills for non-CLI users](#non-cli) section. If you create a TypeScript file for a custom polyfill, make sure to include it in the `files` property of your `tsconfig` file. { "extends": "./tsconfig.json", "compilerOptions": { ... }, "files": [ "src/main.ts", "src/polyfills.ts" ] ... } ## Polyfills for non-CLI users If you are not using the CLI, add your polyfill scripts directly to the host web page \(`index.html`\). For example: <!-- pre-zone polyfills --> <script src="node_modules/core-js/client/shim.min.js"></script> <script> /** * you can configure some zone flags which can disable zone interception for some * asynchronous activities to improve startup performance - use these options only * if you know what you are doing as it could result in hard to trace down bugs. */ // __Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame // __Zone_disable_on_property = true; // disable patch onProperty such as onclick // __zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames /* * in Edge developer tools, the addEventListener will also be wrapped by zone.js * with the following flag, it will bypass `zone.js` patch for Edge. */ // __Zone_enable_cross_context_check = true; </script> <!-- zone.js required by Angular --> <script src="node_modules/zone.js/bundles/zone.umd.js"></script> <!-- application polyfills --> @reviewed 2022-11-04