From 3c00191bc6f3d2237e86bc0a116647aec51fb6be Mon Sep 17 00:00:00 2001 From: Lukas Taegert-Atkinson Date: Fri, 12 Nov 2021 18:15:55 +0100 Subject: [PATCH] feat(commonjs): make namespace callable when requiring ESM with function default (#1038) --- packages/commonjs/README.md | 4 +- packages/commonjs/package.json | 2 +- packages/commonjs/src/dynamic-modules.js | 62 ++- .../commonjs/src/dynamic-require-paths.js | 46 -- packages/commonjs/src/generate-imports.js | 7 +- packages/commonjs/src/helpers.js | 11 +- packages/commonjs/src/index.js | 48 +- packages/commonjs/src/resolve-id.js | 73 +-- .../commonjs/src/resolve-require-sources.js | 18 +- packages/commonjs/src/transform-commonjs.js | 6 +- packages/commonjs/src/utils.js | 10 +- .../function/custom-options/_config.js | 7 - .../dynamic-require-resolve-reference/main.js | 2 +- .../_config.js | 4 + .../esm-constructor.js | 9 + .../esm-function.js | 5 + .../main.js | 19 + .../main.js | 8 + .../function/relative-external/_config.js | 7 + .../function/relative-external/external.js | 1 + .../function/relative-external/main.js | 3 + .../_config.js | 2 +- .../strict-requires-external/_config.js | 18 + .../function/strict-requires-external/main.js | 1 + .../strict-requires-external/other.js | 1 + .../strict-requires-mixed-esm/_config.js | 12 + .../strict-requires-mixed-esm/import.js | 1 + .../strict-requires-mixed-esm/main.js | 6 + .../strict-requires-mixed-esm/require.js | 1 + .../commonjs/test/snapshots/function.js.md | 463 +++++++++++++----- .../commonjs/test/snapshots/function.js.snap | Bin 19636 -> 19932 bytes packages/commonjs/test/snapshots/test.js.md | 10 +- packages/commonjs/test/snapshots/test.js.snap | Bin 757 -> 813 bytes pnpm-lock.yaml | 15 +- 34 files changed, 604 insertions(+), 278 deletions(-) delete mode 100644 packages/commonjs/src/dynamic-require-paths.js create mode 100644 packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/_config.js create mode 100644 packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/esm-constructor.js create mode 100644 packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/esm-function.js create mode 100644 packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/main.js create mode 100755 packages/commonjs/test/fixtures/function/relative-external/_config.js create mode 100755 packages/commonjs/test/fixtures/function/relative-external/external.js create mode 100755 packages/commonjs/test/fixtures/function/relative-external/main.js create mode 100644 packages/commonjs/test/fixtures/function/strict-requires-external/_config.js create mode 100644 packages/commonjs/test/fixtures/function/strict-requires-external/main.js create mode 100644 packages/commonjs/test/fixtures/function/strict-requires-external/other.js create mode 100644 packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/_config.js create mode 100644 packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/import.js create mode 100644 packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/main.js create mode 100644 packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/require.js diff --git a/packages/commonjs/README.md b/packages/commonjs/README.md index 715f7e778..9f8724204 100644 --- a/packages/commonjs/README.md +++ b/packages/commonjs/README.md @@ -42,6 +42,8 @@ export default { Then call `rollup` either via the [CLI](https://www.rollupjs.org/guide/en/#command-line-reference) or the [API](https://www.rollupjs.org/guide/en/#javascript-api). +When used together with the node-resolve plugin + ## Options ### `strictRequires` @@ -378,7 +380,7 @@ export default { format: 'iife', name: 'MyModule' }, - plugins: [resolve(), commonjs()] + plugins: [commonjs(), resolve()] }; ``` diff --git a/packages/commonjs/package.json b/packages/commonjs/package.json index 865e1f98f..04afd15db 100644 --- a/packages/commonjs/package.json +++ b/packages/commonjs/package.json @@ -60,7 +60,7 @@ }, "devDependencies": { "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-node-resolve": "^8.4.0", + "@rollup/plugin-node-resolve": "^13.0.6", "locate-character": "^2.0.5", "require-relative": "^0.8.7", "rollup": "^2.67.3", diff --git a/packages/commonjs/src/dynamic-modules.js b/packages/commonjs/src/dynamic-modules.js index 02b9845f3..272fb1374 100644 --- a/packages/commonjs/src/dynamic-modules.js +++ b/packages/commonjs/src/dynamic-modules.js @@ -1,10 +1,63 @@ +import { existsSync, readFileSync, statSync } from 'fs'; +import { join, resolve } from 'path'; + +import glob from 'glob'; + import { getVirtualPathForDynamicRequirePath, normalizePathSlashes } from './utils'; +function getPackageEntryPoint(dirPath) { + let entryPoint = 'index.js'; + + try { + if (existsSync(join(dirPath, 'package.json'))) { + entryPoint = + JSON.parse(readFileSync(join(dirPath, 'package.json'), { encoding: 'utf8' })).main || + entryPoint; + } + } catch (ignored) { + // ignored + } + + return entryPoint; +} + +function isDirectory(path) { + try { + if (statSync(path).isDirectory()) return true; + } catch (ignored) { + // Nothing to do here + } + return false; +} + +export function getDynamicRequireModules(patterns) { + const dynamicRequireModules = new Map(); + for (const pattern of !patterns || Array.isArray(patterns) ? patterns || [] : [patterns]) { + const isNegated = pattern.startsWith('!'); + const modifyMap = (targetPath, resolvedPath) => + isNegated + ? dynamicRequireModules.delete(targetPath) + : dynamicRequireModules.set(targetPath, resolvedPath); + for (const path of glob.sync(isNegated ? pattern.substr(1) : pattern)) { + const resolvedPath = resolve(path); + const requirePath = normalizePathSlashes(resolvedPath); + if (isDirectory(resolvedPath)) { + const modulePath = resolve(join(resolvedPath, getPackageEntryPoint(path))); + modifyMap(requirePath, modulePath); + modifyMap(normalizePathSlashes(modulePath), modulePath); + } else { + modifyMap(requirePath, resolvedPath); + } + } + } + return dynamicRequireModules; +} + const FAILED_REQUIRE_ERROR = `throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');`; -export function getDynamicRequireModules( +export function getDynamicModuleRegistry( isDynamicRequireModulesEnabled, - dynamicRequireModuleSet, + dynamicRequireModules, commonDir, ignoreDynamicRequires ) { @@ -13,8 +66,7 @@ export function getDynamicRequireModules( ${FAILED_REQUIRE_ERROR} }`; } - const dynamicModuleIds = [...dynamicRequireModuleSet]; - const dynamicModuleImports = dynamicModuleIds + const dynamicModuleImports = [...dynamicRequireModules.values()] .map( (id, index) => `import ${ @@ -22,7 +74,7 @@ export function getDynamicRequireModules( } from ${JSON.stringify(id)};` ) .join('\n'); - const dynamicModuleProps = dynamicModuleIds + const dynamicModuleProps = [...dynamicRequireModules.keys()] .map( (id, index) => `\t\t${JSON.stringify( diff --git a/packages/commonjs/src/dynamic-require-paths.js b/packages/commonjs/src/dynamic-require-paths.js deleted file mode 100644 index 849ab1a9e..000000000 --- a/packages/commonjs/src/dynamic-require-paths.js +++ /dev/null @@ -1,46 +0,0 @@ -import { existsSync, readFileSync, statSync } from 'fs'; -import { join, resolve } from 'path'; - -import glob from 'glob'; - -import { normalizePathSlashes } from './utils'; - -function getPackageEntryPoint(dirPath) { - let entryPoint = 'index.js'; - - try { - if (existsSync(join(dirPath, 'package.json'))) { - entryPoint = - JSON.parse(readFileSync(join(dirPath, 'package.json'), { encoding: 'utf8' })).main || - entryPoint; - } - } catch (ignored) { - // ignored - } - - return entryPoint; -} - -function isDirectory(path) { - try { - if (statSync(path).isDirectory()) return true; - } catch (ignored) { - // Nothing to do here - } - return false; -} - -export default function getDynamicRequireModuleSet(patterns) { - const dynamicRequireModuleSet = new Set(); - for (const pattern of !patterns || Array.isArray(patterns) ? patterns || [] : [patterns]) { - const isNegated = pattern.startsWith('!'); - const modifySet = Set.prototype[isNegated ? 'delete' : 'add'].bind(dynamicRequireModuleSet); - for (const path of glob.sync(isNegated ? pattern.substr(1) : pattern)) { - modifySet(normalizePathSlashes(resolve(path))); - if (isDirectory(path)) { - modifySet(normalizePathSlashes(resolve(join(path, getPackageEntryPoint(path))))); - } - } - } - return dynamicRequireModuleSet; -} diff --git a/packages/commonjs/src/generate-imports.js b/packages/commonjs/src/generate-imports.js index e90152d36..34f66e518 100644 --- a/packages/commonjs/src/generate-imports.js +++ b/packages/commonjs/src/generate-imports.js @@ -68,11 +68,11 @@ export function getRequireStringArg(node) { : node.arguments[0].quasis[0].value.cooked; } -export function hasDynamicModuleForPath(source, id, dynamicRequireModuleSet) { +export function hasDynamicModuleForPath(source, id, dynamicRequireModules) { if (!/^(?:\.{0,2}[/\\]|[A-Za-z]:[/\\])/.test(source)) { try { const resolvedPath = normalizePathSlashes(nodeResolveSync(source, { basedir: dirname(id) })); - if (dynamicRequireModuleSet.has(resolvedPath)) { + if (dynamicRequireModules.has(resolvedPath)) { return true; } } catch (ex) { @@ -85,7 +85,7 @@ export function hasDynamicModuleForPath(source, id, dynamicRequireModuleSet) { for (const attemptExt of ['', '.js', '.json']) { const resolvedPath = normalizePathSlashes(resolve(dirname(id), source + attemptExt)); - if (dynamicRequireModuleSet.has(resolvedPath)) { + if (dynamicRequireModules.has(resolvedPath)) { return true; } } @@ -119,6 +119,7 @@ export function getRequireHandlers() { const imports = []; imports.push(`import * as ${helpersName} from "${HELPERS_ID}";`); if (usesRequire) { + // TODO Lukas check where to import it from or change to usesDynamicRequire imports.push( `import { commonjsRequire as ${dynamicRequireName} } from "${DYNAMIC_MODULES_ID}";` ); diff --git a/packages/commonjs/src/helpers.js b/packages/commonjs/src/helpers.js index fe080ee0e..d2906ecf5 100644 --- a/packages/commonjs/src/helpers.js +++ b/packages/commonjs/src/helpers.js @@ -3,6 +3,7 @@ export const wrapId = (id, suffix) => `\0${id}${suffix}`; export const unwrapId = (wrappedId, suffix) => wrappedId.slice(1, -suffix.length); export const PROXY_SUFFIX = '?commonjs-proxy'; +export const WRAPPED_SUFFIX = '?commonjs-wrapped'; export const EXTERNAL_SUFFIX = '?commonjs-external'; export const EXPORTS_SUFFIX = '?commonjs-exports'; export const MODULE_SUFFIX = '?commonjs-module'; @@ -33,8 +34,14 @@ export function getDefaultExportFromNamespaceIfNotNamed (n) { } export function getAugmentedNamespace(n) { - if (n.__esModule) return n; - var a = Object.defineProperty({}, '__esModule', {value: true}); + var f = n.default; + if (typeof f == "function") { + var a = function () { + return f.apply(this, arguments); + }; + a.prototype = f.prototype; + } else a = {}; + Object.defineProperty(a, '__esModule', {value: true}); Object.keys(n).forEach(function (k) { var d = Object.getOwnPropertyDescriptor(n, k); Object.defineProperty(a, k, d.get ? d : { diff --git a/packages/commonjs/src/index.js b/packages/commonjs/src/index.js index 53be16678..fe73d0f8d 100644 --- a/packages/commonjs/src/index.js +++ b/packages/commonjs/src/index.js @@ -6,9 +6,8 @@ import getCommonDir from 'commondir'; import { peerDependencies } from '../package.json'; import analyzeTopLevelStatements from './analyze-top-level-statements'; -import { getDynamicRequireModules } from './dynamic-modules'; +import { getDynamicModuleRegistry, getDynamicRequireModules } from './dynamic-modules'; -import getDynamicRequireModuleSet from './dynamic-require-paths'; import { DYNAMIC_MODULES_ID, ES_IMPORT_SUFFIX, @@ -65,10 +64,11 @@ export default function commonjs(options = {}) { getWrappedIds, isRequiredId } = getResolveRequireSourcesAndGetMeta(extensions, detectCycles); - const dynamicRequireModuleSet = getDynamicRequireModuleSet(options.dynamicRequireTargets); - const isDynamicRequireModulesEnabled = dynamicRequireModuleSet.size > 0; + const dynamicRequireModules = getDynamicRequireModules(options.dynamicRequireTargets); + const isDynamicRequireModulesEnabled = dynamicRequireModules.size > 0; + // TODO Lukas do we need the CWD? const commonDir = isDynamicRequireModulesEnabled - ? getCommonDir(null, Array.from(dynamicRequireModuleSet).concat(process.cwd())) + ? getCommonDir(null, Array.from(dynamicRequireModules.keys()).concat(process.cwd())) : null; const esModulesWithDefaultExport = new Set(); @@ -115,7 +115,7 @@ export default function commonjs(options = {}) { } if ( - !dynamicRequireModuleSet.has(normalizePathSlashes(id)) && + !dynamicRequireModules.has(normalizePathSlashes(id)) && (!(hasCjsKeywords(code, ignoreGlobal) || isRequiredId(id)) || (isEsModule && !options.transformMixedEsModules)) ) { @@ -124,7 +124,7 @@ export default function commonjs(options = {}) { const needsRequireWrapper = !isEsModule && - (dynamicRequireModuleSet.has(normalizePathSlashes(id)) || strictRequiresFilter(id)); + (dynamicRequireModules.has(normalizePathSlashes(id)) || strictRequiresFilter(id)); return transformCommonjs( this.parse, @@ -137,7 +137,7 @@ export default function commonjs(options = {}) { getIgnoreTryCatchRequireStatementMode, sourceMap, isDynamicRequireModulesEnabled, - dynamicRequireModuleSet, + dynamicRequireModules, commonDir, ast, getDefaultIsModuleExports(id), @@ -150,18 +150,19 @@ 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); - } - } + options(rawOptions) { + // We inject the resolver in the beginning so that "catch-all-resolver" like node-resolver + // do not prevent our plugin from resolving entry points ot proxies. + const plugins = Array.isArray(rawOptions.plugins) + ? rawOptions.plugins + : rawOptions.plugins + ? [rawOptions.plugins] + : []; + plugins.unshift({ + name: 'commonjs--resolver', + resolveId + }); + return { ...rawOptions, plugins }; }, buildStart() { @@ -185,7 +186,6 @@ export default function commonjs(options = {}) { .join(',\n')}\n]` }); } else { - // TODO Lukas test this.warn({ code: 'WRAPPED_IDS', ids: wrappedIds, @@ -195,8 +195,6 @@ export default function commonjs(options = {}) { } }, - resolveId, - load(id) { if (id === HELPERS_ID) { return getHelpersModule(); @@ -232,9 +230,9 @@ export default function commonjs(options = {}) { } if (id === DYNAMIC_MODULES_ID) { - return getDynamicRequireModules( + return getDynamicModuleRegistry( isDynamicRequireModulesEnabled, - dynamicRequireModuleSet, + dynamicRequireModules, commonDir, ignoreDynamicRequires ); diff --git a/packages/commonjs/src/resolve-id.js b/packages/commonjs/src/resolve-id.js index d87309bc7..c7d3844a9 100644 --- a/packages/commonjs/src/resolve-id.js +++ b/packages/commonjs/src/resolve-id.js @@ -13,7 +13,9 @@ import { isWrappedId, MODULE_SUFFIX, PROXY_SUFFIX, - wrapId + unwrapId, + wrapId, + WRAPPED_SUFFIX } from './helpers'; function getCandidatesForExtension(resolved, extension) { @@ -48,58 +50,65 @@ export function resolveExtensions(importee, importer, extensions) { export default function getResolveId(extensions) { return async function resolveId(importee, importer, resolveOptions) { + if (isWrappedId(importee, WRAPPED_SUFFIX)) { + return unwrapId(importee, WRAPPED_SUFFIX); + } + if ( isWrappedId(importee, MODULE_SUFFIX) || isWrappedId(importee, EXPORTS_SUFFIX) || isWrappedId(importee, PROXY_SUFFIX) || isWrappedId(importee, ES_IMPORT_SUFFIX) || - isWrappedId(importee, EXTERNAL_SUFFIX) + isWrappedId(importee, EXTERNAL_SUFFIX) || + importee.startsWith(HELPERS_ID) || + importee === DYNAMIC_MODULES_ID ) { return importee; } - // Except for exports, proxies are only importing resolved ids, - // no need to resolve again - if ( - importer && - (importer === DYNAMIC_MODULES_ID || + if (importer) { + if ( + importer === DYNAMIC_MODULES_ID || + // Except for exports, proxies are only importing resolved ids, no need to resolve again isWrappedId(importer, PROXY_SUFFIX) || - isWrappedId(importer, ES_IMPORT_SUFFIX)) - ) { - return importee; + isWrappedId(importer, ES_IMPORT_SUFFIX) + ) { + return importee; + } + if (isWrappedId(importer, EXTERNAL_SUFFIX)) { + // We need to return null for unresolved imports so that the proper warning is shown + if (!(await this.resolve(importee, importer, { skipSelf: true }))) { + return null; + } + // For other external imports, we need to make sure they are handled as external + return { id: importee, external: true }; + } } - if (importee.startsWith(HELPERS_ID) || importee === DYNAMIC_MODULES_ID) { - return importee; + if (importee.startsWith('\0')) { + return null; } - if (importee.startsWith('\0')) { + // If this is an entry point or ESM import, we need to figure out if the importee is wrapped and + // if that is the case, we need to add a proxy. + const customOptions = resolveOptions.custom; + + // If this is a require, we do not need a proxy + if (customOptions && customOptions['node-resolve'] && customOptions['node-resolve'].isRequire) { return null; } const resolved = (await this.resolve(importee, importer, Object.assign({ skipSelf: true }, resolveOptions))) || resolveExtensions(importee, importer, extensions); - let isCommonJsImporter = false; - if (importer) { - const moduleInfo = this.getModuleInfo(importer); - if (moduleInfo) { - const importerCommonJsMeta = moduleInfo.meta.commonjs; - if ( - importerCommonJsMeta && - (importerCommonJsMeta.isCommonJS || importerCommonJsMeta.isMixedModule) - ) { - isCommonJsImporter = true; - } - } + if (!resolved || resolved.external) { + return resolved; } - if (resolved && !isCommonJsImporter) { - const { - meta: { commonjs: commonjsMeta } - } = await this.load(resolved); - if (commonjsMeta && commonjsMeta.isCommonJS === IS_WRAPPED_COMMONJS) { - return wrapId(resolved.id, ES_IMPORT_SUFFIX); - } + const { + meta: { commonjs: commonjsMeta } + } = await this.load(resolved); + if (commonjsMeta && commonjsMeta.isCommonJS === IS_WRAPPED_COMMONJS) { + return wrapId(resolved.id, ES_IMPORT_SUFFIX); } return resolved; }; diff --git a/packages/commonjs/src/resolve-require-sources.js b/packages/commonjs/src/resolve-require-sources.js index 08b0de297..78f0af4d0 100644 --- a/packages/commonjs/src/resolve-require-sources.js +++ b/packages/commonjs/src/resolve-require-sources.js @@ -1,4 +1,10 @@ -import { EXTERNAL_SUFFIX, IS_WRAPPED_COMMONJS, PROXY_SUFFIX, wrapId } from './helpers'; +import { + EXTERNAL_SUFFIX, + IS_WRAPPED_COMMONJS, + PROXY_SUFFIX, + wrapId, + WRAPPED_SUFFIX +} from './helpers'; import { resolveExtensions } from './resolve-id'; export function getResolveRequireSourcesAndGetMeta(extensions, detectCycles) { @@ -24,7 +30,6 @@ export function getResolveRequireSourcesAndGetMeta(extensions, detectCycles) { } const resolved = (await rollupContext.resolve(source, id, { - skipSelf: true, custom: { 'node-resolve': { isRequire: true } } @@ -69,10 +74,11 @@ export function getResolveRequireSourcesAndGetMeta(extensions, detectCycles) { const isCommonJS = knownCjsModuleTypes[dependencyId]; return { source: sources[index], - id: - allowProxy && isCommonJS !== IS_WRAPPED_COMMONJS - ? wrapId(dependencyId, PROXY_SUFFIX) - : dependencyId, + id: allowProxy + ? isCommonJS === IS_WRAPPED_COMMONJS + ? wrapId(dependencyId, WRAPPED_SUFFIX) + : wrapId(dependencyId, PROXY_SUFFIX) + : dependencyId, isCommonJS }; }), diff --git a/packages/commonjs/src/transform-commonjs.js b/packages/commonjs/src/transform-commonjs.js index c6cfbdc1a..f0c43c362 100644 --- a/packages/commonjs/src/transform-commonjs.js +++ b/packages/commonjs/src/transform-commonjs.js @@ -46,7 +46,7 @@ export default async function transformCommonjs( getIgnoreTryCatchRequireStatementMode, sourceMap, isDynamicRequireModulesEnabled, - dynamicRequireModuleSet, + dynamicRequireModules, commonDir, astCache, defaultIsModuleExports, @@ -195,7 +195,7 @@ export default async function transformCommonjs( node.callee.object && node.callee.object.name === 'require' && node.callee.property.name === 'resolve' && - hasDynamicModuleForPath(id, '/', dynamicRequireModuleSet) + hasDynamicModuleForPath(id, '/', dynamicRequireModules) ) { // TODO Lukas reimplement? uses.require = true; @@ -288,7 +288,7 @@ export default async function transformCommonjs( uses.require = true; if (isNodeRequirePropertyAccess(parent)) { // TODO Lukas reimplement? - if (hasDynamicModuleForPath(id, '/', dynamicRequireModuleSet)) { + if (hasDynamicModuleForPath(id, '/', dynamicRequireModules)) { if (parent.property.name === 'cache') { magicString.overwrite(node.start, node.end, dynamicRequireName, { storeName: true diff --git a/packages/commonjs/src/utils.js b/packages/commonjs/src/utils.js index d66765c93..baee15948 100644 --- a/packages/commonjs/src/utils.js +++ b/packages/commonjs/src/utils.js @@ -34,14 +34,8 @@ export function normalizePathSlashes(path) { return path.replace(/\\/g, '/'); } -// TODO Lukas get rid of this? -const VIRTUAL_PATH_BASE = '/$$rollup_base$$'; -export const getVirtualPathForDynamicRequirePath = (path, commonDir) => { - const normalizedPath = normalizePathSlashes(path); - return normalizedPath.startsWith(commonDir) - ? VIRTUAL_PATH_BASE + normalizedPath.slice(commonDir.length) - : normalizedPath; -}; +export const getVirtualPathForDynamicRequirePath = (path, commonDir) => + normalizePathSlashes(path).slice(commonDir.length); export function capitalize(name) { return name[0].toUpperCase() + name.slice(1); diff --git a/packages/commonjs/test/fixtures/function/custom-options/_config.js b/packages/commonjs/test/fixtures/function/custom-options/_config.js index 522f2c94a..ebbb4a496 100644 --- a/packages/commonjs/test/fixtures/function/custom-options/_config.js +++ b/packages/commonjs/test/fixtures/function/custom-options/_config.js @@ -18,13 +18,6 @@ module.exports = { buildEnd() { assert.deepStrictEqual(resolveIdArgs, [ ['other.js', 'main.js', { custom: { test: 42 }, isEntry: true }], - [ - 'other.js', - 'main.js', - // This is the important one - { custom: { test: 42 }, isEntry: true } - ], - ['main.js', void 0, { custom: {}, isEntry: true }], ['main.js', void 0, { custom: {}, isEntry: true }] ]); }, diff --git a/packages/commonjs/test/fixtures/function/dynamic-require-resolve-reference/main.js b/packages/commonjs/test/fixtures/function/dynamic-require-resolve-reference/main.js index 5dcdc0b90..a30e03d98 100755 --- a/packages/commonjs/test/fixtures/function/dynamic-require-resolve-reference/main.js +++ b/packages/commonjs/test/fixtures/function/dynamic-require-resolve-reference/main.js @@ -1,4 +1,4 @@ t.is( require('custom-module2')(), - '/$$rollup_base$$/fixtures/function/dynamic-require-resolve-reference/node_modules/custom-module' + '/fixtures/function/dynamic-require-resolve-reference/node_modules/custom-module' ); diff --git a/packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/_config.js b/packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/_config.js new file mode 100644 index 000000000..7891cab61 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/_config.js @@ -0,0 +1,4 @@ +module.exports = { + description: + 'allows accessing function default exports as require return value even when there are named exports' +}; diff --git a/packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/esm-constructor.js b/packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/esm-constructor.js new file mode 100644 index 000000000..da6746c02 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/esm-constructor.js @@ -0,0 +1,9 @@ +export default function Foo(...args) { + this.foo = args; +} + +Foo.prototype.update = function () { + this.foo = 'updated'; +}; + +export const bar = 'bar'; diff --git a/packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/esm-function.js b/packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/esm-function.js new file mode 100644 index 000000000..b9b50f89f --- /dev/null +++ b/packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/esm-function.js @@ -0,0 +1,5 @@ +export default function foo(...args) { + return args; +} + +export const bar = 'bar'; diff --git a/packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/main.js b/packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/main.js new file mode 100644 index 000000000..fc760a469 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/esm-mixed-exports-function-default/main.js @@ -0,0 +1,19 @@ +const foo = require('./esm-function.js'); +const Foo = require('./esm-constructor.js'); + +t.is(foo.bar, 'bar'); +t.deepEqual(foo.default('first'), ['first']); +t.deepEqual(foo('second'), ['second']); + +t.is(Foo.bar, 'bar'); + +// eslint-disable-next-line new-cap +const newDefault = new Foo.default('third'); +t.deepEqual(newDefault.foo, ['third']); +newDefault.update(); +t.is(newDefault.foo, 'updated'); + +const newFoo = new Foo('fourth'); +t.deepEqual(newFoo.foo, ['fourth']); +newFoo.update(); +t.is(newFoo.foo, 'updated'); diff --git a/packages/commonjs/test/fixtures/function/import-esm-require-returns-default-false/main.js b/packages/commonjs/test/fixtures/function/import-esm-require-returns-default-false/main.js index 658db2cdd..67b995725 100644 --- a/packages/commonjs/test/fixtures/function/import-esm-require-returns-default-false/main.js +++ b/packages/commonjs/test/fixtures/function/import-esm-require-returns-default-false/main.js @@ -14,3 +14,11 @@ t.deepEqual(noExports, {}, 'no exports'); t.deepEqual(externalNamed, { foo: 'foo' }, 'external named'); t.deepEqual(externalMixed, { foo: 'foo', default: 'bar' }, 'external mixed'); t.deepEqual(externalDefault, { default: 'bar' }, 'external default'); + +/* eslint-disable no-prototype-builtins */ +t.is(namedExports.hasOwnProperty('foo'), true); +t.is(mixedExports.hasOwnProperty('foo'), true); +t.is(defaultExport.hasOwnProperty('foo'), false); +t.is(externalNamed.hasOwnProperty('foo'), true); +t.is(externalMixed.hasOwnProperty('foo'), true); +t.is(externalDefault.hasOwnProperty('foo'), false); diff --git a/packages/commonjs/test/fixtures/function/relative-external/_config.js b/packages/commonjs/test/fixtures/function/relative-external/_config.js new file mode 100755 index 000000000..620b6e4d4 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/relative-external/_config.js @@ -0,0 +1,7 @@ +module.exports = { + description: 'allows treating relative requires as external', + options: { + // This import needs to be relative to /test/helpers/util.js + external: ['../fixtures/function/relative-external/external.js'] + } +}; diff --git a/packages/commonjs/test/fixtures/function/relative-external/external.js b/packages/commonjs/test/fixtures/function/relative-external/external.js new file mode 100755 index 000000000..94ecacb72 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/relative-external/external.js @@ -0,0 +1 @@ +exports.foo = 'foo'; diff --git a/packages/commonjs/test/fixtures/function/relative-external/main.js b/packages/commonjs/test/fixtures/function/relative-external/main.js new file mode 100755 index 000000000..e495f65f1 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/relative-external/main.js @@ -0,0 +1,3 @@ +const { foo } = require('../fixtures/function/relative-external/external.js'); + +t.is(foo, 'foo'); 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 index d5ae8bbb1..327d47b1a 100644 --- 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 @@ -15,7 +15,7 @@ module.exports = { buildStart({ plugins }) { assert.deepStrictEqual( plugins.map((plugin) => plugin.name), - ['before-node', 'after-node', 'commonjs', 'node-resolve'] + ['commonjs--resolver', 'before-node', 'node-resolve', 'after-node', 'commonjs'] ); } }, diff --git a/packages/commonjs/test/fixtures/function/strict-requires-external/_config.js b/packages/commonjs/test/fixtures/function/strict-requires-external/_config.js new file mode 100644 index 000000000..d16da2049 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/strict-requires-external/_config.js @@ -0,0 +1,18 @@ +module.exports = { + description: 'still does not wrap external dependencies with strict require semantic', + pluginOptions: { + strictRequires: true + }, + options: { + plugins: [ + { + resolveId(source) { + if (source === 'external') { + return { id: 'external', external: true }; + } + return null; + } + } + ] + } +}; diff --git a/packages/commonjs/test/fixtures/function/strict-requires-external/main.js b/packages/commonjs/test/fixtures/function/strict-requires-external/main.js new file mode 100644 index 000000000..a657096b0 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/strict-requires-external/main.js @@ -0,0 +1 @@ +t.is(require('external').message, 'it works'); diff --git a/packages/commonjs/test/fixtures/function/strict-requires-external/other.js b/packages/commonjs/test/fixtures/function/strict-requires-external/other.js new file mode 100644 index 000000000..fbe0d2a97 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/strict-requires-external/other.js @@ -0,0 +1 @@ +exports.foo = require('./main.js').foo; diff --git a/packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/_config.js b/packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/_config.js new file mode 100644 index 000000000..033c7379f --- /dev/null +++ b/packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/_config.js @@ -0,0 +1,12 @@ +const { nodeResolve } = require('@rollup/plugin-node-resolve'); + +module.exports = { + description: 'supports strictRequires with mixed ESM', + pluginOptions: { + strictRequires: true, + transformMixedEsModules: true + }, + options: { + plugins: [nodeResolve()] + } +}; diff --git a/packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/import.js b/packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/import.js new file mode 100644 index 000000000..94ecacb72 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/import.js @@ -0,0 +1 @@ +exports.foo = 'foo'; diff --git a/packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/main.js b/packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/main.js new file mode 100644 index 000000000..89c777a42 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/main.js @@ -0,0 +1,6 @@ +import esm from './import.js'; + +const cjs = require('./require.js'); + +t.is(esm.foo, 'foo'); +t.is(cjs.foo, 'foo'); diff --git a/packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/require.js b/packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/require.js new file mode 100644 index 000000000..94ecacb72 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/strict-requires-mixed-esm/require.js @@ -0,0 +1 @@ +exports.foo = 'foo'; diff --git a/packages/commonjs/test/snapshots/function.js.md b/packages/commonjs/test/snapshots/function.js.md index 260d58e48..e09892341 100644 --- a/packages/commonjs/test/snapshots/function.js.md +++ b/packages/commonjs/test/snapshots/function.js.md @@ -370,7 +370,7 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require/submodule.js": requireSubmodule␊ + "/fixtures/function/dynamic-require/submodule.js": requireSubmodule␊ });␊ }␊ ␊ @@ -483,7 +483,7 @@ Generated by [AVA](https://avajs.dev). let message;␊ ␊ function takeModule(withName) {␊ - return commonjsRequire(`./${withName}`, "/$$rollup_base$$/fixtures/function/dynamic-require");␊ + return commonjsRequire(`./${withName}`, "/fixtures/function/dynamic-require");␊ }␊ ␊ try {␊ @@ -540,9 +540,9 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-absolute-import/sub/node_modules/module/direct.js": requireDirect,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-absolute-import/sub/node_modules/module/nested/nested.js": requireNested,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-absolute-import/node_modules/parent-module/parent.js": requireParent␊ + "/fixtures/function/dynamic-require-absolute-import/sub/node_modules/module/direct.js": requireDirect,␊ + "/fixtures/function/dynamic-require-absolute-import/sub/node_modules/module/nested/nested.js": requireNested,␊ + "/fixtures/function/dynamic-require-absolute-import/node_modules/parent-module/parent.js": requireParent␊ });␊ }␊ ␊ @@ -655,7 +655,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModule(name) {␊ - return commonjsRequire(name, "/$$rollup_base$$/fixtures/function/dynamic-require-absolute-import/sub");␊ + return commonjsRequire(name, "/fixtures/function/dynamic-require-absolute-import/sub");␊ }␊ ␊ submodule.moduleDirect = takeModule('module/direct');␊ @@ -705,8 +705,8 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-code-splitting/target1.js": requireTarget1,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-code-splitting/target2.js": requireTarget2␊ + "/fixtures/function/dynamic-require-code-splitting/target1.js": requireTarget1,␊ + "/fixtures/function/dynamic-require-code-splitting/target2.js": requireTarget2␊ });␊ }␊ ␊ @@ -818,7 +818,7 @@ Generated by [AVA](https://avajs.dev). ␊ for (const index of [1, 2]) {␊ try {␊ - message = commonjsRequire(`./target${index}.js`, "/$$rollup_base$$/fixtures/function/dynamic-require-code-splitting");␊ + message = commonjsRequire(`./target${index}.js`, "/fixtures/function/dynamic-require-code-splitting");␊ } catch (err) {␊ ({ message } = err);␊ }␊ @@ -837,7 +837,7 @@ Generated by [AVA](https://avajs.dev). ␊ for (const index of [1, 2]) {␊ try {␊ - message = lib2.commonjsRequire(`./target${index}.js`, "/$$rollup_base$$/fixtures/function/dynamic-require-code-splitting");␊ + message = lib2.commonjsRequire(`./target${index}.js`, "/fixtures/function/dynamic-require-code-splitting");␊ } catch (err) {␊ ({ message } = err);␊ }␊ @@ -899,7 +899,7 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-es-entry/submodule.js": requireSubmodule␊ + "/fixtures/function/dynamic-require-es-entry/submodule.js": requireSubmodule␊ });␊ }␊ ␊ @@ -1008,7 +1008,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModule(withName) {␊ - return commonjsRequire(`./${withName}`, "/$$rollup_base$$/fixtures/function/dynamic-require-es-entry");␊ + return commonjsRequire(`./${withName}`, "/fixtures/function/dynamic-require-es-entry");␊ }␊ ␊ var importer = takeModule('submodule.js');␊ @@ -1072,7 +1072,7 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-extensions/submodule.js": requireSubmodule␊ + "/fixtures/function/dynamic-require-extensions/submodule.js": requireSubmodule␊ });␊ }␊ ␊ @@ -1183,7 +1183,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModule(withName) {␊ - return commonjsRequire(`./${withName}`, "/$$rollup_base$$/fixtures/function/dynamic-require-extensions");␊ + return commonjsRequire(`./${withName}`, "/fixtures/function/dynamic-require-extensions");␊ }␊ ␊ const withExtension = takeModule('submodule.js');␊ @@ -1286,9 +1286,9 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-globs/submodule1.js": requireSubmodule1,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-globs/submodule2.js": requireSubmodule2,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-globs/extramodule1.js": requireExtramodule1␊ + "/fixtures/function/dynamic-require-globs/submodule1.js": requireSubmodule1,␊ + "/fixtures/function/dynamic-require-globs/submodule2.js": requireSubmodule2,␊ + "/fixtures/function/dynamic-require-globs/extramodule1.js": requireExtramodule1␊ });␊ }␊ ␊ @@ -1399,7 +1399,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModule(withName) {␊ - return commonjsRequire(`./${withName}`, "/$$rollup_base$$/fixtures/function/dynamic-require-globs");␊ + return commonjsRequire(`./${withName}`, "/fixtures/function/dynamic-require-globs");␊ }␊ ␊ t.is(takeModule('submodule1.js'), 'submodule1');␊ @@ -1445,10 +1445,10 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-instances/direct": requireDirect,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-instances/direct/index.js": requireDirect,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-instances/package": requireMain,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-instances/package/main.js": requireMain␊ + "/fixtures/function/dynamic-require-instances/direct": requireDirect,␊ + "/fixtures/function/dynamic-require-instances/direct/index.js": requireDirect,␊ + "/fixtures/function/dynamic-require-instances/package": requireMain,␊ + "/fixtures/function/dynamic-require-instances/package/main.js": requireMain␊ });␊ }␊ ␊ @@ -1559,7 +1559,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModule(withName) {␊ - return commonjsRequire(withName, "/$$rollup_base$$/fixtures/function/dynamic-require-instances");␊ + return commonjsRequire(withName, "/fixtures/function/dynamic-require-instances");␊ }␊ ␊ takeModule('./direct').value = 'direct-instance';␊ @@ -1590,7 +1590,7 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-json/dynamic.json": function () { return json0; }␊ + "/fixtures/function/dynamic-require-json/dynamic.json": function () { return json0; }␊ });␊ }␊ ␊ @@ -1701,7 +1701,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModule(withName) {␊ - return commonjsRequire(`./${withName}`, "/$$rollup_base$$/fixtures/function/dynamic-require-json");␊ + return commonjsRequire(`./${withName}`, "/fixtures/function/dynamic-require-json");␊ }␊ ␊ t.deepEqual(takeModule('dynamic.json'), { value: 'present' });␊ @@ -1780,12 +1780,12 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-package": requireEntry$2,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-package/entry.js": requireEntry$2,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-package/sub": requireEntry$1,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-package/sub/entry.js": requireEntry$1,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-package/node_modules/custom-module": requireEntry,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-package/node_modules/custom-module/entry.js": requireEntry␊ + "/fixtures/function/dynamic-require-package": requireEntry$2,␊ + "/fixtures/function/dynamic-require-package/entry.js": requireEntry$2,␊ + "/fixtures/function/dynamic-require-package/sub": requireEntry$1,␊ + "/fixtures/function/dynamic-require-package/sub/entry.js": requireEntry$1,␊ + "/fixtures/function/dynamic-require-package/node_modules/custom-module": requireEntry,␊ + "/fixtures/function/dynamic-require-package/node_modules/custom-module/entry.js": requireEntry␊ });␊ }␊ ␊ @@ -1896,7 +1896,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModule$1(name) {␊ - return commonjsRequire(name, "/$$rollup_base$$/fixtures/function/dynamic-require-package/sub");␊ + return commonjsRequire(name, "/fixtures/function/dynamic-require-package/sub");␊ }␊ ␊ var sub = {␊ @@ -1907,7 +1907,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModule(name) {␊ - return commonjsRequire(name, "/$$rollup_base$$/fixtures/function/dynamic-require-package");␊ + return commonjsRequire(name, "/fixtures/function/dynamic-require-package");␊ }␊ ␊ t.is(takeModule('.'), 'same-directory');␊ @@ -1979,8 +1979,8 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-relative-paths/sub/submodule.js": requireSubmodule,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-relative-paths/sub/subsub/subsubmodule.js": requireSubsubmodule␊ + "/fixtures/function/dynamic-require-relative-paths/sub/submodule.js": requireSubmodule,␊ + "/fixtures/function/dynamic-require-relative-paths/sub/subsub/subsubmodule.js": requireSubsubmodule␊ });␊ }␊ ␊ @@ -2091,7 +2091,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModuleWithDelimiter(name, delimiter) {␊ - return commonjsRequire(`.${delimiter}${name.replace(/=/g, delimiter)}`, "/$$rollup_base$$/fixtures/function/dynamic-require-relative-paths");␊ + return commonjsRequire(`.${delimiter}${name.replace(/=/g, delimiter)}`, "/fixtures/function/dynamic-require-relative-paths");␊ }␊ ␊ t.is(takeModuleWithDelimiter('sub=submodule.js', '/'), 'submodule');␊ @@ -2144,12 +2144,12 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-resolve-index": requireDynamicRequireResolveIndex,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-resolve-index/index.js": requireDynamicRequireResolveIndex,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-resolve-index/sub": requireSub,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-resolve-index/sub/index.js": requireSub,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-resolve-index/node_modules/custom-module": requireCustomModule,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-resolve-index/node_modules/custom-module/index.js": requireCustomModule␊ + "/fixtures/function/dynamic-require-resolve-index": requireDynamicRequireResolveIndex,␊ + "/fixtures/function/dynamic-require-resolve-index/index.js": requireDynamicRequireResolveIndex,␊ + "/fixtures/function/dynamic-require-resolve-index/sub": requireSub,␊ + "/fixtures/function/dynamic-require-resolve-index/sub/index.js": requireSub,␊ + "/fixtures/function/dynamic-require-resolve-index/node_modules/custom-module": requireCustomModule,␊ + "/fixtures/function/dynamic-require-resolve-index/node_modules/custom-module/index.js": requireCustomModule␊ });␊ }␊ ␊ @@ -2260,7 +2260,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModule$1(name) {␊ - return commonjsRequire(name, "/$$rollup_base$$/fixtures/function/dynamic-require-resolve-index/sub");␊ + return commonjsRequire(name, "/fixtures/function/dynamic-require-resolve-index/sub");␊ }␊ ␊ var sub = {␊ @@ -2271,7 +2271,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModule(name) {␊ - return commonjsRequire(name, "/$$rollup_base$$/fixtures/function/dynamic-require-resolve-index");␊ + return commonjsRequire(name, "/fixtures/function/dynamic-require-resolve-index");␊ }␊ ␊ t.is(takeModule('.'), 'same-directory');␊ @@ -2313,7 +2313,7 @@ Generated by [AVA](https://avajs.dev). if (hasRequiredCustomModule2) return customModule2;␊ hasRequiredCustomModule2 = 1;␊ customModule2 = () => {␊ - return commonjsRequire.resolve('custom-module',"/$$rollup_base$$/fixtures/function/dynamic-require-resolve-reference/node_modules/custom-module2");␊ + return commonjsRequire.resolve('custom-module',"/fixtures/function/dynamic-require-resolve-reference/node_modules/custom-module2");␊ };␊ return customModule2;␊ }␊ @@ -2322,10 +2322,10 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-resolve-reference/node_modules/custom-module": requireCustomModule,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-resolve-reference/node_modules/custom-module/index.js": requireCustomModule,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-resolve-reference/node_modules/custom-module2": requireCustomModule2,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-resolve-reference/node_modules/custom-module2/index.js": requireCustomModule2␊ + "/fixtures/function/dynamic-require-resolve-reference/node_modules/custom-module": requireCustomModule,␊ + "/fixtures/function/dynamic-require-resolve-reference/node_modules/custom-module/index.js": requireCustomModule,␊ + "/fixtures/function/dynamic-require-resolve-reference/node_modules/custom-module2": requireCustomModule2,␊ + "/fixtures/function/dynamic-require-resolve-reference/node_modules/custom-module2/index.js": requireCustomModule2␊ });␊ }␊ ␊ @@ -2435,7 +2435,7 @@ Generated by [AVA](https://avajs.dev). ␊ t.is(␊ requireCustomModule2()(),␊ - '/$$rollup_base$$/fixtures/function/dynamic-require-resolve-reference/node_modules/custom-module'␊ + '/fixtures/function/dynamic-require-resolve-reference/node_modules/custom-module'␊ );␊ ␊ module.exports = main;␊ @@ -2556,13 +2556,13 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-slash-access": requireDynamicRequireSlashAccess,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-slash-access/index.js": requireDynamicRequireSlashAccess,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-slash-access/sub": requireSub$1,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-slash-access/sub/index.js": requireSub$1,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-slash-access/node_modules/custom-module": requireCustomModule,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-slash-access/node_modules/custom-module/index.js": requireCustomModule,␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-slash-access/node_modules/custom-module2/sub.js": requireSub␊ + "/fixtures/function/dynamic-require-slash-access": requireDynamicRequireSlashAccess,␊ + "/fixtures/function/dynamic-require-slash-access/index.js": requireDynamicRequireSlashAccess,␊ + "/fixtures/function/dynamic-require-slash-access/sub": requireSub$1,␊ + "/fixtures/function/dynamic-require-slash-access/sub/index.js": requireSub$1,␊ + "/fixtures/function/dynamic-require-slash-access/node_modules/custom-module": requireCustomModule,␊ + "/fixtures/function/dynamic-require-slash-access/node_modules/custom-module/index.js": requireCustomModule,␊ + "/fixtures/function/dynamic-require-slash-access/node_modules/custom-module2/sub.js": requireSub␊ });␊ }␊ ␊ @@ -2673,7 +2673,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModule$1(name) {␊ - return commonjsRequire(name, "/$$rollup_base$$/fixtures/function/dynamic-require-slash-access/sub");␊ + return commonjsRequire(name, "/fixtures/function/dynamic-require-slash-access/sub");␊ }␊ ␊ var sub = {␊ @@ -2684,7 +2684,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModule(name) {␊ - return commonjsRequire(name, "/$$rollup_base$$/fixtures/function/dynamic-require-slash-access");␊ + return commonjsRequire(name, "/fixtures/function/dynamic-require-slash-access");␊ }␊ ␊ t.is(takeModule('.'), 'same-directory', '.');␊ @@ -2724,7 +2724,7 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-targets-fallback/dep1.js": requireDep1␊ + "/fixtures/function/dynamic-require-targets-fallback/dep1.js": requireDep1␊ });␊ }␊ ␊ @@ -2835,7 +2835,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModule(withName) {␊ - return commonjsRequire(withName, "/$$rollup_base$$/fixtures/function/dynamic-require-targets-fallback");␊ + return commonjsRequire(withName, "/fixtures/function/dynamic-require-targets-fallback");␊ }␊ ␊ t.is(takeModule('./dep1.js'), 'dep');␊ @@ -2867,7 +2867,7 @@ Generated by [AVA](https://avajs.dev). ␊ function getDynamicModules() {␊ return dynamicModules || (dynamicModules = {␊ - "/$$rollup_base$$/fixtures/function/dynamic-require-targets-no-fallback/dep1.js": requireDep1␊ + "/fixtures/function/dynamic-require-targets-no-fallback/dep1.js": requireDep1␊ });␊ }␊ ␊ @@ -2978,7 +2978,7 @@ Generated by [AVA](https://avajs.dev). /* eslint-disable import/no-dynamic-require, global-require */␊ ␊ function takeModule(withName) {␊ - return commonjsRequire(withName, "/$$rollup_base$$/fixtures/function/dynamic-require-targets-no-fallback");␊ + return commonjsRequire(withName, "/fixtures/function/dynamic-require-targets-no-fallback");␊ }␊ ␊ t.is(takeModule('./dep1.js'), 'dep');␊ @@ -3099,8 +3099,14 @@ Generated by [AVA](https://avajs.dev). var externalEsmDefault__namespace = /*#__PURE__*/_interopNamespace(externalEsmDefault);␊ ␊ function getAugmentedNamespace(n) {␊ - if (n.__esModule) return n;␊ - var a = Object.defineProperty({}, '__esModule', {value: true});␊ + var f = n.default;␊ + if (typeof f == "function") {␊ + var a = function () {␊ + return f.apply(this, arguments);␊ + };␊ + a.prototype = f.prototype;␊ + } else a = {};␊ + Object.defineProperty(a, '__esModule', {value: true});␊ Object.keys(n).forEach(function (k) {␊ var d = Object.getOwnPropertyDescriptor(n, k);␊ Object.defineProperty(a, k, d.get ? d : {␊ @@ -3173,8 +3179,14 @@ Generated by [AVA](https://avajs.dev). var externalEsmDefault__namespace = /*#__PURE__*/_interopNamespace(externalEsmDefault);␊ ␊ function getAugmentedNamespace(n) {␊ - if (n.__esModule) return n;␊ - var a = Object.defineProperty({}, '__esModule', {value: true});␊ + var f = n.default;␊ + if (typeof f == "function") {␊ + var a = function () {␊ + return f.apply(this, arguments);␊ + };␊ + a.prototype = f.prototype;␊ + } else a = {};␊ + Object.defineProperty(a, '__esModule', {value: true});␊ Object.keys(n).forEach(function (k) {␊ var d = Object.getOwnPropertyDescriptor(n, k);␊ Object.defineProperty(a, k, d.get ? d : {␊ @@ -3241,8 +3253,14 @@ Generated by [AVA](https://avajs.dev). var externalEsmDefault__namespace = /*#__PURE__*/_interopNamespace(externalEsmDefault);␊ ␊ function getAugmentedNamespace(n) {␊ - if (n.__esModule) return n;␊ - var a = Object.defineProperty({}, '__esModule', {value: true});␊ + var f = n.default;␊ + if (typeof f == "function") {␊ + var a = function () {␊ + return f.apply(this, arguments);␊ + };␊ + a.prototype = f.prototype;␊ + } else a = {};␊ + Object.defineProperty(a, '__esModule', {value: true});␊ Object.keys(n).forEach(function (k) {␊ var d = Object.getOwnPropertyDescriptor(n, k);␊ Object.defineProperty(a, k, d.get ? d : {␊ @@ -3314,6 +3332,92 @@ Generated by [AVA](https://avajs.dev). `, } +## esm-mixed-exports-function-default + +> Snapshot 1 + + { + 'main.js': `'use strict';␊ + ␊ + function getAugmentedNamespace(n) {␊ + var f = n.default;␊ + if (typeof f == "function") {␊ + var a = function () {␊ + return f.apply(this, arguments);␊ + };␊ + a.prototype = f.prototype;␊ + } else a = {};␊ + Object.defineProperty(a, '__esModule', {value: true});␊ + Object.keys(n).forEach(function (k) {␊ + var d = Object.getOwnPropertyDescriptor(n, k);␊ + Object.defineProperty(a, k, d.get ? d : {␊ + enumerable: true,␊ + get: function () {␊ + return n[k];␊ + }␊ + });␊ + });␊ + return a;␊ + }␊ + ␊ + var main = {};␊ + ␊ + function foo$1(...args) {␊ + return args;␊ + }␊ + ␊ + const bar$1 = 'bar';␊ + ␊ + var esmFunction = /*#__PURE__*/Object.freeze({␊ + __proto__: null,␊ + 'default': foo$1,␊ + bar: bar$1␊ + });␊ + ␊ + var require$$0 = /*@__PURE__*/getAugmentedNamespace(esmFunction);␊ + ␊ + function Foo$1(...args) {␊ + this.foo = args;␊ + }␊ + ␊ + Foo$1.prototype.update = function () {␊ + this.foo = 'updated';␊ + };␊ + ␊ + const bar = 'bar';␊ + ␊ + var esmConstructor = /*#__PURE__*/Object.freeze({␊ + __proto__: null,␊ + 'default': Foo$1,␊ + bar: bar␊ + });␊ + ␊ + var require$$1 = /*@__PURE__*/getAugmentedNamespace(esmConstructor);␊ + ␊ + const foo = require$$0;␊ + const Foo = require$$1;␊ + ␊ + t.is(foo.bar, 'bar');␊ + t.deepEqual(foo.default('first'), ['first']);␊ + t.deepEqual(foo('second'), ['second']);␊ + ␊ + t.is(Foo.bar, 'bar');␊ + ␊ + // eslint-disable-next-line new-cap␊ + const newDefault = new Foo.default('third');␊ + t.deepEqual(newDefault.foo, ['third']);␊ + newDefault.update();␊ + t.is(newDefault.foo, 'updated');␊ + ␊ + const newFoo = new Foo('fourth');␊ + t.deepEqual(newFoo.foo, ['fourth']);␊ + newFoo.update();␊ + t.is(newFoo.foo, 'updated');␊ + ␊ + module.exports = main;␊ + `, + } + ## export-default-from > Snapshot 1 @@ -3425,8 +3529,14 @@ Generated by [AVA](https://avajs.dev). 'main.js': `'use strict';␊ ␊ function getAugmentedNamespace(n) {␊ - if (n.__esModule) return n;␊ - var a = Object.defineProperty({}, '__esModule', {value: true});␊ + var f = n.default;␊ + if (typeof f == "function") {␊ + var a = function () {␊ + return f.apply(this, arguments);␊ + };␊ + a.prototype = f.prototype;␊ + } else a = {};␊ + Object.defineProperty(a, '__esModule', {value: true});␊ Object.keys(n).forEach(function (k) {␊ var d = Object.getOwnPropertyDescriptor(n, k);␊ Object.defineProperty(a, k, d.get ? d : {␊ @@ -3645,8 +3755,14 @@ Generated by [AVA](https://avajs.dev). var externalEsmDefault__namespace = /*#__PURE__*/_interopNamespace(externalEsmDefault);␊ ␊ function getAugmentedNamespace(n) {␊ - if (n.__esModule) return n;␊ - var a = Object.defineProperty({}, '__esModule', {value: true});␊ + var f = n.default;␊ + if (typeof f == "function") {␊ + var a = function () {␊ + return f.apply(this, arguments);␊ + };␊ + a.prototype = f.prototype;␊ + } else a = {};␊ + Object.defineProperty(a, '__esModule', {value: true});␊ Object.keys(n).forEach(function (k) {␊ var d = Object.getOwnPropertyDescriptor(n, k);␊ Object.defineProperty(a, k, d.get ? d : {␊ @@ -3715,6 +3831,14 @@ Generated by [AVA](https://avajs.dev). t.deepEqual(externalMixed, { foo: 'foo', default: 'bar' }, 'external mixed');␊ t.deepEqual(externalDefault, { default: 'bar' }, 'external default');␊ ␊ + /* eslint-disable no-prototype-builtins */␊ + t.is(namedExports.hasOwnProperty('foo'), true);␊ + t.is(mixedExports.hasOwnProperty('foo'), true);␊ + t.is(defaultExport.hasOwnProperty('foo'), false);␊ + t.is(externalNamed.hasOwnProperty('foo'), true);␊ + t.is(externalMixed.hasOwnProperty('foo'), true);␊ + t.is(externalDefault.hasOwnProperty('foo'), false);␊ + ␊ module.exports = main;␊ `, } @@ -3727,8 +3851,14 @@ Generated by [AVA](https://avajs.dev). 'main.js': `'use strict';␊ ␊ function getAugmentedNamespace(n) {␊ - if (n.__esModule) return n;␊ - var a = Object.defineProperty({}, '__esModule', {value: true});␊ + var f = n.default;␊ + if (typeof f == "function") {␊ + var a = function () {␊ + return f.apply(this, arguments);␊ + };␊ + a.prototype = f.prototype;␊ + } else a = {};␊ + Object.defineProperty(a, '__esModule', {value: true});␊ Object.keys(n).forEach(function (k) {␊ var d = Object.getOwnPropertyDescriptor(n, k);␊ Object.defineProperty(a, k, d.get ? d : {␊ @@ -3908,8 +4038,14 @@ Generated by [AVA](https://avajs.dev). }␊ ␊ function getAugmentedNamespace(n) {␊ - if (n.__esModule) return n;␊ - var a = Object.defineProperty({}, '__esModule', {value: true});␊ + var f = n.default;␊ + if (typeof f == "function") {␊ + var a = function () {␊ + return f.apply(this, arguments);␊ + };␊ + a.prototype = f.prototype;␊ + } else a = {};␊ + Object.defineProperty(a, '__esModule', {value: true});␊ Object.keys(n).forEach(function (k) {␊ var d = Object.getOwnPropertyDescriptor(n, k);␊ Object.defineProperty(a, k, d.get ? d : {␊ @@ -4174,8 +4310,14 @@ Generated by [AVA](https://avajs.dev). var externalEsmDefault__namespace = /*#__PURE__*/_interopNamespace(externalEsmDefault);␊ ␊ function getAugmentedNamespace(n) {␊ - if (n.__esModule) return n;␊ - var a = Object.defineProperty({}, '__esModule', {value: true});␊ + var f = n.default;␊ + if (typeof f == "function") {␊ + var a = function () {␊ + return f.apply(this, arguments);␊ + };␊ + a.prototype = f.prototype;␊ + } else a = {};␊ + Object.defineProperty(a, '__esModule', {value: true});␊ Object.keys(n).forEach(function (k) {␊ var d = Object.getOwnPropertyDescriptor(n, k);␊ Object.defineProperty(a, k, d.get ? d : {␊ @@ -4256,8 +4398,14 @@ Generated by [AVA](https://avajs.dev). 'main.js': `'use strict';␊ ␊ function getAugmentedNamespace(n) {␊ - if (n.__esModule) return n;␊ - var a = Object.defineProperty({}, '__esModule', {value: true});␊ + var f = n.default;␊ + if (typeof f == "function") {␊ + var a = function () {␊ + return f.apply(this, arguments);␊ + };␊ + a.prototype = f.prototype;␊ + } else a = {};␊ + Object.defineProperty(a, '__esModule', {value: true});␊ Object.keys(n).forEach(function (k) {␊ var d = Object.getOwnPropertyDescriptor(n, k);␊ Object.defineProperty(a, k, d.get ? d : {␊ @@ -5120,6 +5268,29 @@ Generated by [AVA](https://avajs.dev). `, } +## relative-external + +> Snapshot 1 + + { + 'main.js': `'use strict';␊ + ␊ + var require$$0 = require('../fixtures/function/relative-external/external.js');␊ + ␊ + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }␊ + ␊ + var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0);␊ + ␊ + var main = {};␊ + ␊ + const { foo } = require$$0__default["default"];␊ + ␊ + t.is(foo, 'foo');␊ + ␊ + module.exports = main;␊ + `, + } + ## require-esm-with-named-namespace > Snapshot 1 @@ -5266,8 +5437,14 @@ Generated by [AVA](https://avajs.dev). 'main.js': `'use strict';␊ ␊ function getAugmentedNamespace(n) {␊ - if (n.__esModule) return n;␊ - var a = Object.defineProperty({}, '__esModule', {value: true});␊ + var f = n.default;␊ + if (typeof f == "function") {␊ + var a = function () {␊ + return f.apply(this, arguments);␊ + };␊ + a.prototype = f.prototype;␊ + } else a = {};␊ + Object.defineProperty(a, '__esModule', {value: true});␊ Object.keys(n).forEach(function (k) {␊ var d = Object.getOwnPropertyDescriptor(n, k);␊ Object.defineProperty(a, k, d.get ? d : {␊ @@ -5305,8 +5482,14 @@ Generated by [AVA](https://avajs.dev). 'main.js': `'use strict';␊ ␊ function getAugmentedNamespace(n) {␊ - if (n.__esModule) return n;␊ - var a = Object.defineProperty({}, '__esModule', {value: true});␊ + var f = n.default;␊ + if (typeof f == "function") {␊ + var a = function () {␊ + return f.apply(this, arguments);␊ + };␊ + a.prototype = f.prototype;␊ + } else a = {};␊ + Object.defineProperty(a, '__esModule', {value: true});␊ Object.keys(n).forEach(function (k) {␊ var d = Object.getOwnPropertyDescriptor(n, k);␊ Object.defineProperty(a, k, d.get ? d : {␊ @@ -5624,7 +5807,7 @@ Generated by [AVA](https://avajs.dev). `, } -## strict-requires-entry +## strict-requires-entry-node-resolve > Snapshot 1 @@ -5832,6 +6015,36 @@ Generated by [AVA](https://avajs.dev). `, } +## strict-requires-external + +> Snapshot 1 + + { + 'main.js': `'use strict';␊ + ␊ + var require$$0 = require('external');␊ + ␊ + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }␊ + ␊ + var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0);␊ + ␊ + var main = {};␊ + ␊ + var hasRequiredMain;␊ + ␊ + function requireMain () {␊ + if (hasRequiredMain) return main;␊ + hasRequiredMain = 1;␊ + t.is(require$$0__default["default"].message, 'it works');␊ + return main;␊ + }␊ + ␊ + var mainExports = requireMain();␊ + ␊ + module.exports = mainExports;␊ + `, + } + ## strict-requires-file-without-module-type > Snapshot 1 @@ -5883,37 +6096,41 @@ Generated by [AVA](https://avajs.dev). `, } -## strict-requires-magic-string +## strict-requires-mixed-esm > Snapshot 1 { 'main.js': `'use strict';␊ ␊ - Object.defineProperty(exports, '__esModule', { value: true });␊ + var require$1 = {};␊ ␊ - var main = {};␊ + var hasRequiredRequire;␊ ␊ - var hasRequiredMain;␊ + function requireRequire () {␊ + if (hasRequiredRequire) return require$1;␊ + hasRequiredRequire = 1;␊ + require$1.foo = 'foo';␊ + return require$1;␊ + }␊ ␊ - 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;␊ + var _import = {};␊ + ␊ + var hasRequired_import;␊ + ␊ + function require_import () {␊ + if (hasRequired_import) return _import;␊ + hasRequired_import = 1;␊ + _import.foo = 'foo';␊ + return _import;␊ }␊ ␊ - exports.__require = requireMain;␊ + var _importExports = require_import();␊ + ␊ + const cjs = requireRequire();␊ + ␊ + t.is(_importExports.foo, 'foo');␊ + t.is(cjs.foo, 'foo');␊ `, } @@ -6096,8 +6313,14 @@ Generated by [AVA](https://avajs.dev). 'main.js': `'use strict';␊ ␊ function getAugmentedNamespace(n) {␊ - if (n.__esModule) return n;␊ - var a = Object.defineProperty({}, '__esModule', {value: true});␊ + var f = n.default;␊ + if (typeof f == "function") {␊ + var a = function () {␊ + return f.apply(this, arguments);␊ + };␊ + a.prototype = f.prototype;␊ + } else a = {};␊ + Object.defineProperty(a, '__esModule', {value: true});␊ Object.keys(n).forEach(function (k) {␊ var d = Object.getOwnPropertyDescriptor(n, k);␊ Object.defineProperty(a, k, d.get ? d : {␊ @@ -6807,27 +7030,3 @@ 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 4ec48d232698616a4f850a2f6ddcf378ff8b05e9..732515802d01b322faf9285733d88faaabc3f8eb 100644 GIT binary patch literal 19932 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%0AvqB@t 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 diff --git a/packages/commonjs/test/snapshots/test.js.md b/packages/commonjs/test/snapshots/test.js.md index a86b22dab..86e1a2048 100644 --- a/packages/commonjs/test/snapshots/test.js.md +++ b/packages/commonjs/test/snapshots/test.js.md @@ -24,8 +24,14 @@ Generated by [AVA](https://avajs.dev). `'use strict';␊ ␊ function getAugmentedNamespace(n) {␊ - if (n.__esModule) return n;␊ - var a = Object.defineProperty({}, '__esModule', {value: true});␊ + var f = n.default;␊ + if (typeof f == "function") {␊ + var a = function () {␊ + return f.apply(this, arguments);␊ + };␊ + a.prototype = f.prototype;␊ + } else a = {};␊ + Object.defineProperty(a, '__esModule', {value: true});␊ Object.keys(n).forEach(function (k) {␊ var d = Object.getOwnPropertyDescriptor(n, k);␊ Object.defineProperty(a, k, d.get ? d : {␊ diff --git a/packages/commonjs/test/snapshots/test.js.snap b/packages/commonjs/test/snapshots/test.js.snap index 4ae913ba519108606626637e674eb70e138a7477..d685942af1e2eeb399872b59de8d160b69b56c71 100644 GIT binary patch literal 813 zcmV+|1Je9KRzV%HI00000000A( zR6B1IK@dLYA>`|*d1w?O`E2ZS(%K3kQbH&Qi2_vC>9n@z?2XTRW^XTGB3DSM=pv{< zqM%5JfC2;^KL82-01^#|U%~9%`4I;YSn@t*_nU9#+nE!FVayq~A6{E|Tc)!QSc)ZTaW1f zY5kVVpOkOBUS07ozTl5DvDKM3j9KGM>^U=UoSiw&x+>Lss_@3T4yuBGFJh5D>N_&+~CjO4hfS9`kTu0(gN0%SQ#A9L09qN6}JkD8X`- ztXE)(rcx=n4$ufhs9=w7Z!y)jJwFJf6)zk=Om@w4# z9Eb3=;bv&&j-vqsbC9Gr8MC`g2%WDzX(ij_mSji;tSykREb`TYlj5qwqrW+Dm#gOF zvt@AV)spOky3Swg!77le=Zdtd)2fj(2UAZ&C$?=9AU^5F4{E28j3PThS(~EN-Xz|Q zxWvW9CBlqSJ4rRZ^KV2mA7-YQM#a)XwHCFyC=@ntvMz=_)<8=nC7>xi@+j;yj;fjE z9$2d1!@$!=6yng;g2rUC8p8-PVz3f>R-%fe0MBNdrWwCb6aW zNv`dCV#u?OVMFqsqP7r4=)^hvF`!Nnni>zQL+R) zNAqL{S};u+59ukZ>W)fEH%?g>QM?$I5Qbf{l?#_#cjwOThU*r}X~>>Le1I0Qxo#}F r>sCNSzE4r5^2L)m`Y4^K)pFtL*yZobin#OtU&+4!O?VhP%LM=c%=(JY literal 757 zcmV>RzVbP?2n4uc=Vv;~$F%00000000A( zR6B1IK@dJWLFlfd=AluDebL;SBMq3M6!+87s*JrlwUHnwtZC^Tye`d7x2)|#} z@A~X{>Gr$TT6E<#dzR7GlSRW=FwX1DnRCX4>~SWSCKM7WSRiv%%i3=2(?GgS8Zu6I zMBJr99@z9zHx@E+Am{ru*@~NKL~{=Gp+};WRzQlB!XS_FJtCk(7>6442Y4?PfF=>+ zve;w^X+#tXCCds^9!M5*NLpzaMs!UGa$pm+=Amx^gs}iSq7oP;(snnZd{4HZ2<0kT zufqy%#p3WeKoIjp!aly&$b82=#r> z!}$96GBz{MQvm~OFf4DDvtPytRj)g1MceEZ+c0WieF+;&(nv0OqqyqW^|u6mxoXXh zEkoy~Hmp8wsQOhuNCk3@oP(zZo`Re;m>UgxT-U__?dj-&x+5kNW~U(QbC4>Vpbt_e z=<@Ok#!N~(4K;o9Z$Q~vb`EJGmOU!h(!CDlk~Z&<4o$iwpf*<$Fj)vTcc<#iBd|;b z2TX4&It07cDtxa#{m_jfmZzfc-c4h5x;sf}p9-xaZpeZK-c njUq?&TenYd*5q&Dlv+xK8`G3$4;HcW|F5Or=+V0uO$7h|pY&kK diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7da67e89e..03de06bd0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -174,7 +174,7 @@ importers: packages/commonjs: specifiers: '@rollup/plugin-json': ^4.1.0 - '@rollup/plugin-node-resolve': ^8.4.0 + '@rollup/plugin-node-resolve': ^13.0.6 '@rollup/pluginutils': ^3.1.0 commondir: ^1.0.1 estree-walker: ^2.0.1 @@ -199,7 +199,7 @@ importers: resolve: 1.18.1 devDependencies: '@rollup/plugin-json': 4.1.0_rollup@2.67.3 - '@rollup/plugin-node-resolve': 8.4.0_rollup@2.67.3 + '@rollup/plugin-node-resolve': 13.0.6_rollup@2.67.3 locate-character: 2.0.5 require-relative: 0.8.7 rollup: 2.67.3 @@ -2484,6 +2484,10 @@ packages: /@types/node/14.14.3: resolution: {integrity: sha512-33/L34xS7HVUx23e0wOT2V1qPF1IrHgQccdJVm9uXGTB9vFBrrzBtkQymT8VskeKOxjz55MSqMv0xuLq+u98WQ==} + dev: true + + /@types/node/16.11.7: + resolution: {integrity: sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==} /@types/node/16.3.2: resolution: {integrity: sha512-jJs9ErFLP403I+hMLGnqDRWT0RYKSvArxuBVh2veudHV7ifEC1WAmjJADacZ7mRbA2nWgHtn8xyECMAot0SkAw==} @@ -2512,7 +2516,7 @@ packages: /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 14.14.3 + '@types/node': 16.11.7 /@types/responselike/1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} @@ -3211,6 +3215,11 @@ packages: resolution: {integrity: sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==} engines: {node: '>=6'} + /builtin-modules/3.2.0: + resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} + engines: {node: '>=6'} + dev: true + /cacheable-lookup/5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} engines: {node: '>=10.6.0'}