babel/packages/babel-preset-react
2017-08-07 18:21:08 -04:00
..
2017-03-25 21:46:16 -04:00
2017-08-07 18:21:08 -04:00
2017-08-04 10:16:45 -05:00

babel-preset-react

Babel preset for all React plugins.

This preset always includes the following plugins:

And with the development option:

Note: This preset sets the requireDirective option on transform-flow-strip-types. This means Flow annotations and declarations will only be removed in files that have a // @flow directive. It will also throw errors for any Flow annotations found in files without the directive.

// @flow
function foo(numVal: number, strVal: string) {}

Install

You can also check out the React Getting Started page

For more info, check out the setup page on the cli and the usage docs.

Install the CLI and this preset

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

Make a .babelrc config file with the preset

echo '{ "presets": ["react"] }' > .babelrc

Create a file to run on

echo '<h1>Hello, world!</h1>' > index.js

View the output

./node_modules/.bin/babel index.js

Usage

.babelrc

{
  "presets": ["react"]
}

Via CLI

babel script.js --presets react

Via Node API

require("babel-core").transform("code", {
  presets: ["react"]
});

Options

development

boolean, defaults to false.

Toggles plugins that aid in development, such as babel-plugin-transform-react-jsx-self and babel-plugin-transform-react-jsx-source.

This is useful when combined with either a babelrc.js or env option in a .babelrc configuration:

babelrc.js

module.exports = {
  presets: [
    ["react", {
      development: process.env.BABEL_ENV === "development"
    }],
  ],
}

.babelrc

Note: the env option will likely get deprecated soon

{
  "presets": ["react"],
  "env": {
    "development": {
      "presets": [
        ["react", { "development": true }]
      ]
    }
  }
}