diff --git a/packages/connectors/src/coinbaseWallet.ts b/packages/connectors/src/coinbaseWallet.ts index 470dc1db09..f45c461c95 100644 --- a/packages/connectors/src/coinbaseWallet.ts +++ b/packages/connectors/src/coinbaseWallet.ts @@ -170,7 +170,15 @@ function version4(parameters: Version4Parameters) { }, async getProvider() { if (!walletProvider) { - const { CoinbaseWalletSDK } = await import('@coinbase/wallet-sdk') + // Unwrapping import for Vite compatibility. + // See: https://github.com/vitejs/vite/issues/9703 + const CoinbaseWalletSDK = await (async () => { + const { default: SDK } = await import('@coinbase/wallet-sdk') + if (typeof SDK !== 'function' && typeof SDK.default === 'function') + return SDK.default + return SDK as unknown as typeof SDK.default + })() + sdk = new CoinbaseWalletSDK({ ...parameters, appChainIds: config.chains.map((x) => x.id), @@ -396,7 +404,15 @@ function version3(parameters: Version3Parameters) { }, async getProvider() { if (!walletProvider) { - const { CoinbaseWalletSDK } = await import('cbw-sdk') + // Unwrapping import for Vite compatibility. + // See: https://github.com/vitejs/vite/issues/9703 + const CoinbaseWalletSDK = await (async () => { + const { default: SDK } = await import('cbw-sdk') + if (typeof SDK !== 'function' && typeof SDK.default === 'function') + return SDK.default + return SDK as unknown as typeof SDK.default + })() + sdk = new CoinbaseWalletSDK({ reloadOnDisconnect, ...parameters }) // Force types to retrieve private `walletExtension` method from the Coinbase Wallet SDK. diff --git a/packages/connectors/src/metaMask.ts b/packages/connectors/src/metaMask.ts index 29ef8ea4e1..cf572ad58b 100644 --- a/packages/connectors/src/metaMask.ts +++ b/packages/connectors/src/metaMask.ts @@ -157,7 +157,15 @@ export function metaMask(parameters: MetaMaskParameters = {}) { }, async getProvider() { async function initProvider() { - const { MetaMaskSDK } = await import('@metamask/sdk') + // Unwrapping import for Vite compatibility. + // See: https://github.com/vitejs/vite/issues/9703 + const MetaMaskSDK = await (async () => { + const { default: SDK } = await import('@metamask/sdk') + if (typeof SDK !== 'function' && typeof SDK.default === 'function') + return SDK.default + return SDK as unknown as typeof SDK.default + })() + sdk = new MetaMaskSDK({ dappMetadata: {}, ...parameters,