From 8d56097b6524c71590dc94e6c1930a10294bf223 Mon Sep 17 00:00:00 2001 From: Lukas Taegert-Atkinson Date: Fri, 12 Nov 2021 16:22:47 +0100 Subject: [PATCH] fix(commonjs): Always sort node-resolve plugin after commonjs if it is not the case --- packages/commonjs/src/index.js | 14 +++ .../_config.js | 31 +++++ .../main.js | 0 .../_config.js | 6 +- .../strict-requires-multiple-entry/main.js | 1 + .../other.js | 0 .../commonjs/test/snapshots/function.js.md | 118 +++++++++++++++--- .../commonjs/test/snapshots/function.js.snap | Bin 19215 -> 19636 bytes 8 files changed, 149 insertions(+), 21 deletions(-) create mode 100644 packages/commonjs/test/fixtures/function/strict-requires-entry-node-resolve/_config.js rename packages/commonjs/test/fixtures/function/{strict-requires-entry => strict-requires-entry-node-resolve}/main.js (100%) rename packages/commonjs/test/fixtures/function/{strict-requires-entry => strict-requires-multiple-entry}/_config.js (60%) create mode 100644 packages/commonjs/test/fixtures/function/strict-requires-multiple-entry/main.js rename packages/commonjs/test/fixtures/function/{strict-requires-entry => strict-requires-multiple-entry}/other.js (100%) diff --git a/packages/commonjs/src/index.js b/packages/commonjs/src/index.js index 43c5ad1be..892a4eaf3 100644 --- a/packages/commonjs/src/index.js +++ b/packages/commonjs/src/index.js @@ -146,6 +146,20 @@ export default function commonjs(options = {}) { return { name: 'commonjs', + options(options) { + // Always sort the node-resolve plugin after the commonjs plugin as otherwise CommonJS entries + // will not work with strictRequires: true + const { plugins } = options; + if (Array.isArray(plugins)) { + const cjsIndex = plugins.findIndex((plugin) => plugin.name === 'commonjs'); + const nodeResolveIndex = plugins.findIndex((plugin) => plugin.name === 'node-resolve'); + if (nodeResolveIndex >= 0 && nodeResolveIndex < cjsIndex) { + plugins.splice(cjsIndex + 1, 0, plugins[nodeResolveIndex]); + plugins.splice(nodeResolveIndex, 1); + } + } + }, + buildStart() { validateRollupVersion(this.meta.rollupVersion, peerDependencies.rollup); if (options.namedExports != null) { diff --git a/packages/commonjs/test/fixtures/function/strict-requires-entry-node-resolve/_config.js b/packages/commonjs/test/fixtures/function/strict-requires-entry-node-resolve/_config.js new file mode 100644 index 000000000..d5ae8bbb1 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/strict-requires-entry-node-resolve/_config.js @@ -0,0 +1,31 @@ +const assert = require('assert'); + +const { nodeResolve } = require('@rollup/plugin-node-resolve'); + +module.exports = { + description: + 'strict require semantic modules can be entry points when the node-resolve plugin is used', + pluginOptions: { + strictRequires: true + }, + options: { + plugins: [ + { + name: 'before-node', + buildStart({ plugins }) { + assert.deepStrictEqual( + plugins.map((plugin) => plugin.name), + ['before-node', 'after-node', 'commonjs', 'node-resolve'] + ); + } + }, + nodeResolve(), + { + name: 'after-node' + } + ] + }, + exports(exports) { + assert.deepStrictEqual(exports, { foo: 'foo' }); + } +}; diff --git a/packages/commonjs/test/fixtures/function/strict-requires-entry/main.js b/packages/commonjs/test/fixtures/function/strict-requires-entry-node-resolve/main.js similarity index 100% rename from packages/commonjs/test/fixtures/function/strict-requires-entry/main.js rename to packages/commonjs/test/fixtures/function/strict-requires-entry-node-resolve/main.js diff --git a/packages/commonjs/test/fixtures/function/strict-requires-entry/_config.js b/packages/commonjs/test/fixtures/function/strict-requires-multiple-entry/_config.js similarity index 60% rename from packages/commonjs/test/fixtures/function/strict-requires-entry/_config.js rename to packages/commonjs/test/fixtures/function/strict-requires-multiple-entry/_config.js index b9807be5c..6e3b65ee2 100644 --- a/packages/commonjs/test/fixtures/function/strict-requires-entry/_config.js +++ b/packages/commonjs/test/fixtures/function/strict-requires-multiple-entry/_config.js @@ -4,15 +4,15 @@ module.exports = { description: 'strict require semantic modules can be entry points', options: { input: [ - 'fixtures/function/strict-requires-entry/main.js', - 'fixtures/function/strict-requires-entry/other.js' + 'fixtures/function/strict-requires-multiple-entry/main.js', + 'fixtures/function/strict-requires-multiple-entry/other.js' ], output: { chunkFileNames: 'generated-[name].js' } }, pluginOptions: { - strictRequires: ['fixtures/function/strict-requires-entry/main.js'] + strictRequires: ['fixtures/function/strict-requires-multiple-entry/main.js'] }, exports(exports) { assert.deepStrictEqual(exports, { foo: 'foo' }); diff --git a/packages/commonjs/test/fixtures/function/strict-requires-multiple-entry/main.js b/packages/commonjs/test/fixtures/function/strict-requires-multiple-entry/main.js new file mode 100644 index 000000000..94ecacb72 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/strict-requires-multiple-entry/main.js @@ -0,0 +1 @@ +exports.foo = 'foo'; diff --git a/packages/commonjs/test/fixtures/function/strict-requires-entry/other.js b/packages/commonjs/test/fixtures/function/strict-requires-multiple-entry/other.js similarity index 100% rename from packages/commonjs/test/fixtures/function/strict-requires-entry/other.js rename to packages/commonjs/test/fixtures/function/strict-requires-multiple-entry/other.js diff --git a/packages/commonjs/test/snapshots/function.js.md b/packages/commonjs/test/snapshots/function.js.md index a004bbea7..260d58e48 100644 --- a/packages/commonjs/test/snapshots/function.js.md +++ b/packages/commonjs/test/snapshots/function.js.md @@ -5629,7 +5629,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 { - 'generated-main.js': `'use strict';␊ + 'main.js': `'use strict';␊ ␊ var main = {};␊ ␊ @@ -5642,26 +5642,10 @@ Generated by [AVA](https://avajs.dev). return main;␊ }␊ ␊ - exports.requireMain = requireMain;␊ - `, - 'main.js': `'use strict';␊ - ␊ - var main = require('./generated-main.js');␊ - ␊ - var mainExports = main.requireMain();␊ + var mainExports = requireMain();␊ ␊ module.exports = mainExports;␊ `, - 'other.js': `'use strict';␊ - ␊ - var main = require('./generated-main.js');␊ - ␊ - var other = {};␊ - ␊ - t.is(main.requireMain().foo, 'foo');␊ - ␊ - module.exports = other;␊ - `, } ## strict-requires-exportmode-exports @@ -5899,6 +5883,80 @@ Generated by [AVA](https://avajs.dev). `, } +## strict-requires-magic-string + +> Snapshot 1 + + { + 'main.js': `'use strict';␊ + ␊ + Object.defineProperty(exports, '__esModule', { value: true });␊ + ␊ + var main = {};␊ + ␊ + var hasRequiredMain;␊ + ␊ + function requireMain () {␊ + if (hasRequiredMain) return main;␊ + hasRequiredMain = 1;␊ + console.log('hey');␊ + // magic-string@0.25.7␊ + const m = new MagicString('0123456789');␊ + console.log(␊ + m.prependRight(0, 'W').prependLeft(3, 'AB').appendRight(9, 'XY').remove(6, 8).toString()␊ + );␊ + const bundle = new MagicString.Bundle();␊ + bundle.addSource({ filename: 'foo.txt', content: m });␊ + const map = bundle.generateMap({ file: 'bundle.txt', includeContent: true, hires: true });␊ + console.log(JSON.stringify(map));␊ + main.foo = 'foo';␊ + return main;␊ + }␊ + ␊ + exports.__require = requireMain;␊ + `, + } + +## strict-requires-multiple-entry + +> Snapshot 1 + + { + 'generated-main.js': `'use strict';␊ + ␊ + var main = {};␊ + ␊ + var hasRequiredMain;␊ + ␊ + function requireMain () {␊ + if (hasRequiredMain) return main;␊ + hasRequiredMain = 1;␊ + main.foo = 'foo';␊ + return main;␊ + }␊ + ␊ + exports.requireMain = requireMain;␊ + `, + 'main.js': `'use strict';␊ + ␊ + var main = require('./generated-main.js');␊ + ␊ + var mainExports = main.requireMain();␊ + ␊ + module.exports = mainExports;␊ + `, + 'other.js': `'use strict';␊ + ␊ + var main = require('./generated-main.js');␊ + ␊ + var other = {};␊ + ␊ + t.is(main.requireMain().foo, 'foo');␊ + ␊ + module.exports = other;␊ + `, + } + ## this > Snapshot 1 @@ -6749,3 +6807,27 @@ Generated by [AVA](https://avajs.dev). module.exports = main;␊ `, } + +## strict-requires-entry-node-resolve + +> Snapshot 1 + + { + 'main.js': `'use strict';␊ + ␊ + var main = {};␊ + ␊ + var hasRequiredMain;␊ + ␊ + function requireMain () {␊ + if (hasRequiredMain) return main;␊ + hasRequiredMain = 1;␊ + main.foo = 'foo';␊ + return main;␊ + }␊ + ␊ + var mainExports = requireMain();␊ + ␊ + module.exports = mainExports;␊ + `, + } diff --git a/packages/commonjs/test/snapshots/function.js.snap b/packages/commonjs/test/snapshots/function.js.snap index 6e4f49fa6553085e032a0d59bb50234293d37d09..4ec48d232698616a4f850a2f6ddcf378ff8b05e9 100644 GIT binary patch delta 19069 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 Nfz9PueGtgW@n1L)?y>*? delta 18525 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 u2njqH;+?9o#4t__OCHy7fJ*p~f+Opf