diff --git a/packages/babel-helper-replace-supers/src/index.js b/packages/babel-helper-replace-supers/src/index.js index 6a96b6d859..7fddb8c5a4 100644 --- a/packages/babel-helper-replace-supers/src/index.js +++ b/packages/babel-helper-replace-supers/src/index.js @@ -227,24 +227,6 @@ export default class ReplaceSupers { specHandleAssignmentExpression(ref, path, node) { if (node.operator === "=") { - const strictParent = path.findParent(path => { - if (path.isClassBody()) { - return true; - } - - if (path.isProgram() && path.node.sourceType === "module") { - return true; - } - - if (!path.isProgram() && !path.isBlockStatement()) { - return false; - } - - return path.node.directives.some( - directive => directive.value.value === "use strict", - ); - }); - // super.name = "val" // to // _set(Object.getPrototypeOf(objectRef.prototype), "name", this, isStrict); @@ -252,7 +234,7 @@ export default class ReplaceSupers { node.left.property, node.right, node.left.computed, - !!strictParent, + path.isInStrictMode(), ); } else { // super.age += 2 diff --git a/packages/babel-plugin-transform-classes/test/fixtures/regression/5769/output.js b/packages/babel-plugin-transform-classes/test/fixtures/regression/5769/output.js index 1c2c78976c..a76710135f 100644 --- a/packages/babel-plugin-transform-classes/test/fixtures/regression/5769/output.js +++ b/packages/babel-plugin-transform-classes/test/fixtures/regression/5769/output.js @@ -1,6 +1,8 @@ var Point = /*#__PURE__*/ function () { + "use strict"; + function Point() { babelHelpers.classCallCheck(this, Point); } @@ -17,6 +19,8 @@ function () { var ColorPoint = /*#__PURE__*/ function (_Point) { + "use strict"; + babelHelpers.inherits(ColorPoint, _Point); function ColorPoint() {