Skip to content

Commit 95fb240

Browse files
committed
fixup! fixup! fixup! fixup! fixup! feat(core): split exports by browser/server for bundle size
1 parent 85da873 commit 95fb240

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

dev-packages/rollup-utils/npmHelpers.mjs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,17 @@ export function makeBaseNPMConfig(options = {}) {
100100
plugins: [nodeResolvePlugin, sucrasePlugin, debugBuildStatementReplacePlugin, rrwebBuildPlugin, cleanupPlugin],
101101

102102
// don't include imported modules from outside the package in the final output
103-
external: [
104-
...builtinModules.filter(m => !bundledBuiltins.includes(m)),
105-
...Object.keys(packageDotJSON.dependencies || {}),
106-
...Object.keys(packageDotJSON.peerDependencies || {}),
107-
...Object.keys(packageDotJSON.optionalDependencies || {}),
108-
],
103+
// also treat subpath exports (e.g. `@sentry/core/browser`) as external
104+
external: id => {
105+
const deps = [
106+
...builtinModules.filter(m => !bundledBuiltins.includes(m)),
107+
...Object.keys(packageDotJSON.dependencies || {}),
108+
...Object.keys(packageDotJSON.peerDependencies || {}),
109+
...Object.keys(packageDotJSON.optionalDependencies || {}),
110+
];
111+
// treat subpath exports as external if the package is external
112+
return deps.some(dep => id === dep || id.startsWith(`${dep}/`));
113+
},
109114
};
110115

111116
return deepMerge(defaultBaseConfig, packageSpecificConfig, {

0 commit comments

Comments
 (0)