@rollup/plugin-commonjs 17.1.0 → 18.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/README.md +62 -0
- package/dist/index.es.js +69 -39
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +69 -39
- package/dist/index.js.map +1 -1
- package/package.json +6 -7
- package/types/index.d.ts +14 -1
package/dist/index.js
CHANGED
|
@@ -135,18 +135,20 @@ export function getAugmentedNamespace(n) {
|
|
|
135
135
|
}
|
|
136
136
|
`;
|
|
137
137
|
|
|
138
|
+
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.');`;
|
|
139
|
+
|
|
138
140
|
const HELPER_NON_DYNAMIC = `
|
|
139
141
|
export function createCommonjsModule(fn) {
|
|
140
142
|
var module = { exports: {} }
|
|
141
143
|
return fn(module, module.exports), module.exports;
|
|
142
144
|
}
|
|
143
145
|
|
|
144
|
-
export function commonjsRequire (
|
|
145
|
-
|
|
146
|
+
export function commonjsRequire (path) {
|
|
147
|
+
${FAILED_REQUIRE_ERROR}
|
|
146
148
|
}
|
|
147
149
|
`;
|
|
148
150
|
|
|
149
|
-
const
|
|
151
|
+
const getDynamicHelpers = (ignoreDynamicRequires) => `
|
|
150
152
|
export function createCommonjsModule(fn, basedir, module) {
|
|
151
153
|
return module = {
|
|
152
154
|
path: basedir,
|
|
@@ -318,15 +320,17 @@ export function commonjsRequire (path, originalModuleDir) {
|
|
|
318
320
|
return cachedModule.exports;
|
|
319
321
|
};
|
|
320
322
|
}
|
|
321
|
-
return require(path);
|
|
323
|
+
${ignoreDynamicRequires ? 'return require(path);' : FAILED_REQUIRE_ERROR}
|
|
322
324
|
}
|
|
323
325
|
|
|
324
326
|
commonjsRequire.cache = DYNAMIC_REQUIRE_CACHE;
|
|
325
327
|
commonjsRequire.resolve = commonjsResolve;
|
|
326
328
|
`;
|
|
327
329
|
|
|
328
|
-
function getHelpersModule(isDynamicRequireModulesEnabled) {
|
|
329
|
-
return `${HELPERS}${
|
|
330
|
+
function getHelpersModule(isDynamicRequireModulesEnabled, ignoreDynamicRequires) {
|
|
331
|
+
return `${HELPERS}${
|
|
332
|
+
isDynamicRequireModulesEnabled ? getDynamicHelpers(ignoreDynamicRequires) : HELPER_NON_DYNAMIC
|
|
333
|
+
}`;
|
|
330
334
|
}
|
|
331
335
|
|
|
332
336
|
/* eslint-disable import/prefer-default-export */
|
|
@@ -456,9 +460,7 @@ function getDynamicRequirePaths(patterns) {
|
|
|
456
460
|
return { dynamicRequireModuleSet, dynamicRequireModuleDirPaths };
|
|
457
461
|
}
|
|
458
462
|
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
function getIsCjsPromise(id) {
|
|
463
|
+
function getIsCjsPromise(isCjsPromises, id) {
|
|
462
464
|
let isCjsPromise = isCjsPromises.get(id);
|
|
463
465
|
if (isCjsPromise) return isCjsPromise.promise;
|
|
464
466
|
|
|
@@ -474,7 +476,7 @@ function getIsCjsPromise(id) {
|
|
|
474
476
|
return promise;
|
|
475
477
|
}
|
|
476
478
|
|
|
477
|
-
function setIsCjsPromise(id, resolution) {
|
|
479
|
+
function setIsCjsPromise(isCjsPromises, id, resolution) {
|
|
478
480
|
const isCjsPromise = isCjsPromises.get(id);
|
|
479
481
|
if (isCjsPromise) {
|
|
480
482
|
if (isCjsPromise.resolve) {
|
|
@@ -528,10 +530,11 @@ async function getStaticRequireProxy(
|
|
|
528
530
|
id,
|
|
529
531
|
requireReturnsDefault,
|
|
530
532
|
esModulesWithDefaultExport,
|
|
531
|
-
esModulesWithNamedExports
|
|
533
|
+
esModulesWithNamedExports,
|
|
534
|
+
isCjsPromises
|
|
532
535
|
) {
|
|
533
536
|
const name = getName(id);
|
|
534
|
-
const isCjs = await getIsCjsPromise(id);
|
|
537
|
+
const isCjs = await getIsCjsPromise(isCjsPromises, id);
|
|
535
538
|
if (isCjs) {
|
|
536
539
|
return `import { __moduleExports } from ${JSON.stringify(id)}; export default __moduleExports;`;
|
|
537
540
|
} else if (isCjs === null) {
|
|
@@ -805,7 +808,8 @@ function rewriteExportsAndGetExportsBlock(
|
|
|
805
808
|
isRestorableCompiledEsm,
|
|
806
809
|
code,
|
|
807
810
|
uses,
|
|
808
|
-
HELPERS_NAME
|
|
811
|
+
HELPERS_NAME,
|
|
812
|
+
defaultIsModuleExports
|
|
809
813
|
) {
|
|
810
814
|
const namedExportDeclarations = [`export { ${moduleName} as __moduleExports };`];
|
|
811
815
|
const moduleExportsPropertyAssignments = [];
|
|
@@ -860,19 +864,29 @@ function rewriteExportsAndGetExportsBlock(
|
|
|
860
864
|
|
|
861
865
|
// Generate default export
|
|
862
866
|
const defaultExport = [];
|
|
863
|
-
if (
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
867
|
+
if (defaultIsModuleExports === 'auto') {
|
|
868
|
+
if (isRestorableCompiledEsm) {
|
|
869
|
+
defaultExport.push(`export default ${deconflictedDefaultExportName || moduleName};`);
|
|
870
|
+
} else if (
|
|
871
|
+
(wrapped || deconflictedDefaultExportName) &&
|
|
872
|
+
(defineCompiledEsmExpressions.length > 0 || code.includes('__esModule'))
|
|
873
|
+
) {
|
|
874
|
+
// eslint-disable-next-line no-param-reassign
|
|
875
|
+
uses.commonjsHelpers = true;
|
|
876
|
+
defaultExport.push(
|
|
877
|
+
`export default /*@__PURE__*/${HELPERS_NAME}.getDefaultExportFromCjs(${moduleName});`
|
|
878
|
+
);
|
|
879
|
+
} else {
|
|
880
|
+
defaultExport.push(`export default ${moduleName};`);
|
|
881
|
+
}
|
|
882
|
+
} else if (defaultIsModuleExports === true) {
|
|
875
883
|
defaultExport.push(`export default ${moduleName};`);
|
|
884
|
+
} else if (defaultIsModuleExports === false) {
|
|
885
|
+
if (deconflictedDefaultExportName) {
|
|
886
|
+
defaultExport.push(`export default ${deconflictedDefaultExportName};`);
|
|
887
|
+
} else {
|
|
888
|
+
defaultExport.push(`export default ${moduleName}.default;`);
|
|
889
|
+
}
|
|
876
890
|
}
|
|
877
891
|
|
|
878
892
|
return `\n\n${defaultExport
|
|
@@ -1120,13 +1134,15 @@ function transformCommonjs(
|
|
|
1120
1134
|
isEsModule,
|
|
1121
1135
|
ignoreGlobal,
|
|
1122
1136
|
ignoreRequire,
|
|
1137
|
+
ignoreDynamicRequires,
|
|
1123
1138
|
getIgnoreTryCatchRequireStatementMode,
|
|
1124
1139
|
sourceMap,
|
|
1125
1140
|
isDynamicRequireModulesEnabled,
|
|
1126
1141
|
dynamicRequireModuleSet,
|
|
1127
1142
|
disableWrap,
|
|
1128
1143
|
commonDir,
|
|
1129
|
-
astCache
|
|
1144
|
+
astCache,
|
|
1145
|
+
defaultIsModuleExports
|
|
1130
1146
|
) {
|
|
1131
1147
|
const ast = astCache || tryParse(parse, code, id);
|
|
1132
1148
|
const magicString = new MagicString__default['default'](code);
|
|
@@ -1394,12 +1410,14 @@ function transformCommonjs(
|
|
|
1394
1410
|
)}`
|
|
1395
1411
|
);
|
|
1396
1412
|
}
|
|
1397
|
-
if (
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1413
|
+
if (!ignoreDynamicRequires) {
|
|
1414
|
+
if (isShorthandProperty(parent)) {
|
|
1415
|
+
magicString.appendRight(node.end, `: ${HELPERS_NAME}.commonjsRequire`);
|
|
1416
|
+
} else {
|
|
1417
|
+
magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsRequire`, {
|
|
1418
|
+
storeName: true
|
|
1419
|
+
});
|
|
1420
|
+
}
|
|
1403
1421
|
}
|
|
1404
1422
|
|
|
1405
1423
|
uses.commonjsHelpers = true;
|
|
@@ -1511,7 +1529,8 @@ function transformCommonjs(
|
|
|
1511
1529
|
uses.exports ||
|
|
1512
1530
|
uses.require ||
|
|
1513
1531
|
uses.commonjsHelpers ||
|
|
1514
|
-
hasRemovedRequire
|
|
1532
|
+
hasRemovedRequire ||
|
|
1533
|
+
isRestorableCompiledEsm
|
|
1515
1534
|
) &&
|
|
1516
1535
|
(ignoreGlobal || !uses.global)
|
|
1517
1536
|
) {
|
|
@@ -1540,7 +1559,8 @@ function transformCommonjs(
|
|
|
1540
1559
|
isRestorableCompiledEsm,
|
|
1541
1560
|
code,
|
|
1542
1561
|
uses,
|
|
1543
|
-
HELPERS_NAME
|
|
1562
|
+
HELPERS_NAME,
|
|
1563
|
+
defaultIsModuleExports
|
|
1544
1564
|
);
|
|
1545
1565
|
|
|
1546
1566
|
const importBlock = rewriteRequireExpressionsAndGetImportBlock(
|
|
@@ -1574,6 +1594,7 @@ function commonjs(options = {}) {
|
|
|
1574
1594
|
const filter = pluginutils.createFilter(options.include, options.exclude);
|
|
1575
1595
|
const {
|
|
1576
1596
|
ignoreGlobal,
|
|
1597
|
+
ignoreDynamicRequires,
|
|
1577
1598
|
requireReturnsDefault: requireReturnsDefaultOption,
|
|
1578
1599
|
esmExternals
|
|
1579
1600
|
} = options;
|
|
@@ -1588,6 +1609,8 @@ function commonjs(options = {}) {
|
|
|
1588
1609
|
: Array.isArray(esmExternals)
|
|
1589
1610
|
? ((esmExternalIds = new Set(esmExternals)), (id) => esmExternalIds.has(id))
|
|
1590
1611
|
: () => esmExternals;
|
|
1612
|
+
const defaultIsModuleExports =
|
|
1613
|
+
typeof options.defaultIsModuleExports === 'boolean' ? options.defaultIsModuleExports : 'auto';
|
|
1591
1614
|
|
|
1592
1615
|
const { dynamicRequireModuleSet, dynamicRequireModuleDirPaths } = getDynamicRequirePaths(
|
|
1593
1616
|
options.dynamicRequireTargets
|
|
@@ -1599,6 +1622,7 @@ function commonjs(options = {}) {
|
|
|
1599
1622
|
|
|
1600
1623
|
const esModulesWithDefaultExport = new Set();
|
|
1601
1624
|
const esModulesWithNamedExports = new Set();
|
|
1625
|
+
const isCjsPromises = new Map();
|
|
1602
1626
|
|
|
1603
1627
|
const ignoreRequire =
|
|
1604
1628
|
typeof options.ignore === 'function'
|
|
@@ -1627,6 +1651,7 @@ function commonjs(options = {}) {
|
|
|
1627
1651
|
|
|
1628
1652
|
function transformAndCheckExports(code, id) {
|
|
1629
1653
|
if (isDynamicRequireModulesEnabled && this.getModuleInfo(id).isEntry) {
|
|
1654
|
+
// eslint-disable-next-line no-param-reassign
|
|
1630
1655
|
code =
|
|
1631
1656
|
getDynamicPackagesEntryIntro(dynamicRequireModuleDirPaths, dynamicRequireModuleSet) + code;
|
|
1632
1657
|
}
|
|
@@ -1655,6 +1680,7 @@ function commonjs(options = {}) {
|
|
|
1655
1680
|
// avoid wrapping in createCommonjsModule, as this is a commonjsRegister call
|
|
1656
1681
|
if (isModuleRegisterProxy(id)) {
|
|
1657
1682
|
disableWrap = true;
|
|
1683
|
+
// eslint-disable-next-line no-param-reassign
|
|
1658
1684
|
id = unwrapModuleRegisterProxy(id);
|
|
1659
1685
|
}
|
|
1660
1686
|
|
|
@@ -1665,13 +1691,15 @@ function commonjs(options = {}) {
|
|
|
1665
1691
|
isEsModule,
|
|
1666
1692
|
ignoreGlobal || isEsModule,
|
|
1667
1693
|
ignoreRequire,
|
|
1694
|
+
ignoreDynamicRequires && !isDynamicRequireModulesEnabled,
|
|
1668
1695
|
getIgnoreTryCatchRequireStatementMode,
|
|
1669
1696
|
sourceMap,
|
|
1670
1697
|
isDynamicRequireModulesEnabled,
|
|
1671
1698
|
dynamicRequireModuleSet,
|
|
1672
1699
|
disableWrap,
|
|
1673
1700
|
commonDir,
|
|
1674
|
-
ast
|
|
1701
|
+
ast,
|
|
1702
|
+
defaultIsModuleExports
|
|
1675
1703
|
);
|
|
1676
1704
|
}
|
|
1677
1705
|
|
|
@@ -1691,7 +1719,7 @@ function commonjs(options = {}) {
|
|
|
1691
1719
|
|
|
1692
1720
|
load(id) {
|
|
1693
1721
|
if (id === HELPERS_ID) {
|
|
1694
|
-
return getHelpersModule(isDynamicRequireModulesEnabled);
|
|
1722
|
+
return getHelpersModule(isDynamicRequireModulesEnabled, ignoreDynamicRequires);
|
|
1695
1723
|
}
|
|
1696
1724
|
|
|
1697
1725
|
if (id.startsWith(HELPERS_ID)) {
|
|
@@ -1731,7 +1759,8 @@ function commonjs(options = {}) {
|
|
|
1731
1759
|
actualId,
|
|
1732
1760
|
getRequireReturnsDefault(actualId),
|
|
1733
1761
|
esModulesWithDefaultExport,
|
|
1734
|
-
esModulesWithNamedExports
|
|
1762
|
+
esModulesWithNamedExports,
|
|
1763
|
+
isCjsPromises
|
|
1735
1764
|
);
|
|
1736
1765
|
}
|
|
1737
1766
|
|
|
@@ -1762,15 +1791,16 @@ function commonjs(options = {}) {
|
|
|
1762
1791
|
}
|
|
1763
1792
|
},
|
|
1764
1793
|
|
|
1794
|
+
// eslint-disable-next-line no-shadow
|
|
1765
1795
|
moduleParsed({ id, meta: { commonjs } }) {
|
|
1766
1796
|
if (commonjs) {
|
|
1767
1797
|
const isCjs = commonjs.isCommonJS;
|
|
1768
1798
|
if (isCjs != null) {
|
|
1769
|
-
setIsCjsPromise(id, isCjs);
|
|
1799
|
+
setIsCjsPromise(isCjsPromises, id, isCjs);
|
|
1770
1800
|
return;
|
|
1771
1801
|
}
|
|
1772
1802
|
}
|
|
1773
|
-
setIsCjsPromise(id, null);
|
|
1803
|
+
setIsCjsPromise(isCjsPromises, id, null);
|
|
1774
1804
|
}
|
|
1775
1805
|
};
|
|
1776
1806
|
}
|