Narcissistic, Perfectly Modest
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    @babel/preset-reactpublic

    @babel/preset-react

    Babel preset for all React plugins.

    This preset always includes the following plugins:

    And with the development option:

    Note: Flow syntax support is no longer enabled in v7. For that, you will need to add the Flow preset.

    Installation

    You can also check out the React Getting Started page

    npm install --save-dev @babel/preset-react

    Usage

    Via .babelrc (Recommended)

    .babelrc

    Without options:

    {
      "presets": ["@babel/preset-react"]
    }

    With options:

    {
      "presets": [
        ["@babel/preset-react", {
          "pragma": "dom", // default pragma is React.createElement
          "pragmaFrag": "DomFrag", // default is React.Fragment
          "throwIfNamespace": false // defaults to true
        }]
      ]
    }

    Via CLI

    babel --presets @babel/preset-react script.js

    Via Node API

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

    Options

    pragma

    string, defaults to React.createElement.

    Replace the function used when compiling JSX expressions.

    pragmaFrag

    string, defaults to React.Fragment.

    Replace the component used when compiling JSX fragments.

    useBuiltIns

    boolean, defaults to false.

    Will use the native built-in instead of trying to polyfill behavior for any plugins that require one.

    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:

    throwIfNamespace

    boolean, defaults to true.

    Toggles whether or not to throw an error if a XML namespaced tag name is used. For example:

    <f:image />
    

    Though the JSX spec allows this, it is disabled by default since React's JSX does not currently have support for it.

    babelrc.js

    module.exports = {
      presets: [
        ["@babel/preset-react", {
          development: process.env.BABEL_ENV === "development",
        }],
      ],
    }

    .babelrc

    Note: the env option will likely get deprecated soon

    {
      "presets": ["@babel/preset-react"],
      "env": {
        "development": {
          "presets": [
            ["@babel/preset-react", { "development": true }]
          ]
        }
      }
    }

    Keywords

    none

    install

    npm i @babel/preset-react

    Downloadsweekly downloads

    90,259

    version

    7.0.0-beta.49

    license

    MIT

    homepage

    babeljs.io

    repository

    githubgithub

    last publish

    collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar