* 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
babel-preset-react-app
This package includes the Babel preset used by Create React App.
Please refer to its documentation:
- Getting Started – How to create a new app.
- User Guide – How to develop apps bootstrapped with Create React App.
Usage in Create React App Projects
The easiest way to use this configuration is with Create React App, which includes it by default. You don’t 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 }]]
}