@babel/helper-create-class-features-plugin
Advanced tools
Comparing version 7.23.5 to 7.23.6
@@ -21,3 +21,10 @@ "use strict"; | ||
const looseKey = "@babel/plugin-class-features/looseKey"; | ||
const looseLowPriorityKey = "@babel/plugin-class-features/looseLowPriorityKey/#__internal__@babel/preset-env__please-overwrite-loose-instead-of-throwing"; | ||
{ | ||
var looseLowPriorityKey = "@babel/plugin-class-features/looseLowPriorityKey/#__internal__@babel/preset-env__please-overwrite-loose-instead-of-throwing"; | ||
} | ||
{ | ||
var canIgnoreLoose = function (file, feature) { | ||
return !!(file.get(looseLowPriorityKey) & feature); | ||
}; | ||
} | ||
function enableFeature(file, feature, loose) { | ||
@@ -37,13 +44,15 @@ if (!hasFeature(file, feature) || canIgnoreLoose(file, feature)) { | ||
let resolvedLoose; | ||
let higherPriorityPluginName; | ||
for (const [mask, name] of featuresSameLoose) { | ||
if (!hasFeature(file, mask)) continue; | ||
{ | ||
if (canIgnoreLoose(file, mask)) continue; | ||
} | ||
const loose = isLoose(file, mask); | ||
if (canIgnoreLoose(file, mask)) { | ||
continue; | ||
} else if (resolvedLoose === !loose) { | ||
if (resolvedLoose === !loose) { | ||
throw new Error("'loose' mode configuration must be the same for @babel/plugin-transform-class-properties, " + "@babel/plugin-transform-private-methods and " + "@babel/plugin-transform-private-property-in-object (when they are enabled)."); | ||
} else { | ||
resolvedLoose = loose; | ||
higherPriorityPluginName = name; | ||
{ | ||
var higherPriorityPluginName = name; | ||
} | ||
} | ||
@@ -68,7 +77,6 @@ } | ||
if (loose) file.set(looseKey, file.get(looseKey) | feature);else file.set(looseKey, file.get(looseKey) & ~feature); | ||
file.set(looseLowPriorityKey, file.get(looseLowPriorityKey) & ~feature); | ||
{ | ||
file.set(looseLowPriorityKey, file.get(looseLowPriorityKey) & ~feature); | ||
} | ||
} | ||
function canIgnoreLoose(file, feature) { | ||
return !!(file.get(looseLowPriorityKey) & feature); | ||
} | ||
function shouldTransform(path, file) { | ||
@@ -75,0 +83,0 @@ let decoratorPath = null; |
@@ -87,8 +87,8 @@ "use strict"; | ||
if (typeof file.get(versionKey) === "number") { | ||
file.set(versionKey, "7.23.5"); | ||
file.set(versionKey, "7.23.6"); | ||
return; | ||
} | ||
} | ||
if (!file.get(versionKey) || _semver.lt(file.get(versionKey), "7.23.5")) { | ||
file.set(versionKey, "7.23.5"); | ||
if (!file.get(versionKey) || _semver.lt(file.get(versionKey), "7.23.6")) { | ||
file.set(versionKey, "7.23.6"); | ||
} | ||
@@ -101,3 +101,3 @@ }, | ||
var _ref; | ||
if (file.get(versionKey) !== "7.23.5") return; | ||
if (file.get(versionKey) !== "7.23.6") return; | ||
if (!(0, _features.shouldTransform)(path, file)) return; | ||
@@ -218,3 +218,3 @@ const pathIsClassDeclaration = path.isClassDeclaration(); | ||
{ | ||
if (file.get(versionKey) !== "7.23.5") return; | ||
if (file.get(versionKey) !== "7.23.6") return; | ||
const decl = path.get("declaration"); | ||
@@ -221,0 +221,0 @@ if (decl.isClassDeclaration() && (0, _decorators.hasDecorators)(decl.node)) { |
@@ -100,9 +100,21 @@ "use strict"; | ||
if (!computedKey.isConstantExpression()) { | ||
const ident = path.scope.generateUidIdentifierBasedOnNode(computedNode.key); | ||
path.scope.push({ | ||
id: ident, | ||
kind: "let" | ||
}); | ||
declarations.push(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.cloneNode(ident), computedNode.key))); | ||
computedNode.key = _core.types.cloneNode(ident); | ||
const scope = path.scope; | ||
const isUidReference = _core.types.isIdentifier(computedKey.node) && scope.hasUid(computedKey.node.name); | ||
const isMemoiseAssignment = computedKey.isAssignmentExpression({ | ||
operator: "=" | ||
}) && _core.types.isIdentifier(computedKey.node.left) && scope.hasUid(computedKey.node.left.name); | ||
if (isUidReference) { | ||
continue; | ||
} else if (isMemoiseAssignment) { | ||
declarations.push(_core.types.expressionStatement(_core.types.cloneNode(computedNode.key))); | ||
computedNode.key = _core.types.cloneNode(computedNode.key.left); | ||
} else { | ||
const ident = path.scope.generateUidIdentifierBasedOnNode(computedNode.key); | ||
scope.push({ | ||
id: ident, | ||
kind: "let" | ||
}); | ||
declarations.push(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.cloneNode(ident), computedNode.key))); | ||
computedNode.key = _core.types.cloneNode(ident); | ||
} | ||
} | ||
@@ -109,0 +121,0 @@ } |
{ | ||
"name": "@babel/helper-create-class-features-plugin", | ||
"version": "7.23.5", | ||
"version": "7.23.6", | ||
"author": "The Babel Team (https://babel.dev/team)", | ||
@@ -35,5 +35,5 @@ "license": "MIT", | ||
"devDependencies": { | ||
"@babel/core": "^7.23.5", | ||
"@babel/core": "^7.23.6", | ||
"@babel/helper-plugin-test-runner": "^7.22.5", | ||
"@babel/preset-env": "^7.23.5" | ||
"@babel/preset-env": "^7.23.6" | ||
}, | ||
@@ -40,0 +40,0 @@ "engines": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
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
197493
1475