Skip to content

Commit 3392e6e

Browse files
authored
feat(commonjs): make defaultIsModuleExports as funtion to config defaultIsModuleExports for each source (rollup#1052)
1 parent d28d19a commit 3392e6e

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

packages/commonjs/src/index.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ export default function commonjs(options = {}) {
4747
ignoreGlobal,
4848
ignoreDynamicRequires,
4949
requireReturnsDefault: requireReturnsDefaultOption,
50+
defaultIsModuleExports: defaultIsModuleExportsOption,
5051
esmExternals
5152
} = options;
5253
const getRequireReturnsDefault =
@@ -60,8 +61,11 @@ export default function commonjs(options = {}) {
6061
: Array.isArray(esmExternals)
6162
? ((esmExternalIds = new Set(esmExternals)), (id) => esmExternalIds.has(id))
6263
: () => esmExternals;
63-
const defaultIsModuleExports =
64-
typeof options.defaultIsModuleExports === 'boolean' ? options.defaultIsModuleExports : 'auto';
64+
const getDefaultIsModuleExports =
65+
typeof defaultIsModuleExportsOption === 'function'
66+
? defaultIsModuleExportsOption
67+
: () =>
68+
typeof defaultIsModuleExportsOption === 'boolean' ? defaultIsModuleExportsOption : 'auto';
6569

6670
const { dynamicRequireModuleSet, dynamicRequireModuleDirPaths } = getDynamicRequirePaths(
6771
options.dynamicRequireTargets
@@ -150,7 +154,7 @@ export default function commonjs(options = {}) {
150154
disableWrap,
151155
commonDir,
152156
ast,
153-
defaultIsModuleExports
157+
getDefaultIsModuleExports(id)
154158
);
155159
}
156160

packages/commonjs/types/index.d.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { FilterPattern } from '@rollup/pluginutils';
22
import { Plugin } from 'rollup';
33

44
type RequireReturnsDefaultOption = boolean | 'auto' | 'preferred' | 'namespace';
5+
type DefaultIsModuleExportsOption = boolean | 'auto';
56

67
interface RollupCommonJSOptions {
78
/**
@@ -161,6 +162,13 @@ interface RollupCommonJSOptions {
161162
requireReturnsDefault?:
162163
| RequireReturnsDefaultOption
163164
| ((id: string) => RequireReturnsDefaultOption);
165+
166+
/**
167+
* @default "auto"
168+
*/
169+
defaultIsModuleExports?:
170+
| DefaultIsModuleExportsOption
171+
| ((id: string) => DefaultIsModuleExportsOption);
164172
/**
165173
* Some modules contain dynamic `require` calls, or require modules that
166174
* contain circular dependencies, which are not handled well by static

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy