From 4f89682d2ed17602c1d950af755fb6e27ac9d26b Mon Sep 17 00:00:00 2001 From: Lukas Taegert-Atkinson Date: Fri, 19 Jan 2024 16:19:19 +0100 Subject: [PATCH] Consider moduleSideEffects as __PURE__ comments for proxied wrapped modules --- packages/commonjs/src/index.js | 10 +++++-- packages/commonjs/src/proxies.js | 6 ++-- .../_config.js | 24 ++++++++++++++++ .../module-side-effects-import-wrapped/bar.js | 1 + .../module-side-effects-import-wrapped/foo.js | 1 + .../main.js | 2 ++ .../commonjs/test/snapshots/function.js.md | 26 +++++++++++++++++- .../commonjs/test/snapshots/function.js.snap | Bin 22232 -> 22266 bytes 8 files changed, 63 insertions(+), 7 deletions(-) create mode 100644 packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/_config.js create mode 100644 packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/bar.js create mode 100644 packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/foo.js create mode 100644 packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/main.js diff --git a/packages/commonjs/src/index.js b/packages/commonjs/src/index.js index a7fb65938..ed321dc1b 100644 --- a/packages/commonjs/src/index.js +++ b/packages/commonjs/src/index.js @@ -1,4 +1,4 @@ -import { extname, relative, resolve, dirname } from 'path'; +import { dirname, extname, relative, resolve } from 'path'; import { createFilter } from '@rollup/pluginutils'; @@ -239,7 +239,7 @@ export default function commonjs(options = {}) { } }, - load(id) { + async load(id) { if (id === HELPERS_ID) { return getHelpersModule(); } @@ -285,7 +285,11 @@ export default function commonjs(options = {}) { if (isWrappedId(id, ES_IMPORT_SUFFIX)) { const actualId = unwrapId(id, ES_IMPORT_SUFFIX); - return getEsImportProxy(actualId, getDefaultIsModuleExports(actualId)); + return getEsImportProxy( + actualId, + getDefaultIsModuleExports(actualId), + (await this.load({ id: actualId })).moduleSideEffects + ); } if (id === DYNAMIC_MODULES_ID) { diff --git a/packages/commonjs/src/proxies.js b/packages/commonjs/src/proxies.js index 0ca6cad72..2e8d9f270 100644 --- a/packages/commonjs/src/proxies.js +++ b/packages/commonjs/src/proxies.js @@ -57,21 +57,21 @@ export function getEntryProxy(id, defaultIsModuleExports, getModuleInfo, shebang } return shebang + code; } - const result = getEsImportProxy(id, defaultIsModuleExports); + const result = getEsImportProxy(id, defaultIsModuleExports, true); return { ...result, code: shebang + result.code }; } -export function getEsImportProxy(id, defaultIsModuleExports) { +export function getEsImportProxy(id, defaultIsModuleExports, moduleSideEffects) { const name = getName(id); const exportsName = `${name}Exports`; const requireModule = `require${capitalize(name)}`; let code = `import { getDefaultExportFromCjs } from "${HELPERS_ID}";\n` + `import { __require as ${requireModule} } from ${JSON.stringify(id)};\n` + - `var ${exportsName} = ${requireModule}();\n` + + `var ${exportsName} = ${moduleSideEffects ? '' : '/*@__PURE__*/ '}${requireModule}();\n` + `export { ${exportsName} as __moduleExports };`; if (defaultIsModuleExports === true) { code += `\nexport { ${exportsName} as default };`; diff --git a/packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/_config.js b/packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/_config.js new file mode 100644 index 000000000..dbd6590af --- /dev/null +++ b/packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/_config.js @@ -0,0 +1,24 @@ +module.exports = { + description: 'respects module-side-effects when importing wrapped dependencies', + options: { + plugins: [ + { + name: 'test', + async resolveId(source, importer, options) { + if (source.endsWith('./foo.js')) { + const resolved = await this.resolve(source, importer, options); + return { ...resolved, moduleSideEffects: false }; + } + return null; + } + } + ] + }, + pluginOptions: { + strictRequires: true + }, + global: (global, t) => { + t.is(global.foo, undefined); + t.is(global.bar, 'bar'); + } +}; diff --git a/packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/bar.js b/packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/bar.js new file mode 100644 index 000000000..7abd01cbe --- /dev/null +++ b/packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/bar.js @@ -0,0 +1 @@ +global.bar = 'bar'; diff --git a/packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/foo.js b/packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/foo.js new file mode 100644 index 000000000..3eb324194 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/foo.js @@ -0,0 +1 @@ +global.foo = 'foo'; diff --git a/packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/main.js b/packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/main.js new file mode 100644 index 000000000..7eee06cba --- /dev/null +++ b/packages/commonjs/test/fixtures/function/module-side-effects-import-wrapped/main.js @@ -0,0 +1,2 @@ +import { foo } from './foo.js'; +import { bar } from './bar.js'; diff --git a/packages/commonjs/test/snapshots/function.js.md b/packages/commonjs/test/snapshots/function.js.md index 46650636a..9be6b8b12 100644 --- a/packages/commonjs/test/snapshots/function.js.md +++ b/packages/commonjs/test/snapshots/function.js.md @@ -6545,6 +6545,30 @@ Generated by [AVA](https://avajs.dev). `, } +## module-side-effects-import-wrapped + +> Snapshot 1 + + { + 'main.js': `'use strict';␊ + ␊ + var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};␊ + ␊ + var bar = {};␊ + ␊ + var hasRequiredBar;␊ + ␊ + function requireBar () {␊ + if (hasRequiredBar) return bar;␊ + hasRequiredBar = 1;␊ + commonjsGlobal.bar = 'bar';␊ + return bar;␊ + }␊ + ␊ + requireBar();␊ + `, + } + ## module-side-effects-late-entry > Snapshot 1 @@ -6613,7 +6637,7 @@ Generated by [AVA](https://avajs.dev). `, } -## module-side-effects-wrapped +## module-side-effects-require-wrapped > Snapshot 1 diff --git a/packages/commonjs/test/snapshots/function.js.snap b/packages/commonjs/test/snapshots/function.js.snap index 12949490b622aa584ffc8bca5e872d452f7e884c..2f0ea3659a5ed2bbdbc47c374897d62f5940ff5f 100644 GIT binary patch delta 18704 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 Zv;l*YPgYL>qm!RjF$ick%YH%g0{~{UTc7{{ delta 18647 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 aRkQ(zlW|s00Rxl4Rxt<@!nSoL@dE&X>=AYV