Socket
Socket
Sign inDemoInstall

@babel/plugin-transform-react-constant-elements

Package Overview
Dependencies
Maintainers
4
Versions
85
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/plugin-transform-react-constant-elements - npm Package Compare versions

Comparing version 7.22.5 to 8.0.0-alpha.0

37

lib/index.js

@@ -1,10 +0,5 @@

"use strict";
import { declare } from '@babel/helper-plugin-utils';
import { types, template } from '@babel/core';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _helperPluginUtils = require("@babel/helper-plugin-utils");
var _core = require("@babel/core");
var _default = (0, _helperPluginUtils.declare)((api, options) => {
var index = declare((api, options) => {
api.assertVersion(7);

@@ -19,9 +14,9 @@ const {

function declares(node, scope) {
if (_core.types.isJSXIdentifier(node, {
if (types.isJSXIdentifier(node, {
name: "this"
}) || _core.types.isJSXIdentifier(node, {
}) || types.isJSXIdentifier(node, {
name: "arguments"
}) || _core.types.isJSXIdentifier(node, {
}) || types.isJSXIdentifier(node, {
name: "super"
}) || _core.types.isJSXIdentifier(node, {
}) || types.isJSXIdentifier(node, {
name: "new"

@@ -67,3 +62,2 @@ })) {

enter(path, state) {
var _expressionResult$deo;
const stop = () => {

@@ -116,3 +110,3 @@ state.isImmutable = false;

}
} else if ((_expressionResult$deo = expressionResult.deopt) != null && _expressionResult$deo.isIdentifier()) {
} else if (expressionResult.deopt?.isIdentifier()) {
return;

@@ -128,3 +122,2 @@ }

JSXElement(path) {
var _jsxScope;
if (HOISTED.has(path.node)) return;

@@ -135,3 +128,3 @@ const name = path.node.openingElement.name;

let lastSegment = name;
while (_core.types.isJSXMemberExpression(lastSegment)) {
while (types.isJSXMemberExpression(lastSegment)) {
lastSegment = lastSegment.property;

@@ -148,3 +141,3 @@ }

}
(_jsxScope = jsxScope) != null ? _jsxScope : jsxScope = path.scope;
jsxScope ??= path.scope;
HOISTED.set(path.node, jsxScope);

@@ -172,10 +165,10 @@ const visitorState = {

targetScope.push({
id: _core.types.identifier(id)
id: types.identifier(id)
});
HOISTED.set(path.node, targetScope);
let replacement = _core.template.expression.ast`
${_core.types.identifier(id)} || (${_core.types.identifier(id)} = ${path.node})
let replacement = template.expression.ast`
${types.identifier(id)} || (${types.identifier(id)} = ${path.node})
`;
if (path.parentPath.isJSXElement() || path.parentPath.isJSXAttribute()) {
replacement = _core.types.jsxExpressionContainer(replacement);
replacement = types.jsxExpressionContainer(replacement);
}

@@ -187,4 +180,4 @@ path.replaceWith(replacement);

});
exports.default = _default;
export { index as default };
//# sourceMappingURL=index.js.map
{
"name": "@babel/plugin-transform-react-constant-elements",
"version": "7.22.5",
"version": "8.0.0-alpha.0",
"description": "Treat React JSX elements as value types and hoist them to the highest scope",

@@ -20,16 +20,20 @@ "repository": {

"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
"@babel/helper-plugin-utils": "^8.0.0-alpha.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
"@babel/core": "^8.0.0-alpha.0"
},
"devDependencies": {
"@babel/core": "^7.22.5",
"@babel/helper-plugin-test-runner": "^7.22.5"
"@babel/core": "^8.0.0-alpha.0",
"@babel/helper-plugin-test-runner": "^8.0.0-alpha.0"
},
"engines": {
"node": ">=6.9.0"
"node": "^16.20.0 || ^18.16.0 || >=20.0.0"
},
"author": "The Babel Team (https://babel.dev/team)",
"type": "commonjs"
"exports": {
".": "./lib/index.js",
"./package.json": "./package.json"
},
"type": "module"
}

@@ -5,3 +5,3 @@ # @babel/plugin-transform-react-constant-elements

See our website [@babel/plugin-transform-react-constant-elements](https://babeljs.io/docs/en/babel-plugin-transform-react-constant-elements) for more information.
See our website [@babel/plugin-transform-react-constant-elements](https://babeljs.io/docs/babel-plugin-transform-react-constant-elements) for more information.

@@ -8,0 +8,0 @@ ## Install

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc