diff --git a/packages/commonjs/README.md b/packages/commonjs/README.md index 37f63693e..ce6c9ed58 100644 --- a/packages/commonjs/README.md +++ b/packages/commonjs/README.md @@ -311,6 +311,26 @@ ES modules are _always_ parsed in strict mode. That means that certain non-stric Luckily, there is absolutely no good reason _not_ to use strict mode for everything — so the solution to this problem is to lobby the authors of those modules to update them. +## Inter-plugin-communication + +This plugin exposes the result of its CommonJS file type detection for other plugins to use. You can access it via `this.getModuleInfo` or the `moduleParsed` hook: + +```js +function cjsDetectionPlugin() { + return { + name: 'cjs-detection', + moduleParsed({ + id, + meta: { + commonjs: { isCommonJS }, + }, + }) { + console.log(`File ${id} is CommonJS: ${isCommonJS}`); + }, + }; +} +``` + ## Meta [CONTRIBUTING](/.github/CONTRIBUTING.md) diff --git a/packages/commonjs/package.json b/packages/commonjs/package.json index e1b968514..c6c2a0495 100644 --- a/packages/commonjs/package.json +++ b/packages/commonjs/package.json @@ -47,7 +47,7 @@ "require" ], "peerDependencies": { - "rollup": "^2.22.0" + "rollup": "^2.30.0" }, "dependencies": { "@rollup/pluginutils": "^3.1.0", @@ -63,7 +63,7 @@ "@rollup/plugin-node-resolve": "^8.4.0", "locate-character": "^2.0.5", "require-relative": "^0.8.7", - "rollup": "^2.23.0", + "rollup": "^2.30.0", "shx": "^0.3.2", "source-map": "^0.7.3", "source-map-support": "^0.5.19", diff --git a/packages/commonjs/src/index.js b/packages/commonjs/src/index.js index b88441e76..c3f75a391 100644 --- a/packages/commonjs/src/index.js +++ b/packages/commonjs/src/index.js @@ -103,14 +103,13 @@ export default function commonjs(options = {}) { !dynamicRequireModuleSet.has(normalizePathSlashes(id)) && (!hasCjsKeywords(code, ignoreGlobal) || (isEsModule && !options.transformMixedEsModules)) ) { - setIsCjsPromise(id, false); - return null; + return { meta: { commonjs: { isCommonJS: false } } }; } // avoid wrapping in createCommonjsModule, as this is a commonjsRegister call const disableWrap = isModuleRegistrationProxy(id, dynamicRequireModuleSet); - const transformed = transformCommonjs( + return transformCommonjs( this.parse, code, id, @@ -124,9 +123,6 @@ export default function commonjs(options = {}) { commonDir, ast ); - - setIsCjsPromise(id, isEsModule ? false : Boolean(transformed)); - return transformed; } return { @@ -201,20 +197,25 @@ export default function commonjs(options = {}) { !id.startsWith(DYNAMIC_JSON_PREFIX) && (!filter(id) || !extensions.includes(extName)) ) { - setIsCjsPromise(id, null); return null; } - let transformed; try { - transformed = transformAndCheckExports.call(this, code, id); + return transformAndCheckExports.call(this, code, id); } catch (err) { - transformed = null; - setIsCjsPromise(id, false); - this.error(err, err.loc); + return this.error(err, err.loc); } + }, - return transformed; + moduleParsed({ id, meta: { commonjs } }) { + if (commonjs) { + const isCjs = commonjs.isCommonJS; + if (isCjs != null) { + setIsCjsPromise(id, isCjs); + return; + } + } + setIsCjsPromise(id, null); } }; } diff --git a/packages/commonjs/src/is-cjs.js b/packages/commonjs/src/is-cjs.js index 695441e63..5f4496c3a 100644 --- a/packages/commonjs/src/is-cjs.js +++ b/packages/commonjs/src/is-cjs.js @@ -1,4 +1,3 @@ -/* eslint-disable no-undefined */ const isCjsPromises = new Map(); export function getIsCjsPromise(id) { @@ -8,7 +7,7 @@ export function getIsCjsPromise(id) { const promise = new Promise((resolve) => { isCjsPromise = { resolve, - promise: undefined + promise: null }; isCjsPromises.set(id, isCjsPromise); }); @@ -22,9 +21,9 @@ export function setIsCjsPromise(id, resolution) { if (isCjsPromise) { if (isCjsPromise.resolve) { isCjsPromise.resolve(resolution); - isCjsPromise.resolve = undefined; + isCjsPromise.resolve = null; } } else { - isCjsPromises.set(id, { promise: Promise.resolve(resolution), resolve: undefined }); + isCjsPromises.set(id, { promise: Promise.resolve(resolution), resolve: null }); } } diff --git a/packages/commonjs/src/transform.js b/packages/commonjs/src/transform.js index f1f751ea1..299db1fd3 100644 --- a/packages/commonjs/src/transform.js +++ b/packages/commonjs/src/transform.js @@ -560,8 +560,7 @@ export function transformCommonjs( !usesCommonjsHelpers && (ignoreGlobal || !uses.global) ) { - // not a CommonJS module - return null; + return { meta: { commonjs: { isCommonJS: false } } }; } const importBlock = `${(usesCommonjsHelpers @@ -698,5 +697,10 @@ export function transformCommonjs( code = magicString.toString(); const map = sourceMap ? magicString.generateMap() : null; - return { code, map, syntheticNamedExports: isEsModule ? false : '__moduleExports' }; + return { + code, + map, + syntheticNamedExports: isEsModule ? false : '__moduleExports', + meta: { commonjs: { isCommonJS: !isEsModule } } + }; } diff --git a/packages/commonjs/test/fixtures/function/expose-file-type-detection/_config.js b/packages/commonjs/test/fixtures/function/expose-file-type-detection/_config.js new file mode 100644 index 000000000..037256b61 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/expose-file-type-detection/_config.js @@ -0,0 +1,33 @@ +const path = require('path'); + +const ID_MAIN = path.join(__dirname, 'main.js'); +const ID_OTHER = path.join(__dirname, 'other.js'); + +module.exports = { + description: 'exposes cjs file type detection to other plugins', + options: { + input: [ID_MAIN, ID_OTHER], + plugins: [ + { + moduleParsed({ + id, + meta: { + commonjs: { isCommonJS } + } + }) { + if (id === ID_MAIN) { + if (isCommonJS !== false) { + throw new Error( + `Main file wrongly detected: isCommonJS === ${JSON.stringify(isCommonJS)}` + ); + } + } else if (isCommonJS !== true) { + throw new Error( + `Other file wrongly detected: isCommonJS === ${JSON.stringify(isCommonJS)}` + ); + } + } + } + ] + } +}; diff --git a/packages/commonjs/test/fixtures/function/expose-file-type-detection/main.js b/packages/commonjs/test/fixtures/function/expose-file-type-detection/main.js new file mode 100644 index 000000000..bc136e278 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/expose-file-type-detection/main.js @@ -0,0 +1,3 @@ +import foo from './other.js'; + +t.is(foo, 'foo'); diff --git a/packages/commonjs/test/fixtures/function/expose-file-type-detection/other.js b/packages/commonjs/test/fixtures/function/expose-file-type-detection/other.js new file mode 100644 index 000000000..2651774ae --- /dev/null +++ b/packages/commonjs/test/fixtures/function/expose-file-type-detection/other.js @@ -0,0 +1 @@ +module.exports = 'foo'; diff --git a/packages/commonjs/test/fixtures/samples/caching/dep.js b/packages/commonjs/test/fixtures/samples/caching/dep.js new file mode 100644 index 000000000..88a7c1a14 --- /dev/null +++ b/packages/commonjs/test/fixtures/samples/caching/dep.js @@ -0,0 +1 @@ +exports.dep = 42; diff --git a/packages/commonjs/test/fixtures/samples/caching/main.js b/packages/commonjs/test/fixtures/samples/caching/main.js new file mode 100644 index 000000000..62d4e8ea2 --- /dev/null +++ b/packages/commonjs/test/fixtures/samples/caching/main.js @@ -0,0 +1,3 @@ +const dep = require('./dep'); + +console.log(dep); diff --git a/packages/commonjs/test/fixtures/samples/caching/rollupWorker.js b/packages/commonjs/test/fixtures/samples/caching/rollupWorker.js new file mode 100644 index 000000000..2f80d6d4e --- /dev/null +++ b/packages/commonjs/test/fixtures/samples/caching/rollupWorker.js @@ -0,0 +1,20 @@ +const { workerData, parentPort } = require('worker_threads'); + +const { rollup } = require('rollup'); + +const commonjs = require('../../../../dist/index'); +const { getCodeFromBundle } = require('../../../helpers/util'); + +generateCode(workerData); + +async function generateCode(cache) { + const code = await getCodeFromBundle( + await rollup({ + input: 'fixtures/samples/caching/main.js', + cache, + plugins: [commonjs()] + }) + ); + + parentPort.postMessage(code); +} diff --git a/packages/commonjs/test/snapshots/function.js.md b/packages/commonjs/test/snapshots/function.js.md index 90242f534..5ea110f93 100644 --- a/packages/commonjs/test/snapshots/function.js.md +++ b/packages/commonjs/test/snapshots/function.js.md @@ -778,9 +778,11 @@ Generated by [AVA](https://avajs.dev). { 'main.js': `'use strict';␊ ␊ - function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }␊ + var Path = require('path');␊ ␊ - var Path = _interopDefault(require('path'));␊ + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }␊ + ␊ + var Path__default = /*#__PURE__*/_interopDefaultLegacy(Path);␊ ␊ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};␊ ␊ @@ -931,7 +933,7 @@ Generated by [AVA](https://avajs.dev). ␊ const basePath = `${process.cwd()}/fixtures/function/dynamic-require-absolute-paths`;␊ ␊ - t.is(commonjsRequire(Path.resolve(`${basePath}/submodule.js`),"/$$rollup_base$$/fixtures/function/dynamic-require-absolute-paths"), 'submodule');␊ + t.is(commonjsRequire(Path__default['default'].resolve(`${basePath}/submodule.js`),"/$$rollup_base$$/fixtures/function/dynamic-require-absolute-paths"), 'submodule');␊ ␊ var main = {␊ ␊ @@ -2986,19 +2988,25 @@ Generated by [AVA](https://avajs.dev). { 'main.js': `'use strict';␊ ␊ - function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }␊ + var externalExports = require('external-cjs-exports');␊ + var externalModuleExports = require('external-cjs-module-exports');␊ + var externalNamed = require('external-esm-named');␊ + var externalMixed = require('external-esm-mixed');␊ + var externalDefault = require('external-esm-default');␊ ␊ - var externalExports = _interopDefault(require('external-cjs-exports'));␊ - var externalModuleExports = _interopDefault(require('external-cjs-module-exports'));␊ - var externalNamed = _interopDefault(require('external-esm-named'));␊ - var externalMixed = _interopDefault(require('external-esm-mixed'));␊ - var externalDefault = _interopDefault(require('external-esm-default'));␊ + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }␊ ␊ - t.deepEqual(externalExports, { foo: 'foo' }, 'external exports');␊ - t.deepEqual(externalModuleExports, 'bar', 'external module exports');␊ - t.deepEqual(externalNamed, { foo: 'foo' }, 'external named');␊ - t.deepEqual(externalMixed, 'bar', 'external mixed');␊ - t.deepEqual(externalDefault, 'bar', 'external default');␊ + var externalExports__default = /*#__PURE__*/_interopDefaultLegacy(externalExports);␊ + var externalModuleExports__default = /*#__PURE__*/_interopDefaultLegacy(externalModuleExports);␊ + var externalNamed__default = /*#__PURE__*/_interopDefaultLegacy(externalNamed);␊ + var externalMixed__default = /*#__PURE__*/_interopDefaultLegacy(externalMixed);␊ + var externalDefault__default = /*#__PURE__*/_interopDefaultLegacy(externalDefault);␊ + ␊ + t.deepEqual(externalExports__default['default'], { foo: 'foo' }, 'external exports');␊ + t.deepEqual(externalModuleExports__default['default'], 'bar', 'external module exports');␊ + t.deepEqual(externalNamed__default['default'], { foo: 'foo' }, 'external named');␊ + t.deepEqual(externalMixed__default['default'], 'bar', 'external mixed');␊ + t.deepEqual(externalDefault__default['default'], 'bar', 'external default');␊ ␊ var main = {␊ ␊ @@ -3015,14 +3023,40 @@ Generated by [AVA](https://avajs.dev). { 'main.js': `'use strict';␊ ␊ - function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }␊ - ␊ - var externalExports = _interopDefault(require('external-cjs-exports'));␊ - var externalModuleExports = _interopDefault(require('external-cjs-module-exports'));␊ - var externalNamed = _interopDefault(require('external-esm-named'));␊ - var externalMixed = _interopDefault(require('external-esm-mixed'));␊ + var externalExports = require('external-cjs-exports');␊ + var externalModuleExports = require('external-cjs-module-exports');␊ + var externalNamed = require('external-esm-named');␊ + var externalMixed = require('external-esm-mixed');␊ var externalEsmDefault = require('external-esm-default');␊ ␊ + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }␊ + ␊ + function _interopNamespace(e) {␊ + if (e && e.__esModule) return e;␊ + var n = Object.create(null);␊ + if (e) {␊ + Object.keys(e).forEach(function (k) {␊ + if (k !== 'default') {␊ + var d = Object.getOwnPropertyDescriptor(e, k);␊ + Object.defineProperty(n, k, d.get ? d : {␊ + enumerable: true,␊ + get: function () {␊ + return e[k];␊ + }␊ + });␊ + }␊ + });␊ + }␊ + n['default'] = e;␊ + return Object.freeze(n);␊ + }␊ + ␊ + var externalExports__default = /*#__PURE__*/_interopDefaultLegacy(externalExports);␊ + var externalModuleExports__default = /*#__PURE__*/_interopDefaultLegacy(externalModuleExports);␊ + var externalNamed__default = /*#__PURE__*/_interopDefaultLegacy(externalNamed);␊ + var externalMixed__default = /*#__PURE__*/_interopDefaultLegacy(externalMixed);␊ + var externalEsmDefault__namespace = /*#__PURE__*/_interopNamespace(externalEsmDefault);␊ + ␊ function getAugmentedNamespace(n) {␊ if (n.__esModule) return n;␊ var a = Object.defineProperty({}, '__esModule', {value: true});␊ @@ -3038,12 +3072,12 @@ Generated by [AVA](https://avajs.dev). return a;␊ }␊ ␊ - var externalDefault = /*@__PURE__*/getAugmentedNamespace(externalEsmDefault);␊ + var externalDefault = /*@__PURE__*/getAugmentedNamespace(externalEsmDefault__namespace);␊ ␊ - t.deepEqual(externalExports, { foo: 'foo' }, 'external exports');␊ - t.deepEqual(externalModuleExports, 'bar', 'external module exports');␊ - t.deepEqual(externalNamed, { foo: 'foo' }, 'external named');␊ - t.deepEqual(externalMixed, 'bar', 'external mixed');␊ + t.deepEqual(externalExports__default['default'], { foo: 'foo' }, 'external exports');␊ + t.deepEqual(externalModuleExports__default['default'], 'bar', 'external module exports');␊ + t.deepEqual(externalNamed__default['default'], { foo: 'foo' }, 'external named');␊ + t.deepEqual(externalMixed__default['default'], 'bar', 'external mixed');␊ t.deepEqual(externalDefault, { default: 'bar' }, 'external default');␊ ␊ var main = {␊ @@ -3061,14 +3095,40 @@ Generated by [AVA](https://avajs.dev). { 'main.js': `'use strict';␊ ␊ - function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }␊ - ␊ - var externalExports = _interopDefault(require('external-cjs-exports'));␊ - var externalModuleExports = _interopDefault(require('external-cjs-module-exports'));␊ - var externalNamed = _interopDefault(require('external-esm-named'));␊ - var externalMixed = _interopDefault(require('external-esm-mixed'));␊ + var externalExports = require('external-cjs-exports');␊ + var externalModuleExports = require('external-cjs-module-exports');␊ + var externalNamed = require('external-esm-named');␊ + var externalMixed = require('external-esm-mixed');␊ var externalEsmDefault = require('external-esm-default');␊ ␊ + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }␊ + ␊ + function _interopNamespace(e) {␊ + if (e && e.__esModule) return e;␊ + var n = Object.create(null);␊ + if (e) {␊ + Object.keys(e).forEach(function (k) {␊ + if (k !== 'default') {␊ + var d = Object.getOwnPropertyDescriptor(e, k);␊ + Object.defineProperty(n, k, d.get ? d : {␊ + enumerable: true,␊ + get: function () {␊ + return e[k];␊ + }␊ + });␊ + }␊ + });␊ + }␊ + n['default'] = e;␊ + return Object.freeze(n);␊ + }␊ + ␊ + var externalExports__default = /*#__PURE__*/_interopDefaultLegacy(externalExports);␊ + var externalModuleExports__default = /*#__PURE__*/_interopDefaultLegacy(externalModuleExports);␊ + var externalNamed__default = /*#__PURE__*/_interopDefaultLegacy(externalNamed);␊ + var externalMixed__default = /*#__PURE__*/_interopDefaultLegacy(externalMixed);␊ + var externalEsmDefault__namespace = /*#__PURE__*/_interopNamespace(externalEsmDefault);␊ + ␊ function getAugmentedNamespace(n) {␊ if (n.__esModule) return n;␊ var a = Object.defineProperty({}, '__esModule', {value: true});␊ @@ -3084,12 +3144,12 @@ Generated by [AVA](https://avajs.dev). return a;␊ }␊ ␊ - var externalDefault = /*@__PURE__*/getAugmentedNamespace(externalEsmDefault);␊ + var externalDefault = /*@__PURE__*/getAugmentedNamespace(externalEsmDefault__namespace);␊ ␊ - t.deepEqual(externalExports, { foo: 'foo' }, 'external exports');␊ - t.deepEqual(externalModuleExports, 'bar', 'external module exports');␊ - t.deepEqual(externalNamed, { foo: 'foo' }, 'external named');␊ - t.deepEqual(externalMixed, 'bar', 'external mixed');␊ + t.deepEqual(externalExports__default['default'], { foo: 'foo' }, 'external exports');␊ + t.deepEqual(externalModuleExports__default['default'], 'bar', 'external module exports');␊ + t.deepEqual(externalNamed__default['default'], { foo: 'foo' }, 'external named');␊ + t.deepEqual(externalMixed__default['default'], 'bar', 'external mixed');␊ t.deepEqual(externalDefault, { default: 'bar' }, 'external default');␊ ␊ var main = {␊ @@ -3111,6 +3171,30 @@ Generated by [AVA](https://avajs.dev). var externalEsmMixed = require('external-esm-mixed');␊ var externalEsmDefault = require('external-esm-default');␊ ␊ + function _interopNamespace(e) {␊ + if (e && e.__esModule) return e;␊ + var n = Object.create(null);␊ + if (e) {␊ + Object.keys(e).forEach(function (k) {␊ + if (k !== 'default') {␊ + var d = Object.getOwnPropertyDescriptor(e, k);␊ + Object.defineProperty(n, k, d.get ? d : {␊ + enumerable: true,␊ + get: function () {␊ + return e[k];␊ + }␊ + });␊ + }␊ + });␊ + }␊ + n['default'] = e;␊ + return Object.freeze(n);␊ + }␊ + ␊ + var externalEsmNamed__namespace = /*#__PURE__*/_interopNamespace(externalEsmNamed);␊ + var externalEsmMixed__namespace = /*#__PURE__*/_interopNamespace(externalEsmMixed);␊ + var externalEsmDefault__namespace = /*#__PURE__*/_interopNamespace(externalEsmDefault);␊ + ␊ function getAugmentedNamespace(n) {␊ if (n.__esModule) return n;␊ var a = Object.defineProperty({}, '__esModule', {value: true});␊ @@ -3126,11 +3210,11 @@ Generated by [AVA](https://avajs.dev). return a;␊ }␊ ␊ - var externalNamed = /*@__PURE__*/getAugmentedNamespace(externalEsmNamed);␊ + var externalNamed = /*@__PURE__*/getAugmentedNamespace(externalEsmNamed__namespace);␊ ␊ - var externalMixed = /*@__PURE__*/getAugmentedNamespace(externalEsmMixed);␊ + var externalMixed = /*@__PURE__*/getAugmentedNamespace(externalEsmMixed__namespace);␊ ␊ - var externalDefault = /*@__PURE__*/getAugmentedNamespace(externalEsmDefault);␊ + var externalDefault = /*@__PURE__*/getAugmentedNamespace(externalEsmDefault__namespace);␊ ␊ t.deepEqual(externalNamed, { foo: 'foo' }, 'external named');␊ t.deepEqual(externalMixed, { default: 'bar', foo: 'foo' }, 'external mixed');␊ @@ -3151,19 +3235,25 @@ Generated by [AVA](https://avajs.dev). { 'main.js': `'use strict';␊ ␊ - function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }␊ + var externalExports = require('external-cjs-exports');␊ + var externalModuleExports = require('external-cjs-module-exports');␊ + var externalNamed = require('external-esm-named');␊ + var externalMixed = require('external-esm-mixed');␊ + var externalDefault = require('external-esm-default');␊ ␊ - var externalExports = _interopDefault(require('external-cjs-exports'));␊ - var externalModuleExports = _interopDefault(require('external-cjs-module-exports'));␊ - var externalNamed = _interopDefault(require('external-esm-named'));␊ - var externalMixed = _interopDefault(require('external-esm-mixed'));␊ - var externalDefault = _interopDefault(require('external-esm-default'));␊ + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }␊ ␊ - t.deepEqual(externalExports, { foo: 'foo' }, 'external exports');␊ - t.deepEqual(externalModuleExports, 'bar', 'external module exports');␊ - t.deepEqual(externalNamed, { foo: 'foo' }, 'external named');␊ - t.deepEqual(externalMixed, 'bar', 'external mixed');␊ - t.deepEqual(externalDefault, 'bar', 'external default');␊ + var externalExports__default = /*#__PURE__*/_interopDefaultLegacy(externalExports);␊ + var externalModuleExports__default = /*#__PURE__*/_interopDefaultLegacy(externalModuleExports);␊ + var externalNamed__default = /*#__PURE__*/_interopDefaultLegacy(externalNamed);␊ + var externalMixed__default = /*#__PURE__*/_interopDefaultLegacy(externalMixed);␊ + var externalDefault__default = /*#__PURE__*/_interopDefaultLegacy(externalDefault);␊ + ␊ + t.deepEqual(externalExports__default['default'], { foo: 'foo' }, 'external exports');␊ + t.deepEqual(externalModuleExports__default['default'], 'bar', 'external module exports');␊ + t.deepEqual(externalNamed__default['default'], { foo: 'foo' }, 'external named');␊ + t.deepEqual(externalMixed__default['default'], 'bar', 'external mixed');␊ + t.deepEqual(externalDefault__default['default'], 'bar', 'external default');␊ ␊ var main = {␊ ␊ @@ -3216,6 +3306,25 @@ Generated by [AVA](https://avajs.dev). `, } +## expose-file-type-detection + +> Snapshot 1 + + { + 'main.js': `'use strict';␊ + ␊ + var other = require('./other.js');␊ + ␊ + t.is(other, 'foo');␊ + `, + 'other.js': `'use strict';␊ + ␊ + var other = 'foo';␊ + ␊ + module.exports = other;␊ + `, + } + ## external-imports > Snapshot 1 @@ -3223,11 +3332,13 @@ Generated by [AVA](https://avajs.dev). { 'main.js': `'use strict';␊ ␊ - function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }␊ + var foo = require('foo');␊ ␊ - var foo = _interopDefault(require('foo'));␊ + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }␊ ␊ - var main = foo;␊ + var foo__default = /*#__PURE__*/_interopDefaultLegacy(foo);␊ + ␊ + var main = foo__default['default'];␊ ␊ module.exports = main;␊ `, @@ -3363,6 +3474,30 @@ Generated by [AVA](https://avajs.dev). var externalEsmMixed = require('external-esm-mixed');␊ var externalEsmDefault = require('external-esm-default');␊ ␊ + function _interopNamespace(e) {␊ + if (e && e.__esModule) return e;␊ + var n = Object.create(null);␊ + if (e) {␊ + Object.keys(e).forEach(function (k) {␊ + if (k !== 'default') {␊ + var d = Object.getOwnPropertyDescriptor(e, k);␊ + Object.defineProperty(n, k, d.get ? d : {␊ + enumerable: true,␊ + get: function () {␊ + return e[k];␊ + }␊ + });␊ + }␊ + });␊ + }␊ + n['default'] = e;␊ + return Object.freeze(n);␊ + }␊ + ␊ + var externalEsmNamed__namespace = /*#__PURE__*/_interopNamespace(externalEsmNamed);␊ + var externalEsmMixed__namespace = /*#__PURE__*/_interopNamespace(externalEsmMixed);␊ + var externalEsmDefault__namespace = /*#__PURE__*/_interopNamespace(externalEsmDefault);␊ + ␊ const foo = 'foo';␊ ␊ var named = /*#__PURE__*/Object.freeze({␊ @@ -3389,11 +3524,11 @@ Generated by [AVA](https://avajs.dev). return n && Object.prototype.hasOwnProperty.call(n, 'default') && Object.keys(n).length === 1 ? n['default'] : n;␊ }␊ ␊ - var externalNamed = /*@__PURE__*/getDefaultExportFromNamespaceIfNotNamed(externalEsmNamed);␊ + var externalNamed = /*@__PURE__*/getDefaultExportFromNamespaceIfNotNamed(externalEsmNamed__namespace);␊ ␊ - var externalMixed = /*@__PURE__*/getDefaultExportFromNamespaceIfNotNamed(externalEsmMixed);␊ + var externalMixed = /*@__PURE__*/getDefaultExportFromNamespaceIfNotNamed(externalEsmMixed__namespace);␊ ␊ - var externalDefault = /*@__PURE__*/getDefaultExportFromNamespaceIfNotNamed(externalEsmDefault);␊ + var externalDefault = /*@__PURE__*/getDefaultExportFromNamespaceIfNotNamed(externalEsmDefault__namespace);␊ ␊ t.deepEqual(named, { foo: 'foo' }, 'named exports');␊ t.deepEqual(mixed$1, { foo: 'foo', default: 'bar' }, 'mixed exports');␊ @@ -3422,6 +3557,30 @@ Generated by [AVA](https://avajs.dev). var externalEsmMixed = require('external-esm-mixed');␊ var externalEsmDefault = require('external-esm-default');␊ ␊ + function _interopNamespace(e) {␊ + if (e && e.__esModule) return e;␊ + var n = Object.create(null);␊ + if (e) {␊ + Object.keys(e).forEach(function (k) {␊ + if (k !== 'default') {␊ + var d = Object.getOwnPropertyDescriptor(e, k);␊ + Object.defineProperty(n, k, d.get ? d : {␊ + enumerable: true,␊ + get: function () {␊ + return e[k];␊ + }␊ + });␊ + }␊ + });␊ + }␊ + n['default'] = e;␊ + return Object.freeze(n);␊ + }␊ + ␊ + var externalEsmNamed__namespace = /*#__PURE__*/_interopNamespace(externalEsmNamed);␊ + var externalEsmMixed__namespace = /*#__PURE__*/_interopNamespace(externalEsmMixed);␊ + var externalEsmDefault__namespace = /*#__PURE__*/_interopNamespace(externalEsmDefault);␊ + ␊ const foo = 'foo';␊ ␊ var named = /*#__PURE__*/Object.freeze({␊ @@ -3464,11 +3623,11 @@ Generated by [AVA](https://avajs.dev). return a;␊ }␊ ␊ - var externalNamed = /*@__PURE__*/getAugmentedNamespace(externalEsmNamed);␊ + var externalNamed = /*@__PURE__*/getAugmentedNamespace(externalEsmNamed__namespace);␊ ␊ - var externalMixed = /*@__PURE__*/getAugmentedNamespace(externalEsmMixed);␊ + var externalMixed = /*@__PURE__*/getAugmentedNamespace(externalEsmMixed__namespace);␊ ␊ - var externalDefault = /*@__PURE__*/getAugmentedNamespace(externalEsmDefault);␊ + var externalDefault = /*@__PURE__*/getAugmentedNamespace(externalEsmDefault__namespace);␊ ␊ var namedExports = /*@__PURE__*/getAugmentedNamespace(named);␊ ␊ @@ -3633,12 +3792,36 @@ Generated by [AVA](https://avajs.dev). { 'main.js': `'use strict';␊ ␊ - function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }␊ - ␊ var externalEsmNamed = require('external-esm-named');␊ - var externalMixed = _interopDefault(require('external-esm-mixed'));␊ + var externalMixed = require('external-esm-mixed');␊ var externalEsmDefault = require('external-esm-default');␊ ␊ + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }␊ + ␊ + function _interopNamespace(e) {␊ + if (e && e.__esModule) return e;␊ + var n = Object.create(null);␊ + if (e) {␊ + Object.keys(e).forEach(function (k) {␊ + if (k !== 'default') {␊ + var d = Object.getOwnPropertyDescriptor(e, k);␊ + Object.defineProperty(n, k, d.get ? d : {␊ + enumerable: true,␊ + get: function () {␊ + return e[k];␊ + }␊ + });␊ + }␊ + });␊ + }␊ + n['default'] = e;␊ + return Object.freeze(n);␊ + }␊ + ␊ + var externalEsmNamed__namespace = /*#__PURE__*/_interopNamespace(externalEsmNamed);␊ + var externalMixed__default = /*#__PURE__*/_interopDefaultLegacy(externalMixed);␊ + var externalEsmDefault__namespace = /*#__PURE__*/_interopNamespace(externalEsmDefault);␊ + ␊ function getDefaultExportFromNamespaceIfNotNamed (n) {␊ return n && Object.prototype.hasOwnProperty.call(n, 'default') && Object.keys(n).length === 1 ? n['default'] : n;␊ }␊ @@ -3658,12 +3841,12 @@ Generated by [AVA](https://avajs.dev). return a;␊ }␊ ␊ - var externalNamed = /*@__PURE__*/getDefaultExportFromNamespaceIfNotNamed(externalEsmNamed);␊ + var externalNamed = /*@__PURE__*/getDefaultExportFromNamespaceIfNotNamed(externalEsmNamed__namespace);␊ ␊ - var externalDefault = /*@__PURE__*/getAugmentedNamespace(externalEsmDefault);␊ + var externalDefault = /*@__PURE__*/getAugmentedNamespace(externalEsmDefault__namespace);␊ ␊ t.deepEqual(externalNamed, { foo: 'foo' }, 'named');␊ - t.deepEqual(externalMixed, 'bar', 'mixed');␊ + t.deepEqual(externalMixed__default['default'], 'bar', 'mixed');␊ t.deepEqual(externalDefault, { default: 'bar' }, 'default');␊ ␊ var main = {␊ @@ -3685,6 +3868,30 @@ Generated by [AVA](https://avajs.dev). var externalEsmMixed = require('external-esm-mixed');␊ var externalEsmDefault = require('external-esm-default');␊ ␊ + function _interopNamespace(e) {␊ + if (e && e.__esModule) return e;␊ + var n = Object.create(null);␊ + if (e) {␊ + Object.keys(e).forEach(function (k) {␊ + if (k !== 'default') {␊ + var d = Object.getOwnPropertyDescriptor(e, k);␊ + Object.defineProperty(n, k, d.get ? d : {␊ + enumerable: true,␊ + get: function () {␊ + return e[k];␊ + }␊ + });␊ + }␊ + });␊ + }␊ + n['default'] = e;␊ + return Object.freeze(n);␊ + }␊ + ␊ + var externalEsmNamed__namespace = /*#__PURE__*/_interopNamespace(externalEsmNamed);␊ + var externalEsmMixed__namespace = /*#__PURE__*/_interopNamespace(externalEsmMixed);␊ + var externalEsmDefault__namespace = /*#__PURE__*/_interopNamespace(externalEsmDefault);␊ + ␊ const foo = 'foo';␊ ␊ var named = /*#__PURE__*/Object.freeze({␊ @@ -3716,9 +3923,9 @@ Generated by [AVA](https://avajs.dev). t.deepEqual(mixed$1, { foo: 'foo', default: 'bar' }, 'mixed exports');␊ t.deepEqual(_default$1, { default: 'bar' }, 'default export');␊ t.deepEqual(none, {}, 'no exports');␊ - t.deepEqual(externalEsmNamed, { foo: 'foo' }, 'external named');␊ - t.deepEqual(externalEsmMixed, { foo: 'foo', default: 'bar' }, 'external mixed');␊ - t.deepEqual(externalEsmDefault, { default: 'bar' }, 'external default');␊ + t.deepEqual(externalEsmNamed__namespace, { foo: 'foo' }, 'external named');␊ + t.deepEqual(externalEsmMixed__namespace, { foo: 'foo', default: 'bar' }, 'external mixed');␊ + t.deepEqual(externalEsmDefault__namespace, { default: 'bar' }, 'external default');␊ ␊ var main = {␊ ␊ @@ -3739,6 +3946,30 @@ Generated by [AVA](https://avajs.dev). var externalEsmMixed = require('external-esm-mixed');␊ var externalEsmDefault = require('external-esm-default');␊ ␊ + function _interopNamespace(e) {␊ + if (e && e.__esModule) return e;␊ + var n = Object.create(null);␊ + if (e) {␊ + Object.keys(e).forEach(function (k) {␊ + if (k !== 'default') {␊ + var d = Object.getOwnPropertyDescriptor(e, k);␊ + Object.defineProperty(n, k, d.get ? d : {␊ + enumerable: true,␊ + get: function () {␊ + return e[k];␊ + }␊ + });␊ + }␊ + });␊ + }␊ + n['default'] = e;␊ + return Object.freeze(n);␊ + }␊ + ␊ + var externalEsmNamed__namespace = /*#__PURE__*/_interopNamespace(externalEsmNamed);␊ + var externalEsmMixed__namespace = /*#__PURE__*/_interopNamespace(externalEsmMixed);␊ + var externalEsmDefault__namespace = /*#__PURE__*/_interopNamespace(externalEsmDefault);␊ + ␊ const foo = 'foo';␊ ␊ var named = /*#__PURE__*/Object.freeze({␊ @@ -3758,11 +3989,11 @@ Generated by [AVA](https://avajs.dev). return n && Object.prototype.hasOwnProperty.call(n, 'default') ? n['default'] : n;␊ }␊ ␊ - var externalNamed = /*@__PURE__*/getDefaultExportFromNamespaceIfPresent(externalEsmNamed);␊ + var externalNamed = /*@__PURE__*/getDefaultExportFromNamespaceIfPresent(externalEsmNamed__namespace);␊ ␊ - var externalMixed = /*@__PURE__*/getDefaultExportFromNamespaceIfPresent(externalEsmMixed);␊ + var externalMixed = /*@__PURE__*/getDefaultExportFromNamespaceIfPresent(externalEsmMixed__namespace);␊ ␊ - var externalDefault = /*@__PURE__*/getDefaultExportFromNamespaceIfPresent(externalEsmDefault);␊ + var externalDefault = /*@__PURE__*/getDefaultExportFromNamespaceIfPresent(externalEsmDefault__namespace);␊ ␊ t.deepEqual(named, { foo: 'foo' }, 'named exports');␊ t.deepEqual(mixedExports, 'bar', 'mixed exports');␊ @@ -3787,11 +4018,15 @@ Generated by [AVA](https://avajs.dev). { 'main.js': `'use strict';␊ ␊ - function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }␊ + var externalNamed = require('external-esm-named');␊ + var externalMixed = require('external-esm-mixed');␊ + var externalDefault = require('external-esm-default');␊ + ␊ + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }␊ ␊ - var externalNamed = _interopDefault(require('external-esm-named'));␊ - var externalMixed = _interopDefault(require('external-esm-mixed'));␊ - var externalDefault = _interopDefault(require('external-esm-default'));␊ + var externalNamed__default = /*#__PURE__*/_interopDefaultLegacy(externalNamed);␊ + var externalMixed__default = /*#__PURE__*/_interopDefaultLegacy(externalMixed);␊ + var externalDefault__default = /*#__PURE__*/_interopDefaultLegacy(externalDefault);␊ ␊ var mixedExports = 'bar';␊ ␊ @@ -3799,9 +4034,9 @@ Generated by [AVA](https://avajs.dev). ␊ t.deepEqual(mixedExports, 'bar', 'mixed exports');␊ t.deepEqual(defaultExport, 'bar', 'default export');␊ - t.deepEqual(externalNamed, { foo: 'foo' }, 'external named');␊ - t.deepEqual(externalMixed, 'bar', 'external mixed');␊ - t.deepEqual(externalDefault, 'bar', 'external default');␊ + t.deepEqual(externalNamed__default['default'], { foo: 'foo' }, 'external named');␊ + t.deepEqual(externalMixed__default['default'], 'bar', 'external mixed');␊ + t.deepEqual(externalDefault__default['default'], 'bar', 'external default');␊ ␊ var main = {␊ ␊ @@ -3822,6 +4057,30 @@ Generated by [AVA](https://avajs.dev). var externalEsmMixed = require('external-esm-mixed');␊ var externalEsmDefault = require('external-esm-default');␊ ␊ + function _interopNamespace(e) {␊ + if (e && e.__esModule) return e;␊ + var n = Object.create(null);␊ + if (e) {␊ + Object.keys(e).forEach(function (k) {␊ + if (k !== 'default') {␊ + var d = Object.getOwnPropertyDescriptor(e, k);␊ + Object.defineProperty(n, k, d.get ? d : {␊ + enumerable: true,␊ + get: function () {␊ + return e[k];␊ + }␊ + });␊ + }␊ + });␊ + }␊ + n['default'] = e;␊ + return Object.freeze(n);␊ + }␊ + ␊ + var externalEsmNamed__namespace = /*#__PURE__*/_interopNamespace(externalEsmNamed);␊ + var externalEsmMixed__namespace = /*#__PURE__*/_interopNamespace(externalEsmMixed);␊ + var externalEsmDefault__namespace = /*#__PURE__*/_interopNamespace(externalEsmDefault);␊ + ␊ const foo = 'foo';␊ ␊ var named = /*#__PURE__*/Object.freeze({␊ @@ -3864,11 +4123,11 @@ Generated by [AVA](https://avajs.dev). return a;␊ }␊ ␊ - var externalNamed = /*@__PURE__*/getAugmentedNamespace(externalEsmNamed);␊ + var externalNamed = /*@__PURE__*/getAugmentedNamespace(externalEsmNamed__namespace);␊ ␊ - var externalMixed = /*@__PURE__*/getAugmentedNamespace(externalEsmMixed);␊ + var externalMixed = /*@__PURE__*/getAugmentedNamespace(externalEsmMixed__namespace);␊ ␊ - var externalDefault = /*@__PURE__*/getAugmentedNamespace(externalEsmDefault);␊ + var externalDefault = /*@__PURE__*/getAugmentedNamespace(externalEsmDefault__namespace);␊ ␊ var namedExports = /*@__PURE__*/getAugmentedNamespace(named);␊ ␊ @@ -4718,9 +4977,11 @@ Generated by [AVA](https://avajs.dev). { 'main.js': `'use strict';␊ ␊ - function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }␊ + var external = require('external-esm-default');␊ + ␊ + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }␊ ␊ - var external = _interopDefault(require('external-esm-default'));␊ + var external__default = /*#__PURE__*/_interopDefaultLegacy(external);␊ ␊ function getDefaultExportFromCjs (x) {␊ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;␊ @@ -4748,7 +5009,7 @@ Generated by [AVA](https://avajs.dev). var dep$1 = /*@__PURE__*/getDefaultExportFromCjs(dep);␊ ␊ t.is(dep$1, 'default');␊ - t.is(external, 'bar');␊ + t.is(external__default['default'], 'bar');␊ `, } @@ -4933,10 +5194,11 @@ Generated by [AVA](https://avajs.dev). { 'main.js': `'use strict';␊ ␊ - function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }␊ - ␊ var external = require('external-esm-mixed');␊ - var external__default = _interopDefault(external);␊ + ␊ + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }␊ + ␊ + var external__default = /*#__PURE__*/_interopDefaultLegacy(external);␊ ␊ function getDefaultExportFromCjs (x) {␊ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;␊ @@ -4966,7 +5228,7 @@ Generated by [AVA](https://avajs.dev). ␊ t.is(dep$1, 'default');␊ t.is(dep.named, 'named');␊ - t.is(external__default, 'bar');␊ + t.is(external__default['default'], 'bar');␊ t.is(external.foo, 'foo');␊ `, } @@ -5013,6 +5275,28 @@ Generated by [AVA](https://avajs.dev). ␊ var external = require('external-esm-default');␊ ␊ + function _interopNamespace(e) {␊ + if (e && e.__esModule) return e;␊ + var n = Object.create(null);␊ + if (e) {␊ + Object.keys(e).forEach(function (k) {␊ + if (k !== 'default') {␊ + var d = Object.getOwnPropertyDescriptor(e, k);␊ + Object.defineProperty(n, k, d.get ? d : {␊ + enumerable: true,␊ + get: function () {␊ + return e[k];␊ + }␊ + });␊ + }␊ + });␊ + }␊ + n['default'] = e;␊ + return Object.freeze(n);␊ + }␊ + ␊ + var external__namespace = /*#__PURE__*/_interopNamespace(external);␊ + ␊ function getDefaultExportFromCjs (x) {␊ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;␊ }␊ @@ -5046,7 +5330,7 @@ Generated by [AVA](https://avajs.dev). default: 'default'␊ });␊ ␊ - t.deepEqual(external, {␊ + t.deepEqual(external__namespace, {␊ default: 'bar'␊ });␊ `, @@ -5061,6 +5345,28 @@ Generated by [AVA](https://avajs.dev). ␊ var external = require('external-esm-mixed');␊ ␊ + function _interopNamespace(e) {␊ + if (e && e.__esModule) return e;␊ + var n = Object.create(null);␊ + if (e) {␊ + Object.keys(e).forEach(function (k) {␊ + if (k !== 'default') {␊ + var d = Object.getOwnPropertyDescriptor(e, k);␊ + Object.defineProperty(n, k, d.get ? d : {␊ + enumerable: true,␊ + get: function () {␊ + return e[k];␊ + }␊ + });␊ + }␊ + });␊ + }␊ + n['default'] = e;␊ + return Object.freeze(n);␊ + }␊ + ␊ + var external__namespace = /*#__PURE__*/_interopNamespace(external);␊ + ␊ function getDefaultExportFromCjs (x) {␊ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;␊ }␊ @@ -5096,7 +5402,7 @@ Generated by [AVA](https://avajs.dev). named: 'named'␊ });␊ ␊ - t.deepEqual(external, {␊ + t.deepEqual(external__namespace, {␊ default: 'bar',␊ foo: 'foo'␊ });␊ @@ -5112,6 +5418,28 @@ Generated by [AVA](https://avajs.dev). ␊ var external = require('external-esm-named');␊ ␊ + function _interopNamespace(e) {␊ + if (e && e.__esModule) return e;␊ + var n = Object.create(null);␊ + if (e) {␊ + Object.keys(e).forEach(function (k) {␊ + if (k !== 'default') {␊ + var d = Object.getOwnPropertyDescriptor(e, k);␊ + Object.defineProperty(n, k, d.get ? d : {␊ + enumerable: true,␊ + get: function () {␊ + return e[k];␊ + }␊ + });␊ + }␊ + });␊ + }␊ + n['default'] = e;␊ + return Object.freeze(n);␊ + }␊ + ␊ + var external__namespace = /*#__PURE__*/_interopNamespace(external);␊ + ␊ function getDefaultExportFromCjs (x) {␊ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;␊ }␊ @@ -5151,7 +5479,7 @@ Generated by [AVA](https://avajs.dev). default: { named: 'named' }␊ });␊ ␊ - t.deepEqual(external, {␊ + t.deepEqual(external__namespace, {␊ foo: 'foo'␊ });␊ `, diff --git a/packages/commonjs/test/snapshots/function.js.snap b/packages/commonjs/test/snapshots/function.js.snap index 3dd4848a5..d4f280d77 100644 Binary files a/packages/commonjs/test/snapshots/function.js.snap and b/packages/commonjs/test/snapshots/function.js.snap differ diff --git a/packages/commonjs/test/test.js b/packages/commonjs/test/test.js index b096d5bd7..17a8b6129 100644 --- a/packages/commonjs/test/test.js +++ b/packages/commonjs/test/test.js @@ -1,12 +1,13 @@ /* eslint-disable line-comment-position, no-new-func, no-undefined */ import * as path from 'path'; +import resolve from '@rollup/plugin-node-resolve'; + import test from 'ava'; -import { SourceMapConsumer } from 'source-map'; -import { install } from 'source-map-support'; import { getLocator } from 'locate-character'; import { rollup } from 'rollup'; -import resolve from '@rollup/plugin-node-resolve'; +import { SourceMapConsumer } from 'source-map'; +import { install } from 'source-map-support'; import { testBundle } from '../../../util/test'; @@ -722,3 +723,26 @@ test('does not wrap commonjsRegister calls in createCommonjsModule', async (t) = t.not(/createCommonjsModule\(function/.test(code), true); }); + +// This test uses worker threads to simulate an empty internal cache and needs at least Node 12 +if (Number(/^v(\d+)/.exec(process.version)[1]) >= 12) { + test('can be cached across instances', async (t) => { + const bundle = await rollup({ + input: 'fixtures/samples/caching/main.js', + plugins: [commonjs()] + }); + const { cache } = bundle; + const code = await getCodeFromBundle(bundle); + + // We do a second run in a worker so that all internal state is cleared + const { Worker } = await import('worker_threads'); + const getRollupUpCodeWithCache = new Worker( + path.join(__dirname, 'fixtures/samples/caching/rollupWorker.js'), + { + workerData: cache + } + ); + + t.is(code, await new Promise((done) => getRollupUpCodeWithCache.on('message', done))); + }); +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d996e6600..901d68cc0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -135,7 +135,7 @@ importers: typescript: ^3.9.7 packages/commonjs: dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.23.0 + '@rollup/pluginutils': 3.1.0_rollup@2.30.0 commondir: 1.0.1 estree-walker: 2.0.1 glob: 7.1.6 @@ -143,11 +143,11 @@ importers: magic-string: 0.25.7 resolve: 1.17.0 devDependencies: - '@rollup/plugin-json': 4.1.0_rollup@2.23.0 - '@rollup/plugin-node-resolve': 8.4.0_rollup@2.23.0 + '@rollup/plugin-json': 4.1.0_rollup@2.30.0 + '@rollup/plugin-node-resolve': 8.4.0_rollup@2.30.0 locate-character: 2.0.5 require-relative: 0.8.7 - rollup: 2.23.0 + rollup: 2.30.0 shx: 0.3.2 source-map: 0.7.3 source-map-support: 0.5.19 @@ -164,7 +164,7 @@ importers: magic-string: ^0.25.7 require-relative: ^0.8.7 resolve: ^1.17.0 - rollup: ^2.23.0 + rollup: ^2.30.0 shx: ^0.3.2 source-map: ^0.7.3 source-map-support: ^0.5.19 @@ -1576,6 +1576,15 @@ packages: rollup: ^1.20.0 || ^2.0.0 resolution: integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== + /@rollup/plugin-json/4.1.0_rollup@2.30.0: + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.30.0 + rollup: 2.30.0 + dev: true + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + resolution: + integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== /@rollup/plugin-node-resolve/8.4.0_rollup@2.23.0: dependencies: '@rollup/pluginutils': 3.1.0_rollup@2.23.0 @@ -1593,6 +1602,23 @@ packages: rollup: ^1.20.0||^2.0.0 resolution: integrity: sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ== + /@rollup/plugin-node-resolve/8.4.0_rollup@2.30.0: + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.30.0 + '@types/resolve': 1.17.1 + builtin-modules: 3.1.0 + deep-freeze: 0.0.1 + deepmerge: 4.2.2 + is-module: 1.0.0 + resolve: 1.17.0 + rollup: 2.30.0 + dev: true + engines: + node: '>= 8.0.0' + peerDependencies: + rollup: ^1.20.0||^2.0.0 + resolution: + integrity: sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ== /@rollup/plugin-typescript/5.0.2_rollup@2.23.0: dependencies: '@rollup/pluginutils': 3.1.0_rollup@2.23.0 @@ -1656,6 +1682,18 @@ packages: rollup: ^1.20.0||^2.0.0 resolution: integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + /@rollup/pluginutils/3.1.0_rollup@2.30.0: + dependencies: + '@types/estree': 0.0.39 + estree-walker: 1.0.1 + picomatch: 2.2.2 + rollup: 2.30.0 + engines: + node: '>= 8.0.0' + peerDependencies: + rollup: ^1.20.0||^2.0.0 + resolution: + integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== /@sindresorhus/is/0.14.0: dev: true engines: @@ -6400,6 +6438,15 @@ packages: fsevents: 2.1.3 resolution: integrity: sha512-vLNmZFUGVwrnqNAJ/BvuLk1MtWzu4IuoqsH9UWK5AIdO3rt8/CSiJNvPvCIvfzrbNsqKbNzPAG1V2O4eTe2XZg== + /rollup/2.30.0: + dev: true + engines: + node: '>=10.0.0' + hasBin: true + optionalDependencies: + fsevents: 2.1.3 + resolution: + integrity: sha512-j4K1hUZfgFM03DUpayd3c7kZW+2wDbI6rj7ssQxpCpL1vsGpaM0vSorxBuePFwQDFq9O2DI6AOQbm174Awsq4w== /run-async/2.4.1: dev: true engines: