@babel/plugin-transform-react-inline-elements
Advanced tools
Comparing version 7.0.0-beta.49 to 7.0.0-beta.50
{ | ||
"name": "@babel/plugin-transform-react-inline-elements", | ||
"version": "7.0.0-beta.49", | ||
"version": "7.0.0-beta.50", | ||
"description": "Turn JSX elements into exploded React objects", | ||
@@ -12,4 +12,4 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-inline-elements", | ||
"dependencies": { | ||
"@babel/helper-builder-react-jsx": "7.0.0-beta.49", | ||
"@babel/helper-plugin-utils": "7.0.0-beta.49" | ||
"@babel/helper-builder-react-jsx": "7.0.0-beta.50", | ||
"@babel/helper-plugin-utils": "7.0.0-beta.50" | ||
}, | ||
@@ -20,5 +20,5 @@ "peerDependencies": { | ||
"devDependencies": { | ||
"@babel/core": "7.0.0-beta.49", | ||
"@babel/helper-plugin-test-runner": "7.0.0-beta.49" | ||
"@babel/core": "7.0.0-beta.50", | ||
"@babel/helper-plugin-test-runner": "7.0.0-beta.50" | ||
} | ||
} |
# @babel/plugin-transform-react-inline-elements | ||
> Replaces the `React.createElement` function with one that is more optimized for production: `babelHelpers.jsx`. | ||
> Turn JSX elements into exploded React objects | ||
## Note | ||
See our website [@babel/plugin-transform-react-inline-elements](https://new.babeljs.io/docs/en/next/babel-plugin-transform-react-inline-elements.html) for more information. | ||
When used alongside `@babel/plugin-transform-runtime`, polyfills (by default including `Symbol`) are specifically scoped to not pollute the global scope. This breaks usage with React, as it won't have access to that polyfill and will cause your application to fail in legacy browsers. | ||
## Install | ||
Even if `['@babel/plugin-transform-runtime', { helpers: true, polyfill: false }]` is specified, it might still break, since `helpers` come precompiled. | ||
Using npm: | ||
In this case, we recommend importing/requiring `@babel/polyfill` in the entry point of your application and using `@babel/preset-env` with the `useBuiltIns` option to only include the polyfills your targets need. Alternatively, you can also import/require `core-js/modules/es6.symbol` by itself. | ||
This transform **should be enabled only in production** (e.g., just before minifying your code) because, although it improves runtime performance, it makes warning messages more cryptic and skips important checks that happen in development mode, including propTypes. | ||
## Example | ||
**In** | ||
```javascript | ||
<Baz foo="bar" key="1"></Baz>; | ||
``` | ||
**Out** | ||
```javascript | ||
babelHelpers.jsx(Baz, { | ||
foo: "bar" | ||
}, "1"); | ||
/** | ||
* Instead of | ||
* | ||
* React.createElement(Baz, { | ||
* foo: "bar", | ||
* key: "1", | ||
* }); | ||
*/ | ||
``` | ||
**Deopt** | ||
```js | ||
// The plugin will still use React.createElement when `ref` or `object rest spread` is used | ||
<Foo ref="bar" /> | ||
<Foo {...bar} /> | ||
``` | ||
## Installation | ||
```sh | ||
npm install --save-dev @babel/plugin-transform-react-inline-elements | ||
npm install --save @babel/plugin-transform-react-inline-elements | ||
``` | ||
## Usage | ||
or using yarn: | ||
### Via `.babelrc` (Recommended) | ||
**.babelrc** | ||
```json | ||
{ | ||
"plugins": ["@babel/plugin-transform-react-inline-elements"] | ||
} | ||
``` | ||
### Via CLI | ||
```sh | ||
babel --plugins @babel/plugin-transform-react-inline-elements script.js | ||
yarn add --save @babel/plugin-transform-react-inline-elements | ||
``` | ||
### Via Node API | ||
```javascript | ||
require("@babel/core").transform("code", { | ||
plugins: ["@babel/plugin-transform-react-inline-elements"] | ||
}); | ||
``` | ||
## References | ||
* [[facebook/react#3228] Optimizing Compiler: Inline React Elements](https://github.com/facebook/react/issues/3228) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
73
1
1
1
14
3639
188802
3
20
+ Added@babel/helper-builder-react-jsx@7.0.0-beta.50(transitive)
+ Added@babel/helper-plugin-utils@7.0.0-beta.50(transitive)
- Removed@babel/helper-builder-react-jsx@7.0.0-beta.49(transitive)
- Removed@babel/helper-plugin-utils@7.0.0-beta.49(transitive)