Supported Browsers & Features

By default, the generated project supports all modern browsers. Support for Internet Explorer 9, 10, and 11 requires polyfills. For a set of polyfills to support older browsers, use react-app-polyfillarrow-up-right.

triangle-exclamation

Watch out!

Supported Language Features

This project supports a superset of the latest JavaScript standard. In addition to ES6arrow-up-right syntax features, it also supports:

Learn more about different proposal stagesarrow-up-right.

While we recommend using experimental proposals with some caution, Facebook heavily uses these features in the product code, so we intend to provide codemodsarrow-up-right if any of these proposals change in the future.

Note that this project includes no polyfillsarrow-up-right by default.

If you use any other ES6+ features that need runtime support (such as Array.from() or Symbol), make sure you are including the appropriate polyfills manuallyarrow-up-right, or that the browsers you are targeting already support them.

Supported Styling Options

This project also supports:

Support for new CSS features like the all propertyarrow-up-right, break propertiesarrow-up-right, custom propertiesarrow-up-right, and media query rangesarrow-up-right are automatically poly-filled to add support for older browsers.

circle-info

CSS Grid Layoutarrow-up-right prefixing is disabled by default, but it will not strip manual prefixing. If you'd like to opt-in to CSS Grid prefixing, first familiarize yourself about its limitationsarrow-up-right.

To enable CSS Grid prefixing, add /* autoprefixer grid: autoplace */ to the top of your CSS file.

Configuring Supported Browsers

By default, the generated project includes a browserslistarrow-up-right configuration in your package.json file to target a broad range of browsers based on global usage (> 0.2%) for production builds, and modern browsers for development. This gives a good development experience, especially when using language features such as async/await, but still provides high compatibility with many browsers in production.

The browserslist configuration controls the output JavaScript so that the emitted code is compatible with the browsers specified. The production list will be used when creating a production build by running the build script, and the development list will be used when running the start script. You can use https://browserl.istarrow-up-right to see the browsers supported by your configured browserslist.

Here is an example browserslist that is specified in package.json:

triangle-exclamation

Watch out!

Missing a feature?

This project allows you to create extensions to its own build configuration. You can always add a missing feature to your project by following the build extension guide.

Last updated