From e1e70fd2348638888b9989d1d44ee4d51fa1550d Mon Sep 17 00:00:00 2001 From: fantonangeli Date: Fri, 19 Jun 2026 17:24:01 +0200 Subject: [PATCH 1/2] externalize use-sync-external-store in diagram editor Signed-off-by: fantonangeli --- packages/serverless-workflow-diagram-editor/package.json | 3 ++- .../serverless-workflow-diagram-editor/vite.config.ts | 9 ++++++++- pnpm-lock.yaml | 6 ++++++ pnpm-workspace.yaml | 1 + 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/serverless-workflow-diagram-editor/package.json b/packages/serverless-workflow-diagram-editor/package.json index ffed920a..98e3422b 100644 --- a/packages/serverless-workflow-diagram-editor/package.json +++ b/packages/serverless-workflow-diagram-editor/package.json @@ -48,7 +48,8 @@ "clsx": "catalog:", "elkjs": "catalog:", "js-yaml": "catalog:", - "radix-ui": "catalog:" + "radix-ui": "catalog:", + "use-sync-external-store": "catalog:" }, "devDependencies": { "@chromatic-com/storybook": "catalog:", diff --git a/packages/serverless-workflow-diagram-editor/vite.config.ts b/packages/serverless-workflow-diagram-editor/vite.config.ts index 0b46a5df..b325945e 100644 --- a/packages/serverless-workflow-diagram-editor/vite.config.ts +++ b/packages/serverless-workflow-diagram-editor/vite.config.ts @@ -31,7 +31,14 @@ export default defineConfig({ formats: ["es"], }, rollupOptions: { - external: ["react", "react-dom", "react/jsx-runtime", "react/jsx-dev-runtime"], + external: [ + "react", + "react-dom", + "react/jsx-runtime", + "react/jsx-dev-runtime", + + /^use-sync-external-store($|\/)/, // Keep this external to avoid bundling the CJS shim into dist/index.js. + ], }, }, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e46142b8..328e8c71 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -129,6 +129,9 @@ catalogs: typescript: specifier: ^6.0.3 version: 6.0.3 + use-sync-external-store: + specifier: ^1.6.0 + version: 1.6.0 vite: specifier: ^8.0.16 version: 8.0.16 @@ -227,6 +230,9 @@ importers: radix-ui: specifier: 'catalog:' version: 1.5.0(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + use-sync-external-store: + specifier: 'catalog:' + version: 1.6.0(react@19.2.7) devDependencies: '@chromatic-com/storybook': specifier: 'catalog:' diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 65fcaece..9c92decd 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -42,6 +42,7 @@ catalog: syncpack: ^15.2.0 tailwindcss: ^4.3.0 typescript: ^6.0.3 + use-sync-external-store: ^1.6.0 vite: ^8.0.16 vitest: ^4.1.8 cleanupUnusedCatalogs: true From 52df8e22d0b6d95850b124b5d9803ca5bf0fde33 Mon Sep 17 00:00:00 2001 From: fantonangeli Date: Fri, 19 Jun 2026 17:36:15 +0200 Subject: [PATCH 2/2] +changeset Signed-off-by: fantonangeli --- .changeset/fix-cjs-use-sync-external-store-bundle.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fix-cjs-use-sync-external-store-bundle.md diff --git a/.changeset/fix-cjs-use-sync-external-store-bundle.md b/.changeset/fix-cjs-use-sync-external-store-bundle.md new file mode 100644 index 00000000..48eb3e33 --- /dev/null +++ b/.changeset/fix-cjs-use-sync-external-store-bundle.md @@ -0,0 +1,5 @@ +--- +"@serverlessworkflow/diagram-editor": minor +--- + +Fix ESM compatibility by keeping use-sync-external-store external in the build and declaring it as a runtime dependency.