@babel/plugin-transform-react-constant-elements
Advanced tools
Comparing version 7.0.0-beta.46 to 7.0.0-beta.47
@@ -9,3 +9,3 @@ "use strict"; | ||
function _helperPluginUtils() { | ||
var data = require("@babel/helper-plugin-utils"); | ||
const data = require("@babel/helper-plugin-utils"); | ||
@@ -20,3 +20,3 @@ _helperPluginUtils = function _helperPluginUtils() { | ||
function _core() { | ||
var data = require("@babel/core"); | ||
const data = require("@babel/core"); | ||
@@ -31,3 +31,3 @@ _core = function _core() { | ||
function _helperAnnotateAsPure() { | ||
var data = _interopRequireDefault(require("@babel/helper-annotate-as-pure")); | ||
const data = _interopRequireDefault(require("@babel/helper-annotate-as-pure")); | ||
@@ -43,5 +43,5 @@ _helperAnnotateAsPure = function _helperAnnotateAsPure() { | ||
var _default = (0, _helperPluginUtils().declare)(function (api, options) { | ||
var _default = (0, _helperPluginUtils().declare)((api, options) => { | ||
api.assertVersion(7); | ||
var allowMutablePropsOnTags = options.allowMutablePropsOnTags; | ||
const allowMutablePropsOnTags = options.allowMutablePropsOnTags; | ||
@@ -52,6 +52,6 @@ if (allowMutablePropsOnTags != null && !Array.isArray(allowMutablePropsOnTags)) { | ||
var HOISTED = new WeakSet(); | ||
var immutabilityVisitor = { | ||
enter: function enter(path, state) { | ||
var stop = function stop() { | ||
const HOISTED = new WeakSet(); | ||
const immutabilityVisitor = { | ||
enter(path, state) { | ||
const stop = () => { | ||
state.isImmutable = false; | ||
@@ -80,7 +80,7 @@ path.stop(); | ||
if (path.isPure()) { | ||
var expressionResult = path.evaluate(); | ||
const expressionResult = path.evaluate(); | ||
if (expressionResult.confident) { | ||
var value = expressionResult.value; | ||
var isMutable = !state.mutablePropsAllowed && value && typeof value === "object" || typeof value === "function"; | ||
const value = expressionResult.value; | ||
const isMutable = !state.mutablePropsAllowed && value && typeof value === "object" || typeof value === "function"; | ||
@@ -99,9 +99,10 @@ if (!isMutable) { | ||
} | ||
}; | ||
return { | ||
visitor: { | ||
JSXElement: function JSXElement(path) { | ||
JSXElement(path) { | ||
if (HOISTED.has(path.node)) return; | ||
HOISTED.add(path.node); | ||
var state = { | ||
const state = { | ||
isImmutable: true | ||
@@ -111,3 +112,3 @@ }; | ||
if (allowMutablePropsOnTags != null) { | ||
var namePath = path.get("openingElement.name"); | ||
let namePath = path.get("openingElement.name"); | ||
@@ -118,3 +119,3 @@ while (namePath.isJSXMemberExpression()) { | ||
var elementName = namePath.node.name; | ||
const elementName = namePath.node.name; | ||
state.mutablePropsAllowed = allowMutablePropsOnTags.indexOf(elementName) > -1; | ||
@@ -126,3 +127,3 @@ } | ||
if (state.isImmutable) { | ||
var hoisted = path.hoist(); | ||
const hoisted = path.hoist(); | ||
@@ -134,2 +135,3 @@ if (hoisted) { | ||
} | ||
} | ||
@@ -136,0 +138,0 @@ }; |
{ | ||
"name": "@babel/plugin-transform-react-constant-elements", | ||
"version": "7.0.0-beta.46", | ||
"version": "7.0.0-beta.47", | ||
"description": "Treat React JSX elements as value types and hoist them to the highest scope", | ||
@@ -12,12 +12,12 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-constant-elements", | ||
"dependencies": { | ||
"@babel/helper-annotate-as-pure": "7.0.0-beta.46", | ||
"@babel/helper-plugin-utils": "7.0.0-beta.46" | ||
"@babel/helper-annotate-as-pure": "7.0.0-beta.47", | ||
"@babel/helper-plugin-utils": "7.0.0-beta.47" | ||
}, | ||
"peerDependencies": { | ||
"@babel/core": "7.0.0-beta.46" | ||
"@babel/core": "7.0.0-beta.47" | ||
}, | ||
"devDependencies": { | ||
"@babel/core": "7.0.0-beta.46", | ||
"@babel/helper-plugin-test-runner": "7.0.0-beta.46" | ||
"@babel/core": "7.0.0-beta.47", | ||
"@babel/helper-plugin-test-runner": "7.0.0-beta.47" | ||
} | ||
} |
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
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
0
5685
+ Added@babel/code-frame@7.0.0-beta.47(transitive)
+ Added@babel/core@7.0.0-beta.47(transitive)
+ Added@babel/generator@7.0.0-beta.47(transitive)
+ Added@babel/helper-annotate-as-pure@7.0.0-beta.47(transitive)
+ Added@babel/helper-function-name@7.0.0-beta.47(transitive)
+ Added@babel/helper-get-function-arity@7.0.0-beta.47(transitive)
+ Added@babel/helper-plugin-utils@7.0.0-beta.47(transitive)
+ Added@babel/helper-split-export-declaration@7.0.0-beta.47(transitive)
+ Added@babel/helpers@7.0.0-beta.47(transitive)
+ Added@babel/highlight@7.0.0-beta.47(transitive)
+ Added@babel/template@7.0.0-beta.47(transitive)
+ Added@babel/traverse@7.0.0-beta.47(transitive)
+ Added@babel/types@7.0.0-beta.47(transitive)
+ Addedbabylon@7.0.0-beta.47(transitive)
- Removed@babel/code-frame@7.0.0-beta.46(transitive)
- Removed@babel/core@7.0.0-beta.46(transitive)
- Removed@babel/generator@7.0.0-beta.46(transitive)
- Removed@babel/helper-annotate-as-pure@7.0.0-beta.46(transitive)
- Removed@babel/helper-function-name@7.0.0-beta.46(transitive)
- Removed@babel/helper-get-function-arity@7.0.0-beta.46(transitive)
- Removed@babel/helper-plugin-utils@7.0.0-beta.46(transitive)
- Removed@babel/helper-split-export-declaration@7.0.0-beta.46(transitive)
- Removed@babel/helpers@7.0.0-beta.46(transitive)
- Removed@babel/highlight@7.0.0-beta.46(transitive)
- Removed@babel/template@7.0.0-beta.46(transitive)
- Removed@babel/traverse@7.0.0-beta.46(transitive)
- Removed@babel/types@7.0.0-beta.46(transitive)
- Removedbabylon@7.0.0-beta.46(transitive)