From b844adb3e24dfd3b5576406d4c535756f48ee696 Mon Sep 17 00:00:00 2001 From: XiaoPi <530257315@qq.com> Date: Mon, 19 Jun 2023 21:42:46 +0800 Subject: [PATCH] fix(commonjs): add classBodyDepth flag (#1507) --- packages/commonjs/src/transform-commonjs.js | 7 ++++- .../test/fixtures/function/this/foo.js | 14 +++++++++- .../test/fixtures/function/this/main.js | 9 +++++-- .../commonjs/test/snapshots/function.js.md | 25 +++++++++++++++--- .../commonjs/test/snapshots/function.js.snap | Bin 19494 -> 19607 bytes 5 files changed, 48 insertions(+), 7 deletions(-) diff --git a/packages/commonjs/src/transform-commonjs.js b/packages/commonjs/src/transform-commonjs.js index 4209fa8f4..84280cd1e 100644 --- a/packages/commonjs/src/transform-commonjs.js +++ b/packages/commonjs/src/transform-commonjs.js @@ -76,6 +76,7 @@ export default async function transformCommonjs( let scope = attachScopes(ast, 'scope'); let lexicalDepth = 0; let programDepth = 0; + let classBodyDepth = 0; let currentTryBlockEnd = null; let shouldWrap = false; @@ -258,6 +259,9 @@ export default async function transformCommonjs( } return; } + case 'ClassBody': + classBodyDepth += 1; + return; case 'ConditionalExpression': case 'IfStatement': // skip dead branches @@ -354,7 +358,7 @@ export default async function transformCommonjs( return; case 'ThisExpression': // rewrite top-level `this` as `commonjsHelpers.commonjsGlobal` - if (lexicalDepth === 0) { + if (lexicalDepth === 0 && !classBodyDepth) { uses.global = true; if (!ignoreGlobal) { replacedGlobal.push(node); @@ -405,6 +409,7 @@ export default async function transformCommonjs( programDepth -= 1; if (node.scope) scope = scope.parent; if (functionType.test(node.type)) lexicalDepth -= 1; + if (node.type === 'ClassBody') classBodyDepth -= 1; } }); diff --git a/packages/commonjs/test/fixtures/function/this/foo.js b/packages/commonjs/test/fixtures/function/this/foo.js index 82e5ddd92..692fb802a 100644 --- a/packages/commonjs/test/fixtures/function/this/foo.js +++ b/packages/commonjs/test/fixtures/function/this/foo.js @@ -1,5 +1,17 @@ -module.exports = function augmentThis() { +exports.augmentThis = function augmentThis() { this.x = 'x'; }; this.y = 'y'; + +exports.classThis = class classThis { + constructor(){ + class _classThis { + y = 'yyy' + yyy = this.y + } + this._instance = new _classThis() + } + y = 'yy' + yy = this.y +} diff --git a/packages/commonjs/test/fixtures/function/this/main.js b/packages/commonjs/test/fixtures/function/this/main.js index 051cca398..d0c275253 100644 --- a/packages/commonjs/test/fixtures/function/this/main.js +++ b/packages/commonjs/test/fixtures/function/this/main.js @@ -1,7 +1,12 @@ -const foo = require('./foo'); +const { augmentThis, classThis } = require('./foo'); const obj = {}; -foo.call(obj); +augmentThis.call(obj); t.is(obj.x, 'x'); t.is(this.y, 'y'); + +const instance = new classThis(); + +t.is(instance.yy,'yy'); +t.is(instance._instance.yyy,'yyy'); diff --git a/packages/commonjs/test/snapshots/function.js.md b/packages/commonjs/test/snapshots/function.js.md index b6651016f..4ca5ab0b8 100644 --- a/packages/commonjs/test/snapshots/function.js.md +++ b/packages/commonjs/test/snapshots/function.js.md @@ -7269,20 +7269,39 @@ Generated by [AVA](https://avajs.dev). ␊ var main = {};␊ ␊ - var foo$1 = function augmentThis() {␊ + var foo = {};␊ + ␊ + foo.augmentThis = function augmentThis() {␊ this.x = 'x';␊ };␊ ␊ commonjsGlobal.y = 'y';␊ ␊ - const foo = foo$1;␊ + foo.classThis = class classThis {␊ + constructor(){␊ + class _classThis {␊ + y = 'yyy'␊ + yyy = this.y␊ + }␊ + this._instance = new _classThis();␊ + }␊ + y = 'yy'␊ + yy = this.y␊ + };␊ + ␊ + const { augmentThis, classThis } = foo;␊ ␊ const obj = {};␊ - foo.call(obj);␊ + augmentThis.call(obj);␊ ␊ t.is(obj.x, 'x');␊ t.is(commonjsGlobal.y, 'y');␊ ␊ + const instance = new classThis();␊ + ␊ + t.is(instance.yy,'yy');␊ + t.is(instance._instance.yyy,'yyy');␊ + ␊ module.exports = main;␊ `, } diff --git a/packages/commonjs/test/snapshots/function.js.snap b/packages/commonjs/test/snapshots/function.js.snap index 20c8563ca76cde6c62820ca667f720db7e839d5d..031a6268cdd19f7aa962e662370c3ae8be45bccb 100644 GIT binary patch literal 19607 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 bsL{Qp=|mZ4&^oRn4Ep~E9wv$y!xRGmyxWh5