@babel/plugin-transform-new-target
Advanced tools
Comparing version 7.18.6 to 7.21.4-esm
@@ -7,7 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _helperPluginUtils = require("@babel/helper-plugin-utils"); | ||
var _core = require("@babel/core"); | ||
var _default = (0, _helperPluginUtils.declare)(api => { | ||
@@ -24,3 +21,2 @@ api.assertVersion(7); | ||
} = path; | ||
if (meta.isIdentifier({ | ||
@@ -33,3 +29,2 @@ name: "new" | ||
if (path.isClass()) return true; | ||
if (path.isFunction() && !path.isArrowFunctionExpression()) { | ||
@@ -41,17 +36,12 @@ if (path.isClassMethod({ | ||
} | ||
return true; | ||
} | ||
return false; | ||
}); | ||
if (!func) { | ||
throw path.buildCodeFrameError("new.target must be under a (non-arrow) function or a class."); | ||
} | ||
const { | ||
node | ||
} = func; | ||
if (_core.types.isMethod(node)) { | ||
@@ -61,5 +51,3 @@ path.replaceWith(scope.buildUndefinedNode()); | ||
} | ||
const constructor = _core.types.memberExpression(_core.types.thisExpression(), _core.types.identifier("constructor")); | ||
if (func.isClass()) { | ||
@@ -69,3 +57,2 @@ path.replaceWith(constructor); | ||
} | ||
if (!node.id) { | ||
@@ -76,3 +63,2 @@ node.id = scope.generateUidIdentifier("target"); | ||
const name = node.id.name; | ||
while (scope !== func.parentPath.scope) { | ||
@@ -82,15 +68,13 @@ if (scope.hasOwnBinding(name) && !scope.bindingIdentifierEquals(name, node.id)) { | ||
} | ||
scope = scope.parent; | ||
} | ||
} | ||
path.replaceWith(_core.types.conditionalExpression(_core.types.binaryExpression("instanceof", _core.types.thisExpression(), _core.types.cloneNode(node.id)), constructor, scope.buildUndefinedNode())); | ||
} | ||
} | ||
} | ||
}; | ||
}); | ||
exports.default = _default; | ||
exports.default = _default; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@babel/plugin-transform-new-target", | ||
"version": "7.18.6", | ||
"version": "7.21.4-esm", | ||
"description": "Transforms new.target meta property", | ||
@@ -20,12 +20,12 @@ "repository": { | ||
"dependencies": { | ||
"@babel/helper-plugin-utils": "^7.18.6" | ||
"@babel/helper-plugin-utils": "^7.21.4-esm" | ||
}, | ||
"peerDependencies": { | ||
"@babel/core": "^7.0.0-0" | ||
"@babel/core": "^7.0.0-0 || 7.21.4-esm" | ||
}, | ||
"devDependencies": { | ||
"@babel/core": "^7.18.6", | ||
"@babel/helper-plugin-test-runner": "^7.18.6", | ||
"@babel/plugin-proposal-class-properties": "^7.18.6", | ||
"@babel/plugin-transform-arrow-functions": "^7.18.6" | ||
"@babel/core": "^7.21.4-esm", | ||
"@babel/helper-plugin-test-runner": "^7.21.4-esm", | ||
"@babel/plugin-proposal-class-properties": "^7.21.4-esm", | ||
"@babel/plugin-transform-arrow-functions": "^7.21.4-esm" | ||
}, | ||
@@ -32,0 +32,0 @@ "engines": { |
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
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
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
10280
6
70
1
+ Added@babel/helper-plugin-utils@7.25.7(transitive)
- Removed@ampproject/remapping@2.3.0(transitive)
- Removed@babel/code-frame@7.24.7(transitive)
- Removed@babel/compat-data@7.25.4(transitive)
- Removed@babel/core@7.25.2(transitive)
- Removed@babel/generator@7.25.6(transitive)
- Removed@babel/helper-compilation-targets@7.25.2(transitive)
- Removed@babel/helper-module-imports@7.24.7(transitive)
- Removed@babel/helper-module-transforms@7.25.2(transitive)
- Removed@babel/helper-plugin-utils@7.24.8(transitive)
- Removed@babel/helper-simple-access@7.24.7(transitive)
- Removed@babel/helper-string-parser@7.24.8(transitive)
- Removed@babel/helper-validator-identifier@7.24.7(transitive)
- Removed@babel/helper-validator-option@7.24.8(transitive)
- Removed@babel/helpers@7.25.6(transitive)
- Removed@babel/highlight@7.24.7(transitive)
- Removed@babel/parser@7.25.6(transitive)
- Removed@babel/template@7.25.0(transitive)
- Removed@babel/traverse@7.25.6(transitive)
- Removed@babel/types@7.25.6(transitive)
- Removed@jridgewell/gen-mapping@0.3.5(transitive)
- Removed@jridgewell/resolve-uri@3.1.2(transitive)
- Removed@jridgewell/set-array@1.2.1(transitive)
- Removed@jridgewell/sourcemap-codec@1.5.0(transitive)
- Removed@jridgewell/trace-mapping@0.3.25(transitive)
- Removedansi-styles@3.2.1(transitive)
- Removedbrowserslist@4.24.0(transitive)
- Removedcaniuse-lite@1.0.30001663(transitive)
- Removedchalk@2.4.2(transitive)
- Removedcolor-convert@1.9.3(transitive)
- Removedcolor-name@1.1.3(transitive)
- Removedconvert-source-map@2.0.0(transitive)
- Removeddebug@4.3.7(transitive)
- Removedelectron-to-chromium@1.5.28(transitive)
- Removedescalade@3.2.0(transitive)
- Removedescape-string-regexp@1.0.5(transitive)
- Removedgensync@1.0.0-beta.2(transitive)
- Removedglobals@11.12.0(transitive)
- Removedhas-flag@3.0.0(transitive)
- Removedjs-tokens@4.0.0(transitive)
- Removedjsesc@2.5.2(transitive)
- Removedjson5@2.2.3(transitive)
- Removedlru-cache@5.1.1(transitive)
- Removedms@2.1.3(transitive)
- Removednode-releases@2.0.18(transitive)
- Removedpicocolors@1.1.0(transitive)
- Removedsemver@6.3.1(transitive)
- Removedsupports-color@5.5.0(transitive)
- Removedto-fast-properties@2.0.0(transitive)
- Removedupdate-browserslist-db@1.1.0(transitive)
- Removedyallist@3.1.1(transitive)