diff --git a/.changeset/fix-wallet-esm-ssr-bundle.md b/.changeset/fix-wallet-esm-ssr-bundle.md new file mode 100644 index 0000000000..269aab5a45 --- /dev/null +++ b/.changeset/fix-wallet-esm-ssr-bundle.md @@ -0,0 +1,5 @@ +--- +"@reown/appkit-wallet": patch +--- + +Bundle @walletconnect/logger into the wallet package dist to fix SSR environments (SvelteKit, Next.js on Vercel) where Vite externalizes the dependency and Node.js resolves it as CJS, causing a "Named export not found" error at runtime. diff --git a/packages/wallet/package.json b/packages/wallet/package.json index 2fa953a2f7..de60393e89 100644 --- a/packages/wallet/package.json +++ b/packages/wallet/package.json @@ -24,7 +24,7 @@ }, "scripts": { "build:clean": "rm -rf dist", - "build": "tsc --build", + "build": "tsc --build && vite build", "watch": "tsc --watch", "typecheck": "tsc --noEmit", "lint": "eslint . --ext .js,.jsx,.ts,.tsx", @@ -49,6 +49,7 @@ "devDependencies": { "@vitest/coverage-v8": "2.1.9", "jsdom": "24.1.0", + "vite": "5.4.20", "vitest": "3.1.3" }, "keywords": [ diff --git a/packages/wallet/vite.config.ts b/packages/wallet/vite.config.ts new file mode 100644 index 0000000000..4b8f186911 --- /dev/null +++ b/packages/wallet/vite.config.ts @@ -0,0 +1,20 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' + +export default defineConfig({ + build: { + lib: { + entry: { + 'exports/index': resolve(__dirname, 'exports/index.ts'), + 'exports/utils': resolve(__dirname, 'exports/utils.ts') + }, + formats: ['es'], + fileName: (_format, entryName) => `${entryName}.js` + }, + outDir: 'dist/esm', + emptyOutDir: true, + rollupOptions: { + external: ['@reown/appkit-common', '@reown/appkit-polyfills', 'zod'] + } + } +})