From ea1663376eb45753c0de4722a0e25e2faefbd82f Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 7 Oct 2024 17:17:47 +0200 Subject: [PATCH] cli: use preserveModules for CJS builds Signed-off-by: Patrik Oldsberg --- .changeset/angry-cycles-call.md | 5 +++++ packages/cli/src/lib/builder/config.ts | 2 ++ 2 files changed, 7 insertions(+) create mode 100644 .changeset/angry-cycles-call.md diff --git a/.changeset/angry-cycles-call.md b/.changeset/angry-cycles-call.md new file mode 100644 index 0000000000..e8db20b701 --- /dev/null +++ b/.changeset/angry-cycles-call.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Preserve directory structure for CommonJS build output, just like ESM. This makes the build output more stable and easier to browse, and allows for more effective tree shaking and lazy imports. diff --git a/packages/cli/src/lib/builder/config.ts b/packages/cli/src/lib/builder/config.ts index a11ffe8845..59e1cd57c3 100644 --- a/packages/cli/src/lib/builder/config.ts +++ b/packages/cli/src/lib/builder/config.ts @@ -123,6 +123,8 @@ export async function makeRollupConfigs( format: 'commonjs', interop: 'compat', sourcemap: true, + preserveModules: true, + preserveModulesRoot: `${targetDir}/src`, exports: 'named', }); }