Skip to content

Commit 3392e6e

Browse files
authored
feat(commonjs): make defaultIsModuleExports as funtion to config defaultIsModuleExports for each source (#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

+7-3
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

+8
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)