From f97ad04a2df45ee1f08239cfcb87c225891d7bb0 Mon Sep 17 00:00:00 2001 From: Tomasz Szuba Date: Wed, 6 Mar 2024 13:23:41 +0100 Subject: [PATCH] Allow tree-shaking of frontend plugins Adding rollup's preserveModules to enable tree-shaking in webpack. Signed-off-by: Tomasz Szuba --- .changeset/green-adults-push.md | 5 +++++ packages/cli/src/lib/builder/config.ts | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/green-adults-push.md diff --git a/.changeset/green-adults-push.md b/.changeset/green-adults-push.md new file mode 100644 index 0000000000..3edc21c385 --- /dev/null +++ b/.changeset/green-adults-push.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Add preserveModules to rollup, which allows better async loading and tree-shaking in webpack diff --git a/packages/cli/src/lib/builder/config.ts b/packages/cli/src/lib/builder/config.ts index 41e9dd6906..acb0d6691d 100644 --- a/packages/cli/src/lib/builder/config.ts +++ b/packages/cli/src/lib/builder/config.ts @@ -100,6 +100,7 @@ export async function makeRollupConfigs( chunkFileNames: `esm/[name]-[hash].esm.js`, format: 'module', sourcemap: true, + preserveModules: true, }); // Assume we're building for the browser if ESM output is included mainFields.unshift('browser');