You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@babel/plugin-transform-logical-assignment-operators

Package Overview
Dependencies
Maintainers
4
Versions
41
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/plugin-transform-logical-assignment-operators - npm Package Compare versions

Comparing version
8.0.0-rc.2
to
8.0.0-rc.3
+1
-1
lib/index.js

@@ -5,3 +5,3 @@ import { declare } from '@babel/helper-plugin-utils';

var index = declare(api => {
api.assertVersion("^7.0.0-0 || ^8.0.0 || 8.0.0-rc.2");
api.assertVersion("^7.0.0-0 || ^8.0.0 || 8.0.0-rc.3");
return {

@@ -8,0 +8,0 @@ name: "transform-logical-assignment-operators",

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(REQUIRED_VERSION(\"^7.0.0-0 || ^8.0.0\"));\n\n return {\n name: \"transform-logical-assignment-operators\",\n manipulateOptions: undefined,\n visitor: {\n AssignmentExpression(path) {\n const { node, scope } = path;\n const { operator, left, right } = node;\n const operatorTrunc = operator.slice(0, -1);\n if (!t.LOGICAL_OPERATORS.includes(operatorTrunc)) {\n return;\n }\n\n const lhs = t.cloneNode(left) as t.Identifier | t.MemberExpression;\n if (t.isMemberExpression(left)) {\n const { object, property, computed } = left;\n const memo = scope.maybeGenerateMemoised(object);\n if (memo) {\n left.object = memo;\n (lhs as t.MemberExpression).object = t.assignmentExpression(\n \"=\",\n t.cloneNode(memo),\n // object must not be Super when `memo` is an identifier\n object as t.Expression,\n );\n }\n\n if (computed) {\n const memo = scope.maybeGenerateMemoised(property);\n if (memo) {\n left.property = memo;\n (lhs as t.MemberExpression).property = t.assignmentExpression(\n \"=\",\n t.cloneNode(memo),\n\n property,\n );\n }\n }\n }\n\n path.replaceWith(\n t.logicalExpression(\n // @ts-expect-error operatorTrunc has been tested by t.LOGICAL_OPERATORS\n operatorTrunc,\n lhs,\n t.assignmentExpression(\"=\", left, right),\n ),\n );\n },\n },\n };\n});\n"],"names":["declare","api","assertVersion","name","manipulateOptions","undefined","visitor","AssignmentExpression","path","node","scope","operator","left","right","operatorTrunc","slice","t","LOGICAL_OPERATORS","includes","lhs","cloneNode","isMemberExpression","object","property","computed","memo","maybeGenerateMemoised","assignmentExpression","replaceWith","logicalExpression"],"mappings":";;;AAGA,YAAeA,OAAO,CAACC,GAAG,IAAI;EAC5BA,GAAG,CAACC,aAAa,CAAA,kCAAuC,CAAC,CAAA;EAEzD,OAAO;AACLC,IAAAA,IAAI,EAAE,wCAAwC;AAC9CC,IAAAA,iBAAiB,EAAEC,SAAS;AAC5BC,IAAAA,OAAO,EAAE;MACPC,oBAAoBA,CAACC,IAAI,EAAE;QACzB,MAAM;UAAEC,IAAI;AAAEC,UAAAA,KAAAA;AAAM,SAAC,GAAGF,IAAI,CAAA;QAC5B,MAAM;UAAEG,QAAQ;UAAEC,IAAI;AAAEC,UAAAA,KAAAA;AAAM,SAAC,GAAGJ,IAAI,CAAA;QACtC,MAAMK,aAAa,GAAGH,QAAQ,CAACI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC3C,IAAI,CAACC,KAAC,CAACC,iBAAiB,CAACC,QAAQ,CAACJ,aAAa,CAAC,EAAE;AAChD,UAAA,OAAA;AACF,SAAA;AAEA,QAAA,MAAMK,GAAG,GAAGH,KAAC,CAACI,SAAS,CAACR,IAAI,CAAsC,CAAA;AAClE,QAAA,IAAII,KAAC,CAACK,kBAAkB,CAACT,IAAI,CAAC,EAAE;UAC9B,MAAM;YAAEU,MAAM;YAAEC,QAAQ;AAAEC,YAAAA,QAAAA;AAAS,WAAC,GAAGZ,IAAI,CAAA;AAC3C,UAAA,MAAMa,IAAI,GAAGf,KAAK,CAACgB,qBAAqB,CAACJ,MAAM,CAAC,CAAA;AAChD,UAAA,IAAIG,IAAI,EAAE;YACRb,IAAI,CAACU,MAAM,GAAGG,IAAI,CAAA;AACjBN,YAAAA,GAAG,CAAwBG,MAAM,GAAGN,KAAC,CAACW,oBAAoB,CACzD,GAAG,EACHX,KAAC,CAACI,SAAS,CAACK,IAAI,CAAC,EAEjBH,MACF,CAAC,CAAA;AACH,WAAA;AAEA,UAAA,IAAIE,QAAQ,EAAE;AACZ,YAAA,MAAMC,IAAI,GAAGf,KAAK,CAACgB,qBAAqB,CAACH,QAAQ,CAAC,CAAA;AAClD,YAAA,IAAIE,IAAI,EAAE;cACRb,IAAI,CAACW,QAAQ,GAAGE,IAAI,CAAA;AACnBN,cAAAA,GAAG,CAAwBI,QAAQ,GAAGP,KAAC,CAACW,oBAAoB,CAC3D,GAAG,EACHX,KAAC,CAACI,SAAS,CAACK,IAAI,CAAC,EAEjBF,QACF,CAAC,CAAA;AACH,aAAA;AACF,WAAA;AACF,SAAA;QAEAf,IAAI,CAACoB,WAAW,CACdZ,KAAC,CAACa,iBAAiB,CAEjBf,aAAa,EACbK,GAAG,EACHH,KAAC,CAACW,oBAAoB,CAAC,GAAG,EAAEf,IAAI,EAAEC,KAAK,CACzC,CACF,CAAC,CAAA;AACH,OAAA;AACF,KAAA;GACD,CAAA;AACH,CAAC,CAAC;;;;"}
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(REQUIRED_VERSION(\"^7.0.0-0 || ^8.0.0\"));\n\n return {\n name: \"transform-logical-assignment-operators\",\n manipulateOptions: undefined,\n visitor: {\n AssignmentExpression(path) {\n const { node, scope } = path;\n const { operator, left, right } = node;\n const operatorTrunc = operator.slice(0, -1);\n if (!t.LOGICAL_OPERATORS.includes(operatorTrunc)) {\n return;\n }\n\n const lhs = t.cloneNode(left) as t.Identifier | t.MemberExpression;\n if (t.isMemberExpression(left)) {\n const { object, property, computed } = left;\n const memo = scope.maybeGenerateMemoised(object);\n if (memo) {\n left.object = memo;\n (lhs as t.MemberExpression).object = t.assignmentExpression(\n \"=\",\n t.cloneNode(memo),\n // object must not be Super when `memo` is an identifier\n object as t.Expression,\n );\n }\n\n if (computed) {\n const memo = scope.maybeGenerateMemoised(property);\n if (memo) {\n left.property = memo;\n (lhs as t.MemberExpression).property = t.assignmentExpression(\n \"=\",\n t.cloneNode(memo),\n\n property,\n );\n }\n }\n }\n\n path.replaceWith(\n t.logicalExpression(\n // @ts-expect-error operatorTrunc has been tested by t.LOGICAL_OPERATORS\n operatorTrunc,\n lhs,\n t.assignmentExpression(\"=\", left, right),\n ),\n );\n },\n },\n };\n});\n"],"names":["declare","api","assertVersion","name","manipulateOptions","undefined","visitor","AssignmentExpression","path","node","scope","operator","left","right","operatorTrunc","slice","t","LOGICAL_OPERATORS","includes","lhs","cloneNode","isMemberExpression","object","property","computed","memo","maybeGenerateMemoised","assignmentExpression","replaceWith","logicalExpression"],"mappings":";;;AAGA,YAAeA,OAAO,CAACC,GAAG,IAAI;EAC5BA,GAAG,CAACC,aAAa,CAAA,kCAAuC,CAAC;EAEzD,OAAO;AACLC,IAAAA,IAAI,EAAE,wCAAwC;AAC9CC,IAAAA,iBAAiB,EAAEC,SAAS;AAC5BC,IAAAA,OAAO,EAAE;MACPC,oBAAoBA,CAACC,IAAI,EAAE;QACzB,MAAM;UAAEC,IAAI;AAAEC,UAAAA;AAAM,SAAC,GAAGF,IAAI;QAC5B,MAAM;UAAEG,QAAQ;UAAEC,IAAI;AAAEC,UAAAA;AAAM,SAAC,GAAGJ,IAAI;QACtC,MAAMK,aAAa,GAAGH,QAAQ,CAACI,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,CAACC,KAAC,CAACC,iBAAiB,CAACC,QAAQ,CAACJ,aAAa,CAAC,EAAE;AAChD,UAAA;AACF,QAAA;AAEA,QAAA,MAAMK,GAAG,GAAGH,KAAC,CAACI,SAAS,CAACR,IAAI,CAAsC;AAClE,QAAA,IAAII,KAAC,CAACK,kBAAkB,CAACT,IAAI,CAAC,EAAE;UAC9B,MAAM;YAAEU,MAAM;YAAEC,QAAQ;AAAEC,YAAAA;AAAS,WAAC,GAAGZ,IAAI;AAC3C,UAAA,MAAMa,IAAI,GAAGf,KAAK,CAACgB,qBAAqB,CAACJ,MAAM,CAAC;AAChD,UAAA,IAAIG,IAAI,EAAE;YACRb,IAAI,CAACU,MAAM,GAAGG,IAAI;AACjBN,YAAAA,GAAG,CAAwBG,MAAM,GAAGN,KAAC,CAACW,oBAAoB,CACzD,GAAG,EACHX,KAAC,CAACI,SAAS,CAACK,IAAI,CAAC,EAEjBH,MACF,CAAC;AACH,UAAA;AAEA,UAAA,IAAIE,QAAQ,EAAE;AACZ,YAAA,MAAMC,IAAI,GAAGf,KAAK,CAACgB,qBAAqB,CAACH,QAAQ,CAAC;AAClD,YAAA,IAAIE,IAAI,EAAE;cACRb,IAAI,CAACW,QAAQ,GAAGE,IAAI;AACnBN,cAAAA,GAAG,CAAwBI,QAAQ,GAAGP,KAAC,CAACW,oBAAoB,CAC3D,GAAG,EACHX,KAAC,CAACI,SAAS,CAACK,IAAI,CAAC,EAEjBF,QACF,CAAC;AACH,YAAA;AACF,UAAA;AACF,QAAA;QAEAf,IAAI,CAACoB,WAAW,CACdZ,KAAC,CAACa,iBAAiB,CAEjBf,aAAa,EACbK,GAAG,EACHH,KAAC,CAACW,oBAAoB,CAAC,GAAG,EAAEf,IAAI,EAAEC,KAAK,CACzC,CACF,CAAC;AACH,MAAA;AACF;GACD;AACH,CAAC,CAAC;;;;"}
{
"name": "@babel/plugin-transform-logical-assignment-operators",
"version": "8.0.0-rc.2",
"version": "8.0.0-rc.3",
"description": "Transforms logical assignment operators into short-circuited assignments",

@@ -19,11 +19,11 @@ "repository": {

"dependencies": {
"@babel/helper-plugin-utils": "^8.0.0-rc.2"
"@babel/helper-plugin-utils": "^8.0.0-rc.3"
},
"peerDependencies": {
"@babel/core": "^8.0.0-rc.2"
"@babel/core": "^8.0.0-rc.3"
},
"devDependencies": {
"@babel/core": "^8.0.0-rc.2",
"@babel/helper-plugin-test-runner": "^8.0.0-rc.2",
"@babel/plugin-transform-nullish-coalescing-operator": "^8.0.0-rc.2"
"@babel/core": "^8.0.0-rc.3",
"@babel/helper-plugin-test-runner": "^8.0.0-rc.3",
"@babel/plugin-transform-nullish-coalescing-operator": "^8.0.0-rc.3"
},

@@ -30,0 +30,0 @@ "homepage": "https://babel.dev/docs/en/next/babel-plugin-transform-logical-assignment-operators",