Files
create-react-app/packages/babel-preset-react-app
Eivind Arvesen 7ae3146037 Support React Hooks (#5602) (#5997)
* Add Babel plug-in for Hooks; Add ESLint plug-in for Hooks (WIP)

* Fix transform destructuring loose config

* Add eslint-plugin-react-hooks to package.json

* Fix package.json's

* Fix eslint-plugin-react-hooks version

* Fix package.json

* Fix package.json

* Add eslint-plugin-react-hooks to script package.json

* Force array destructuring to work in loose mode only for known Hooks

* Update based on feedback from PR

* Add 'exhaustive-deps' lint rule

* Bump eslint-plugin-react-hooks to stable version

* Remove extraneous dependency from react-scripts
2019-03-14 20:36:30 -06:00
..
2019-03-14 20:36:30 -06:00
2018-09-25 18:59:06 -04:00
2019-03-11 20:45:14 -06:00
2018-09-25 18:59:06 -04:00
2019-02-21 22:31:55 -08:00
2018-09-25 18:59:06 -04:00

babel-preset-react-app

This package includes the Babel preset used by Create React App.
Please refer to its documentation:

Usage in Create React App Projects

The easiest way to use this configuration is with Create React App, which includes it by default. You dont need to install it separately in Create React App projects.

Usage Outside of Create React App

If you want to use this Babel preset in a project not built with Create React App, you can install it with the following steps.

First, install Babel.

Then install babel-preset-react-app.

npm install babel-preset-react-app --save-dev

Then create a file named .babelrc with following contents in the root folder of your project:

{
  "presets": ["react-app"]
}

This preset uses the useBuiltIns option with transform-object-rest-spread and transform-react-jsx, which assumes that Object.assign is available or polyfilled.

Usage with Flow

Make sure you have a .flowconfig file at the root directory. You can also use the flow option on .babelrc:

{
  "presets": [["react-app", { "flow": true, "typescript": false }]]
}

Usage with TypeScript

Make sure you have a tsconfig.json file at the root directory. You can also use the typescript option on .babelrc:

{
  "presets": [["react-app", { "flow": false, "typescript": true }]]
}