Socket
Socket
Sign inDemoInstall

@babel/plugin-transform-react-pure-annotations

Package Overview
Dependencies
Maintainers
4
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/plugin-transform-react-pure-annotations - npm Package Compare versions

Comparing version 7.16.7 to 7.18.0

27

lib/index.js

@@ -14,3 +14,3 @@ "use strict";

const PURE_CALLS = new Map([["react", ["cloneElement", "createContext", "createElement", "createFactory", "createRef", "forwardRef", "isValidElement", "memo", "lazy"]], ["react-dom", ["createPortal"]]]);
const PURE_CALLS = [["react", new Set(["cloneElement", "createContext", "createElement", "createFactory", "createRef", "forwardRef", "isValidElement", "memo", "lazy"])], ["react-dom", new Set(["createPortal"])]];

@@ -35,8 +35,8 @@ var _default = (0, _helperPluginUtils.declare)(api => {

function isReactCall(path) {
if (!_core.types.isMemberExpression(path.node.callee)) {
const callee = path.get("callee");
const calleePath = path.get("callee");
if (!calleePath.isMemberExpression()) {
for (const [module, methods] of PURE_CALLS) {
for (const method of methods) {
if (callee.referencesImport(module, method)) {
if (calleePath.referencesImport(module, method)) {
return true;

@@ -50,15 +50,12 @@ }

for (const [module, methods] of PURE_CALLS) {
const object = path.get("callee.object");
const object = calleePath.get("object");
const callee = calleePath.node;
if (object.referencesImport(module, "default") || object.referencesImport(module, "*")) {
for (const method of methods) {
if (_core.types.isIdentifier(path.node.callee.property, {
name: method
})) {
return true;
}
if (!callee.computed && _core.types.isIdentifier(callee.property)) {
const propertyName = callee.property.name;
for (const [module, methods] of PURE_CALLS) {
if (object.referencesImport(module, "default") || object.referencesImport(module, "*")) {
return methods.has(propertyName);
}
return false;
}

@@ -65,0 +62,0 @@ }

{
"name": "@babel/plugin-transform-react-pure-annotations",
"version": "7.16.7",
"version": "7.18.0",
"description": "Mark top-level React method calls as pure for tree shaking",

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

"@babel/helper-annotate-as-pure": "^7.16.7",
"@babel/helper-plugin-utils": "^7.16.7"
"@babel/helper-plugin-utils": "^7.17.12"
},

@@ -27,3 +27,3 @@ "peerDependencies": {

"devDependencies": {
"@babel/core": "^7.16.7",
"@babel/core": "^7.18.0",
"@babel/helper-plugin-test-runner": "^7.16.7"

@@ -30,0 +30,0 @@ },

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