Skip to content

Commit 039af6c

Browse files
committed
chore: ensure sub files in externals are treated as externals
1 parent 723cee7 commit 039af6c

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

dev-packages/rollup-utils/npmHelpers.mjs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,13 @@ export function makeBaseNPMConfig(options = {}) {
3232
bundledBuiltins = [],
3333
} = options;
3434

35+
// Make sure subpath imports are also treated as external (e.g., 'solid-js/web' when 'solid-js' is external)
36+
const externalWithSubpaths = [
37+
...Object.keys(packageDotJSON.dependencies || {}),
38+
...Object.keys(packageDotJSON.peerDependencies || {}),
39+
...Object.keys(packageDotJSON.optionalDependencies || {}),
40+
].map(dep => new RegExp(`^${dep}(?:/.*)?$`));
41+
3542
const debugBuildStatementReplacePlugin = makeDebugBuildStatementReplacePlugin();
3643
const rrwebBuildPlugin = makeRrwebBuildPlugin({
3744
excludeShadowDom: undefined,
@@ -85,12 +92,7 @@ export function makeBaseNPMConfig(options = {}) {
8592
plugins: [debugBuildStatementReplacePlugin, rrwebBuildPlugin],
8693

8794
// don't include imported modules from outside the package in the final output
88-
external: [
89-
...builtinModules.filter(m => !bundledBuiltins.includes(m)),
90-
...Object.keys(packageDotJSON.dependencies || {}),
91-
...Object.keys(packageDotJSON.peerDependencies || {}),
92-
...Object.keys(packageDotJSON.optionalDependencies || {}),
93-
],
95+
external: [...builtinModules.filter(m => !bundledBuiltins.includes(m)), ...externalWithSubpaths],
9496
});
9597

9698
return deepMerge(defaultBaseConfig, packageSpecificConfig, {

0 commit comments

Comments
 (0)