From fdf9ff80689b65bd43f6dd1daab42ce499be3ace Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 18 Jan 2023 13:39:57 +0100 Subject: [PATCH] build(replay): Stop preserving modules (#6817) Stop preserving JS modules when transpiling the Replay package. With this change, everything is bundled into one `index.js` file (similarly to CDN bundles) which avoids weird bundler/plugin errors that emerge because of our file structure inside our NPM package. --- packages/replay/rollup.npm.config.js | 9 +-------- rollup/npmHelpers.js | 6 ------ 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/packages/replay/rollup.npm.config.js b/packages/replay/rollup.npm.config.js index 34e7877636a7..ffb944b94e2b 100644 --- a/packages/replay/rollup.npm.config.js +++ b/packages/replay/rollup.npm.config.js @@ -1,5 +1,3 @@ -import path from 'path'; - import replace from '@rollup/plugin-replace'; import { makeBaseNPMConfig, makeNPMConfigVariants } from '../../rollup/index'; @@ -23,12 +21,7 @@ export default makeNPMConfigVariants( // set exports to 'named' or 'auto' so that rollup doesn't warn about // the default export in `worker/worker.js` exports: 'named', - - // As we are inlining the rrweb dependency here, we need to ensure the nested folders are correct - // Without this config, you get: - // * build/npm/esm/node_modules/rrweb/... - // * build/npm/esm/packages/replay/... - preserveModulesRoot: path.join(process.cwd(), 'src'), + preserveModules: false, }, }, }), diff --git a/rollup/npmHelpers.js b/rollup/npmHelpers.js index 9bfbc8d338cc..0b79fb6edc03 100644 --- a/rollup/npmHelpers.js +++ b/rollup/npmHelpers.js @@ -95,12 +95,6 @@ export function makeBaseNPMConfig(options = {}) { ...Object.keys(packageDotJSON.dependencies || {}), ...Object.keys(packageDotJSON.peerDependencies || {}), ], - - // TODO `'smallest'` will get rid of `isDebugBuild()` by evaluating it and inlining the result and then treeshaking - // from there. The current setting (false) prevents this, in case we want to leave it there for users to use in - // their own bundling. That said, we don't yet know for sure that that works, so come back to this. - // treeshake: 'smallest', - treeshake: false, }; return deepMerge(defaultBaseConfig, packageSpecificConfig, {