@clerk/shared 4.0.0-canary.v20260106140304 → 4.0.0-canary.v20260107132806

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"passkeys.d.mts","names":[],"sources":["../../../../src/internal/clerk-js/passkeys.ts"],"sourcesContent":[],"mappings":";;;;;KAYK,8BAAA,GAAiC,iBAAiB;KAClD,2BAAA,GAA8B,iBAAiB;AAH/B,cAKf,eAAA,CAHD;EACA,OAAA,MAAA,CAAA,MAAA,EAGmB,WAHQ,CAAA,EAAA,MAAoB;EAE9C,OAAA,MAAA,CAAA,SAAe,EAAA,MACG,CAAA,EAOY,WAAA;AAAW;iBAahC,wBAAA,CACK,gBAAA,EAAA,mDAAA,CAAA,EACjB,OADiB,CACT,8BADS,CAAA;cAuBd,oBAAA,CAtBK;EAAR,QAAA,UAAA;EAAO,QAAA,OAAA;EAsBJ,iBAAA,CAAA,CAAA,EAYa,WAZO;EAyBpB,KAAA,CAAA,CAAA,EAAA,IAAA;AAA4D;cAA5D,+BAGJ,EAHmC,oBAGnC;iBADa,qBAAA,CAEb;EAAA,gBAAA;EAAA;CAAA,EAAA;EAEkB,gBAAA,EAAA,kDAAA;EAER,aAAA,EAAA,OAAA;CAAR,CAAA,EAAA,OAAA,CAAQ,2BAAR,CAAA;;AAAO;;;;iBAqCF,0BAAA,CAAmF,KAAA,EAAjD,KAAiD,CAAA,EAAzC,kBAAyC,GAApB,iBAAoB,GAAA,KAAA;iBAuBnF,mCAAA,CAvBwF,aAAA,EAuBrC,sCAvBqC,CAAA,EAwC1F,mDAxC0F;AAAA,iBA2CxF,oCAAA,CApBmD,aAAA,EAoBC,qCAHtD,CAAA,EAeA,kDAfmD;AAAA,iBA2BjD,4BAAA,CAxBoC,GAAA,EAwBF,uDAZpC,CAAA,EAAA;EAYE,QAAA,EAAA;IAYA,cAAA,EAAA,MAAA;IAaH,iBAAgE,EAAA,MAAA;IAChE,UAAA,EAAA,MAAgE,EAAA;;;;;;;iBAd7D,qCAAA,MAA2C;;;;;;;;;;;;cAa9C,0BAAiB,eAAA,CAAA;cACjB,0BAAiB,eAAA,CAAA"}
1
+ {"version":3,"file":"passkeys.d.mts","names":[],"sources":["../../../../src/internal/clerk-js/passkeys.ts"],"sourcesContent":[],"mappings":";;;;;KAYK,8BAAA,GAAiC,iBAAiB;KAClD,2BAAA,GAA8B,iBAAiB;AAH/B,cAKf,eAAA,CAHD;EACA,OAAA,MAAA,CAAA,MAAA,EAGmB,WAHQ,CAAA,EAAA,MAAA;EAE1B,OAAA,MAAA,CAAA,SAAe,EAAA,MACG,CAAA,EAOY,WAAA;AAAW;iBAahC,wBAAA,CACK,gBAAA,EAAA,mDAAA,CAAA,EACjB,OADiB,CACT,8BADS,CAAA;cAuBd,oBAAA,CAtBK;EAAR,QAAA,UAAA;EAAO,QAAA,OAAA;EAsBJ,iBAAA,CAAA,CAAA,EAYa,WAZO;EAyBpB,KAAA,CAAA,CAAA,EAAA,IAAA;AAA4D;cAA5D,+BAGJ,EAHmC,oBAGnC;iBADa,qBAAA,CAEb;EAAA,gBAAA;EAAA;CAAA,EAAA;EAEkB,gBAAA,EAAA,kDAAA;EAER,aAAA,EAAA,OAAA;CAAR,CAAA,EAAA,OAAA,CAAQ,2BAAR,CAAA;;AAAO;;;;iBAqCF,0BAAA,CAAmF,KAAA,EAAjD,KAAiD,CAAA,EAAzC,kBAAyC,GAApB,iBAAoB,GAAA,KAAA;iBAuBnF,mCAAA,CAvBwF,aAAA,EAuBrC,sCAvBqC,CAAA,EAwC1F,mDAxC0F;AAAA,iBA2CxF,oCAAA,CApBmC,aAAgB,EAoBC,qCAHtD,CAAA,EAeA,kDAfmD;AAAA,iBA2BjD,4BAAA,CAxBoC,GAAA,EAwBF,uDAZpC,CAAA,EAAA;EAYE,QAAA,EAAA;IAYA,cAAA,EAAA,MAAA;IAaH,iBAAgE,EAAA,MAAA;IAChE,UAAA,EAAA,MAAgE,EAAA;;;;;;;iBAd7D,qCAAA,MAA2C;;;;;;;;;;;;cAa9C,0BAAiB,eAAA,CAAA;cACjB,0BAAiB,eAAA,CAAA"}
@@ -100,7 +100,10 @@ function createWeb3(moduleManager) {
100
100
  if (provider === "coinbase_wallet") {
101
101
  const coinbaseModule = await moduleManager.import("@coinbase/wallet-sdk");
102
102
  if (!coinbaseModule) return null;
103
- return coinbaseModule.createCoinbaseWalletSDK({ preference: { options: "all" } }).getProvider();
103
+ return coinbaseModule.createCoinbaseWalletSDK({
104
+ appName: typeof window !== "undefined" && window.Clerk?.__internal_environment?.displayConfig?.applicationName || typeof document !== "undefined" && document.title || "Web3 Application",
105
+ preference: { options: "all" }
106
+ }).getProvider();
104
107
  }
105
108
  if (provider === "base") try {
106
109
  const baseModule = await moduleManager.import("@base-org/account");
@@ -1 +1 @@
1
- {"version":3,"file":"web3.js","names":["buildErrorThrower","identifiers","generateWeb3Signature: GenerateSignature","ClerkRuntimeError","toHex","getInjectedWeb3SolanaProviders","getInjectedWeb3EthProviders"],"sources":["../../../../src/internal/clerk-js/web3.ts"],"sourcesContent":["import type { SolanaWalletAdapterWallet } from '@solana/wallet-standard';\n\nimport { buildErrorThrower, ClerkRuntimeError } from '@/error';\n\nimport type { ModuleManager } from '../../moduleManager';\nimport type { GenerateSignature, Web3Provider } from '../../types';\nimport { clerkUnsupportedEnvironmentWarning } from './errors';\nimport { toHex } from './hex';\nimport { getInjectedWeb3EthProviders } from './injectedWeb3EthProviders';\nimport { getInjectedWeb3SolanaProviders } from './injectedWeb3SolanaProviders';\n\ntype GetWeb3IdentifierParams = {\n provider: Web3Provider;\n walletName?: string;\n};\n\n// '@solana/wallet-standard'\nconst StandardConnect = `standard:connect`;\nconst SolanaSignMessage = `solana:signMessage`;\n\ntype GenerateSignatureParams = {\n identifier: string;\n nonce: string;\n};\n\ntype GenerateSolanaSignatureParams = GenerateSignatureParams & {\n walletName: string;\n};\n\nexport function createWeb3(moduleManager: ModuleManager) {\n const errorThrower = buildErrorThrower({\n packageName: '@clerk/shared',\n });\n\n async function getWeb3Identifier(params: GetWeb3IdentifierParams): Promise<string> {\n const { provider, walletName } = params;\n const walletProvider = await getWeb3Wallet(provider, walletName);\n\n // TODO - core-3: Improve error handling for the case when the provider is not found\n if (!walletProvider) {\n // If a plugin for the requested provider is not found,\n // the flow will fail as it has been the expected behavior so far.\n return '';\n }\n\n if (provider === 'solana') {\n const identifiers = await walletProvider.features[StandardConnect].connect();\n return (identifiers && identifiers.accounts[0].address) || '';\n }\n\n // Ethereum providers\n const identifiers = await walletProvider.request({ method: 'eth_requestAccounts' });\n // @ts-ignore -- Provider SDKs may return unknown shape; use first address if present\n return (identifiers && identifiers[0]) || '';\n }\n\n const generateWeb3Signature: GenerateSignature = async (params): Promise<string> => {\n const { identifier, nonce, provider, walletName = '' } = params;\n const wallet = await getWeb3Wallet(provider, walletName);\n\n // TODO - core-3: Improve error handling for the case when the provider is not found\n if (!wallet) {\n // If a plugin for the requested provider is not found,\n // the flow will fail as it has been the expected behavior so far.\n return '';\n }\n\n if (provider === 'solana') {\n try {\n const solanaWallet = wallet as SolanaWalletAdapterWallet;\n const walletAccount = solanaWallet.accounts.find(a => a.address === identifier);\n if (!walletAccount) {\n console.warn(`Wallet account with address ${identifier} not found`);\n return '';\n }\n const signedMessages = await solanaWallet.features[SolanaSignMessage]?.signMessage({\n account: walletAccount,\n message: new TextEncoder().encode(nonce),\n });\n // Convert signature Uint8Array to base64 string\n return signedMessages?.[0]?.signature ? btoa(String.fromCharCode(...signedMessages[0].signature)) : '';\n } catch (err) {\n if (err instanceof Error && err.message.includes('User rejected the request.')) {\n throw new ClerkRuntimeError('Web3 signature request was rejected by the user.', {\n code: 'web3_signature_request_rejected',\n });\n }\n throw new ClerkRuntimeError('An error occurred while generating the Solana signature.', {\n code: 'web3_solana_signature_generation_failed',\n cause: err instanceof Error ? err : undefined,\n });\n }\n }\n\n return await wallet.request({\n method: 'personal_sign',\n params: [`0x${toHex(nonce)}`, identifier],\n });\n };\n\n async function getMetamaskIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'metamask' });\n }\n\n async function getCoinbaseWalletIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'coinbase_wallet' });\n }\n\n async function getOKXWalletIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'okx_wallet' });\n }\n\n async function getBaseIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'base' });\n }\n\n async function getSolanaIdentifier(walletName: string): Promise<string> {\n return await getWeb3Identifier({ provider: 'solana', walletName });\n }\n\n async function generateSignatureWithMetamask(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'metamask' });\n }\n\n async function generateSignatureWithCoinbaseWallet(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'coinbase_wallet' });\n }\n\n async function generateSignatureWithOKXWallet(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'okx_wallet' });\n }\n\n async function generateSignatureWithBase(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'base' });\n }\n async function generateSignatureWithSolana(params: GenerateSolanaSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'solana' });\n }\n\n async function getWeb3Wallet(provider: Web3Provider, walletName?: string) {\n if (provider === 'coinbase_wallet') {\n if (__BUILD_DISABLE_RHC__) {\n clerkUnsupportedEnvironmentWarning('Coinbase Wallet');\n return null;\n }\n\n const coinbaseModule = await moduleManager.import('@coinbase/wallet-sdk');\n if (!coinbaseModule) {\n return null;\n }\n const sdk = coinbaseModule.createCoinbaseWalletSDK({\n preference: {\n options: 'all',\n },\n });\n return sdk.getProvider();\n }\n if (provider === 'base') {\n if (__BUILD_DISABLE_RHC__) {\n clerkUnsupportedEnvironmentWarning('Base');\n return null;\n }\n\n try {\n const baseModule = await moduleManager.import('@base-org/account');\n if (!baseModule) {\n return null;\n }\n\n const sdk = baseModule.createBaseAccountSDK({\n appName:\n (typeof window !== 'undefined' &&\n // @ts-expect-error missing types\n (window.Clerk as any)?.__internal_environment?.displayConfig?.applicationName) ||\n (typeof document !== 'undefined' && document.title) ||\n 'Web3 Application',\n });\n return sdk.getProvider();\n } catch {\n return null;\n }\n }\n\n if (provider === 'solana') {\n if (!walletName || walletName.length === 0) {\n errorThrower.throw('Wallet name must be provided to get Solana wallet provider');\n return;\n }\n return await getInjectedWeb3SolanaProviders().get(walletName);\n }\n\n return getInjectedWeb3EthProviders().get(provider);\n }\n\n return {\n getWeb3Identifier,\n generateWeb3Signature,\n getMetamaskIdentifier,\n getCoinbaseWalletIdentifier,\n getOKXWalletIdentifier,\n getBaseIdentifier,\n getSolanaIdentifier,\n generateSignatureWithMetamask,\n generateSignatureWithCoinbaseWallet,\n generateSignatureWithOKXWallet,\n generateSignatureWithBase,\n generateSignatureWithSolana,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"web3.js","names":["buildErrorThrower","identifiers","generateWeb3Signature: GenerateSignature","ClerkRuntimeError","toHex","getInjectedWeb3SolanaProviders","getInjectedWeb3EthProviders"],"sources":["../../../../src/internal/clerk-js/web3.ts"],"sourcesContent":["import type { SolanaWalletAdapterWallet } from '@solana/wallet-standard';\n\nimport { buildErrorThrower, ClerkRuntimeError } from '@/error';\n\nimport type { ModuleManager } from '../../moduleManager';\nimport type { GenerateSignature, Web3Provider } from '../../types';\nimport { clerkUnsupportedEnvironmentWarning } from './errors';\nimport { toHex } from './hex';\nimport { getInjectedWeb3EthProviders } from './injectedWeb3EthProviders';\nimport { getInjectedWeb3SolanaProviders } from './injectedWeb3SolanaProviders';\n\ntype GetWeb3IdentifierParams = {\n provider: Web3Provider;\n walletName?: string;\n};\n\n// '@solana/wallet-standard'\nconst StandardConnect = `standard:connect`;\nconst SolanaSignMessage = `solana:signMessage`;\n\ntype GenerateSignatureParams = {\n identifier: string;\n nonce: string;\n};\n\ntype GenerateSolanaSignatureParams = GenerateSignatureParams & {\n walletName: string;\n};\n\nexport function createWeb3(moduleManager: ModuleManager) {\n const errorThrower = buildErrorThrower({\n packageName: '@clerk/shared',\n });\n\n async function getWeb3Identifier(params: GetWeb3IdentifierParams): Promise<string> {\n const { provider, walletName } = params;\n const walletProvider = await getWeb3Wallet(provider, walletName);\n\n // TODO - core-3: Improve error handling for the case when the provider is not found\n if (!walletProvider) {\n // If a plugin for the requested provider is not found,\n // the flow will fail as it has been the expected behavior so far.\n return '';\n }\n\n if (provider === 'solana') {\n const identifiers = await walletProvider.features[StandardConnect].connect();\n return (identifiers && identifiers.accounts[0].address) || '';\n }\n\n // Ethereum providers\n const identifiers = await walletProvider.request({ method: 'eth_requestAccounts' });\n // @ts-ignore -- Provider SDKs may return unknown shape; use first address if present\n return (identifiers && identifiers[0]) || '';\n }\n\n const generateWeb3Signature: GenerateSignature = async (params): Promise<string> => {\n const { identifier, nonce, provider, walletName = '' } = params;\n const wallet = await getWeb3Wallet(provider, walletName);\n\n // TODO - core-3: Improve error handling for the case when the provider is not found\n if (!wallet) {\n // If a plugin for the requested provider is not found,\n // the flow will fail as it has been the expected behavior so far.\n return '';\n }\n\n if (provider === 'solana') {\n try {\n const solanaWallet = wallet as SolanaWalletAdapterWallet;\n const walletAccount = solanaWallet.accounts.find(a => a.address === identifier);\n if (!walletAccount) {\n console.warn(`Wallet account with address ${identifier} not found`);\n return '';\n }\n const signedMessages = await solanaWallet.features[SolanaSignMessage]?.signMessage({\n account: walletAccount,\n message: new TextEncoder().encode(nonce),\n });\n // Convert signature Uint8Array to base64 string\n return signedMessages?.[0]?.signature ? btoa(String.fromCharCode(...signedMessages[0].signature)) : '';\n } catch (err) {\n if (err instanceof Error && err.message.includes('User rejected the request.')) {\n throw new ClerkRuntimeError('Web3 signature request was rejected by the user.', {\n code: 'web3_signature_request_rejected',\n });\n }\n throw new ClerkRuntimeError('An error occurred while generating the Solana signature.', {\n code: 'web3_solana_signature_generation_failed',\n cause: err instanceof Error ? err : undefined,\n });\n }\n }\n\n return await wallet.request({\n method: 'personal_sign',\n params: [`0x${toHex(nonce)}`, identifier],\n });\n };\n\n async function getMetamaskIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'metamask' });\n }\n\n async function getCoinbaseWalletIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'coinbase_wallet' });\n }\n\n async function getOKXWalletIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'okx_wallet' });\n }\n\n async function getBaseIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'base' });\n }\n\n async function getSolanaIdentifier(walletName: string): Promise<string> {\n return await getWeb3Identifier({ provider: 'solana', walletName });\n }\n\n async function generateSignatureWithMetamask(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'metamask' });\n }\n\n async function generateSignatureWithCoinbaseWallet(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'coinbase_wallet' });\n }\n\n async function generateSignatureWithOKXWallet(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'okx_wallet' });\n }\n\n async function generateSignatureWithBase(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'base' });\n }\n async function generateSignatureWithSolana(params: GenerateSolanaSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'solana' });\n }\n\n async function getWeb3Wallet(provider: Web3Provider, walletName?: string) {\n if (provider === 'coinbase_wallet') {\n if (__BUILD_DISABLE_RHC__) {\n clerkUnsupportedEnvironmentWarning('Coinbase Wallet');\n return null;\n }\n\n const coinbaseModule = await moduleManager.import('@coinbase/wallet-sdk');\n if (!coinbaseModule) {\n return null;\n }\n const sdk = coinbaseModule.createCoinbaseWalletSDK({\n appName:\n (typeof window !== 'undefined' &&\n // @ts-expect-error missing types\n (window.Clerk as any)?.__internal_environment?.displayConfig?.applicationName) ||\n (typeof document !== 'undefined' && document.title) ||\n 'Web3 Application',\n preference: {\n options: 'all',\n },\n });\n return sdk.getProvider();\n }\n\n if (provider === 'base') {\n if (__BUILD_DISABLE_RHC__) {\n clerkUnsupportedEnvironmentWarning('Base');\n return null;\n }\n\n try {\n const baseModule = await moduleManager.import('@base-org/account');\n if (!baseModule) {\n return null;\n }\n\n const sdk = baseModule.createBaseAccountSDK({\n appName:\n (typeof window !== 'undefined' &&\n // @ts-expect-error missing types\n (window.Clerk as any)?.__internal_environment?.displayConfig?.applicationName) ||\n (typeof document !== 'undefined' && document.title) ||\n 'Web3 Application',\n });\n return sdk.getProvider();\n } catch {\n return null;\n }\n }\n\n if (provider === 'solana') {\n if (!walletName || walletName.length === 0) {\n errorThrower.throw('Wallet name must be provided to get Solana wallet provider');\n return;\n }\n return await getInjectedWeb3SolanaProviders().get(walletName);\n }\n\n return getInjectedWeb3EthProviders().get(provider);\n }\n\n return {\n getWeb3Identifier,\n generateWeb3Signature,\n getMetamaskIdentifier,\n getCoinbaseWalletIdentifier,\n getOKXWalletIdentifier,\n getBaseIdentifier,\n getSolanaIdentifier,\n generateSignatureWithMetamask,\n generateSignatureWithCoinbaseWallet,\n generateSignatureWithOKXWallet,\n generateSignatureWithBase,\n generateSignatureWithSolana,\n };\n}\n"],"mappings":"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"}
@@ -100,7 +100,10 @@ function createWeb3(moduleManager) {
100
100
  if (provider === "coinbase_wallet") {
101
101
  const coinbaseModule = await moduleManager.import("@coinbase/wallet-sdk");
102
102
  if (!coinbaseModule) return null;
103
- return coinbaseModule.createCoinbaseWalletSDK({ preference: { options: "all" } }).getProvider();
103
+ return coinbaseModule.createCoinbaseWalletSDK({
104
+ appName: typeof window !== "undefined" && window.Clerk?.__internal_environment?.displayConfig?.applicationName || typeof document !== "undefined" && document.title || "Web3 Application",
105
+ preference: { options: "all" }
106
+ }).getProvider();
104
107
  }
105
108
  if (provider === "base") try {
106
109
  const baseModule = await moduleManager.import("@base-org/account");
@@ -1 +1 @@
1
- {"version":3,"file":"web3.mjs","names":["identifiers","generateWeb3Signature: GenerateSignature"],"sources":["../../../../src/internal/clerk-js/web3.ts"],"sourcesContent":["import type { SolanaWalletAdapterWallet } from '@solana/wallet-standard';\n\nimport { buildErrorThrower, ClerkRuntimeError } from '@/error';\n\nimport type { ModuleManager } from '../../moduleManager';\nimport type { GenerateSignature, Web3Provider } from '../../types';\nimport { clerkUnsupportedEnvironmentWarning } from './errors';\nimport { toHex } from './hex';\nimport { getInjectedWeb3EthProviders } from './injectedWeb3EthProviders';\nimport { getInjectedWeb3SolanaProviders } from './injectedWeb3SolanaProviders';\n\ntype GetWeb3IdentifierParams = {\n provider: Web3Provider;\n walletName?: string;\n};\n\n// '@solana/wallet-standard'\nconst StandardConnect = `standard:connect`;\nconst SolanaSignMessage = `solana:signMessage`;\n\ntype GenerateSignatureParams = {\n identifier: string;\n nonce: string;\n};\n\ntype GenerateSolanaSignatureParams = GenerateSignatureParams & {\n walletName: string;\n};\n\nexport function createWeb3(moduleManager: ModuleManager) {\n const errorThrower = buildErrorThrower({\n packageName: '@clerk/shared',\n });\n\n async function getWeb3Identifier(params: GetWeb3IdentifierParams): Promise<string> {\n const { provider, walletName } = params;\n const walletProvider = await getWeb3Wallet(provider, walletName);\n\n // TODO - core-3: Improve error handling for the case when the provider is not found\n if (!walletProvider) {\n // If a plugin for the requested provider is not found,\n // the flow will fail as it has been the expected behavior so far.\n return '';\n }\n\n if (provider === 'solana') {\n const identifiers = await walletProvider.features[StandardConnect].connect();\n return (identifiers && identifiers.accounts[0].address) || '';\n }\n\n // Ethereum providers\n const identifiers = await walletProvider.request({ method: 'eth_requestAccounts' });\n // @ts-ignore -- Provider SDKs may return unknown shape; use first address if present\n return (identifiers && identifiers[0]) || '';\n }\n\n const generateWeb3Signature: GenerateSignature = async (params): Promise<string> => {\n const { identifier, nonce, provider, walletName = '' } = params;\n const wallet = await getWeb3Wallet(provider, walletName);\n\n // TODO - core-3: Improve error handling for the case when the provider is not found\n if (!wallet) {\n // If a plugin for the requested provider is not found,\n // the flow will fail as it has been the expected behavior so far.\n return '';\n }\n\n if (provider === 'solana') {\n try {\n const solanaWallet = wallet as SolanaWalletAdapterWallet;\n const walletAccount = solanaWallet.accounts.find(a => a.address === identifier);\n if (!walletAccount) {\n console.warn(`Wallet account with address ${identifier} not found`);\n return '';\n }\n const signedMessages = await solanaWallet.features[SolanaSignMessage]?.signMessage({\n account: walletAccount,\n message: new TextEncoder().encode(nonce),\n });\n // Convert signature Uint8Array to base64 string\n return signedMessages?.[0]?.signature ? btoa(String.fromCharCode(...signedMessages[0].signature)) : '';\n } catch (err) {\n if (err instanceof Error && err.message.includes('User rejected the request.')) {\n throw new ClerkRuntimeError('Web3 signature request was rejected by the user.', {\n code: 'web3_signature_request_rejected',\n });\n }\n throw new ClerkRuntimeError('An error occurred while generating the Solana signature.', {\n code: 'web3_solana_signature_generation_failed',\n cause: err instanceof Error ? err : undefined,\n });\n }\n }\n\n return await wallet.request({\n method: 'personal_sign',\n params: [`0x${toHex(nonce)}`, identifier],\n });\n };\n\n async function getMetamaskIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'metamask' });\n }\n\n async function getCoinbaseWalletIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'coinbase_wallet' });\n }\n\n async function getOKXWalletIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'okx_wallet' });\n }\n\n async function getBaseIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'base' });\n }\n\n async function getSolanaIdentifier(walletName: string): Promise<string> {\n return await getWeb3Identifier({ provider: 'solana', walletName });\n }\n\n async function generateSignatureWithMetamask(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'metamask' });\n }\n\n async function generateSignatureWithCoinbaseWallet(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'coinbase_wallet' });\n }\n\n async function generateSignatureWithOKXWallet(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'okx_wallet' });\n }\n\n async function generateSignatureWithBase(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'base' });\n }\n async function generateSignatureWithSolana(params: GenerateSolanaSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'solana' });\n }\n\n async function getWeb3Wallet(provider: Web3Provider, walletName?: string) {\n if (provider === 'coinbase_wallet') {\n if (__BUILD_DISABLE_RHC__) {\n clerkUnsupportedEnvironmentWarning('Coinbase Wallet');\n return null;\n }\n\n const coinbaseModule = await moduleManager.import('@coinbase/wallet-sdk');\n if (!coinbaseModule) {\n return null;\n }\n const sdk = coinbaseModule.createCoinbaseWalletSDK({\n preference: {\n options: 'all',\n },\n });\n return sdk.getProvider();\n }\n if (provider === 'base') {\n if (__BUILD_DISABLE_RHC__) {\n clerkUnsupportedEnvironmentWarning('Base');\n return null;\n }\n\n try {\n const baseModule = await moduleManager.import('@base-org/account');\n if (!baseModule) {\n return null;\n }\n\n const sdk = baseModule.createBaseAccountSDK({\n appName:\n (typeof window !== 'undefined' &&\n // @ts-expect-error missing types\n (window.Clerk as any)?.__internal_environment?.displayConfig?.applicationName) ||\n (typeof document !== 'undefined' && document.title) ||\n 'Web3 Application',\n });\n return sdk.getProvider();\n } catch {\n return null;\n }\n }\n\n if (provider === 'solana') {\n if (!walletName || walletName.length === 0) {\n errorThrower.throw('Wallet name must be provided to get Solana wallet provider');\n return;\n }\n return await getInjectedWeb3SolanaProviders().get(walletName);\n }\n\n return getInjectedWeb3EthProviders().get(provider);\n }\n\n return {\n getWeb3Identifier,\n generateWeb3Signature,\n getMetamaskIdentifier,\n getCoinbaseWalletIdentifier,\n getOKXWalletIdentifier,\n getBaseIdentifier,\n getSolanaIdentifier,\n generateSignatureWithMetamask,\n generateSignatureWithCoinbaseWallet,\n generateSignatureWithOKXWallet,\n generateSignatureWithBase,\n generateSignatureWithSolana,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"web3.mjs","names":["identifiers","generateWeb3Signature: GenerateSignature"],"sources":["../../../../src/internal/clerk-js/web3.ts"],"sourcesContent":["import type { SolanaWalletAdapterWallet } from '@solana/wallet-standard';\n\nimport { buildErrorThrower, ClerkRuntimeError } from '@/error';\n\nimport type { ModuleManager } from '../../moduleManager';\nimport type { GenerateSignature, Web3Provider } from '../../types';\nimport { clerkUnsupportedEnvironmentWarning } from './errors';\nimport { toHex } from './hex';\nimport { getInjectedWeb3EthProviders } from './injectedWeb3EthProviders';\nimport { getInjectedWeb3SolanaProviders } from './injectedWeb3SolanaProviders';\n\ntype GetWeb3IdentifierParams = {\n provider: Web3Provider;\n walletName?: string;\n};\n\n// '@solana/wallet-standard'\nconst StandardConnect = `standard:connect`;\nconst SolanaSignMessage = `solana:signMessage`;\n\ntype GenerateSignatureParams = {\n identifier: string;\n nonce: string;\n};\n\ntype GenerateSolanaSignatureParams = GenerateSignatureParams & {\n walletName: string;\n};\n\nexport function createWeb3(moduleManager: ModuleManager) {\n const errorThrower = buildErrorThrower({\n packageName: '@clerk/shared',\n });\n\n async function getWeb3Identifier(params: GetWeb3IdentifierParams): Promise<string> {\n const { provider, walletName } = params;\n const walletProvider = await getWeb3Wallet(provider, walletName);\n\n // TODO - core-3: Improve error handling for the case when the provider is not found\n if (!walletProvider) {\n // If a plugin for the requested provider is not found,\n // the flow will fail as it has been the expected behavior so far.\n return '';\n }\n\n if (provider === 'solana') {\n const identifiers = await walletProvider.features[StandardConnect].connect();\n return (identifiers && identifiers.accounts[0].address) || '';\n }\n\n // Ethereum providers\n const identifiers = await walletProvider.request({ method: 'eth_requestAccounts' });\n // @ts-ignore -- Provider SDKs may return unknown shape; use first address if present\n return (identifiers && identifiers[0]) || '';\n }\n\n const generateWeb3Signature: GenerateSignature = async (params): Promise<string> => {\n const { identifier, nonce, provider, walletName = '' } = params;\n const wallet = await getWeb3Wallet(provider, walletName);\n\n // TODO - core-3: Improve error handling for the case when the provider is not found\n if (!wallet) {\n // If a plugin for the requested provider is not found,\n // the flow will fail as it has been the expected behavior so far.\n return '';\n }\n\n if (provider === 'solana') {\n try {\n const solanaWallet = wallet as SolanaWalletAdapterWallet;\n const walletAccount = solanaWallet.accounts.find(a => a.address === identifier);\n if (!walletAccount) {\n console.warn(`Wallet account with address ${identifier} not found`);\n return '';\n }\n const signedMessages = await solanaWallet.features[SolanaSignMessage]?.signMessage({\n account: walletAccount,\n message: new TextEncoder().encode(nonce),\n });\n // Convert signature Uint8Array to base64 string\n return signedMessages?.[0]?.signature ? btoa(String.fromCharCode(...signedMessages[0].signature)) : '';\n } catch (err) {\n if (err instanceof Error && err.message.includes('User rejected the request.')) {\n throw new ClerkRuntimeError('Web3 signature request was rejected by the user.', {\n code: 'web3_signature_request_rejected',\n });\n }\n throw new ClerkRuntimeError('An error occurred while generating the Solana signature.', {\n code: 'web3_solana_signature_generation_failed',\n cause: err instanceof Error ? err : undefined,\n });\n }\n }\n\n return await wallet.request({\n method: 'personal_sign',\n params: [`0x${toHex(nonce)}`, identifier],\n });\n };\n\n async function getMetamaskIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'metamask' });\n }\n\n async function getCoinbaseWalletIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'coinbase_wallet' });\n }\n\n async function getOKXWalletIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'okx_wallet' });\n }\n\n async function getBaseIdentifier(): Promise<string> {\n return await getWeb3Identifier({ provider: 'base' });\n }\n\n async function getSolanaIdentifier(walletName: string): Promise<string> {\n return await getWeb3Identifier({ provider: 'solana', walletName });\n }\n\n async function generateSignatureWithMetamask(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'metamask' });\n }\n\n async function generateSignatureWithCoinbaseWallet(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'coinbase_wallet' });\n }\n\n async function generateSignatureWithOKXWallet(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'okx_wallet' });\n }\n\n async function generateSignatureWithBase(params: GenerateSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'base' });\n }\n async function generateSignatureWithSolana(params: GenerateSolanaSignatureParams): Promise<string> {\n return await generateWeb3Signature({ ...params, provider: 'solana' });\n }\n\n async function getWeb3Wallet(provider: Web3Provider, walletName?: string) {\n if (provider === 'coinbase_wallet') {\n if (__BUILD_DISABLE_RHC__) {\n clerkUnsupportedEnvironmentWarning('Coinbase Wallet');\n return null;\n }\n\n const coinbaseModule = await moduleManager.import('@coinbase/wallet-sdk');\n if (!coinbaseModule) {\n return null;\n }\n const sdk = coinbaseModule.createCoinbaseWalletSDK({\n appName:\n (typeof window !== 'undefined' &&\n // @ts-expect-error missing types\n (window.Clerk as any)?.__internal_environment?.displayConfig?.applicationName) ||\n (typeof document !== 'undefined' && document.title) ||\n 'Web3 Application',\n preference: {\n options: 'all',\n },\n });\n return sdk.getProvider();\n }\n\n if (provider === 'base') {\n if (__BUILD_DISABLE_RHC__) {\n clerkUnsupportedEnvironmentWarning('Base');\n return null;\n }\n\n try {\n const baseModule = await moduleManager.import('@base-org/account');\n if (!baseModule) {\n return null;\n }\n\n const sdk = baseModule.createBaseAccountSDK({\n appName:\n (typeof window !== 'undefined' &&\n // @ts-expect-error missing types\n (window.Clerk as any)?.__internal_environment?.displayConfig?.applicationName) ||\n (typeof document !== 'undefined' && document.title) ||\n 'Web3 Application',\n });\n return sdk.getProvider();\n } catch {\n return null;\n }\n }\n\n if (provider === 'solana') {\n if (!walletName || walletName.length === 0) {\n errorThrower.throw('Wallet name must be provided to get Solana wallet provider');\n return;\n }\n return await getInjectedWeb3SolanaProviders().get(walletName);\n }\n\n return getInjectedWeb3EthProviders().get(provider);\n }\n\n return {\n getWeb3Identifier,\n generateWeb3Signature,\n getMetamaskIdentifier,\n getCoinbaseWalletIdentifier,\n getOKXWalletIdentifier,\n getBaseIdentifier,\n getSolanaIdentifier,\n generateSignatureWithMetamask,\n generateSignatureWithCoinbaseWallet,\n generateSignatureWithOKXWallet,\n generateSignatureWithBase,\n generateSignatureWithSolana,\n };\n}\n"],"mappings":"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"}
@@ -8,7 +8,7 @@ const require_loadScript = require('./loadScript-CW1MV2O0.js');
8
8
  const require_proxy = require('./proxy-BVlsuX5g.js');
9
9
  require('./instance-DykLn3Pi.js');
10
10
  const require_url = require('./url-DwWU8E5q.js');
11
- const require_versionSelector = require('./versionSelector-DEMH4ABr.js');
11
+ const require_versionSelector = require('./versionSelector-JmRNTU5K.js');
12
12
 
13
13
  //#region src/loadClerkJsScript.ts
14
14
  const { isDevOrStagingUrl } = require_keys.createDevOrStagingUrlCache();
@@ -147,7 +147,7 @@ const clerkUiScriptUrl = (opts) => {
147
147
  publishableKey,
148
148
  proxyUrl,
149
149
  domain
150
- })}/npm/@clerk/ui@${require_versionSelector.versionSelector(clerkUiVersion, "1.0.0-canary.v20260106140304")}/dist/ui.browser.js`;
150
+ })}/npm/@clerk/ui@${require_versionSelector.versionSelector(clerkUiVersion, "1.0.0-canary.v20260107132806")}/dist/ui.browser.js`;
151
151
  };
152
152
  const buildClerkJsScriptAttributes = (options) => {
153
153
  const obj = {};
@@ -8,7 +8,7 @@ import { t as loadScript } from "./loadScript-CHWOPTAN.mjs";
8
8
  import { i as proxyUrlToAbsoluteURL, r as isValidProxyUrl } from "./proxy-C0HjCApu.mjs";
9
9
  import "./instance-DniYMiU-.mjs";
10
10
  import { t as addClerkPrefix } from "./url-DasDWsj9.mjs";
11
- import { n as versionSelector } from "./versionSelector-DzxtDuCd.mjs";
11
+ import { n as versionSelector } from "./versionSelector-DHDv9BAM.mjs";
12
12
 
13
13
  //#region src/loadClerkJsScript.ts
14
14
  const { isDevOrStagingUrl } = createDevOrStagingUrlCache();
@@ -147,7 +147,7 @@ const clerkUiScriptUrl = (opts) => {
147
147
  publishableKey,
148
148
  proxyUrl,
149
149
  domain
150
- })}/npm/@clerk/ui@${versionSelector(clerkUiVersion, "1.0.0-canary.v20260106140304")}/dist/ui.browser.js`;
150
+ })}/npm/@clerk/ui@${versionSelector(clerkUiVersion, "1.0.0-canary.v20260107132806")}/dist/ui.browser.js`;
151
151
  };
152
152
  const buildClerkJsScriptAttributes = (options) => {
153
153
  const obj = {};
@@ -1 +1 @@
1
- {"version":3,"file":"poller.d.ts","names":[],"sources":["../../src/poller.ts"],"sourcesContent":[],"mappings":";KAEY,UAAA;AAAA,KACA,cAAA,GADU,CAAA,IAAA,EACc,UADd,EAAA,GAC6B,OAD7B,CAAA,OAAA,CAAA;AACV,KACA,SAAA,GADc,CAAA,EAAA,EACG,cADO,EAAA,GACY,OADU,CAAA,IAAA,CAAA;AAC1D,KAEK,aAAA,GAFgB;EAEhB,SAAA,EAAA,MAAa;AAIlB,CAAA;AAQgB,KARJ,MAAA,GAQU;EAAG,GAAA,EAPlB,SAOkB;EAAa,IAAA,EAN9B,UAM8B;CAAsC;;;;iBAA5D,MAAA;;IAAsB,gBAAsC"}
1
+ {"version":3,"file":"poller.d.ts","names":[],"sources":["../../src/poller.ts"],"sourcesContent":[],"mappings":";KAEY,UAAA;AAAA,KACA,cAAA,GADU,CAAA,IAAA,EACc,UADd,EAAA,GAC6B,OAD7B,CAAA,OAAA,CAAA;AACV,KACA,SAAA,GADc,CAAA,EAAA,EACG,cADO,EAAe,GACH,OADU,CAAA,IAAA,CAAA;AAC1D,KAEK,aAAA,GAFgB;EAEhB,SAAA,EAAA,MAAa;AAIlB,CAAA;AAQgB,KARJ,MAAA,GAQU;EAAG,GAAA,EAPlB,SAOkB;EAAa,IAAA,EAN9B,UAM8B;CAAsC;;;;iBAA5D,MAAA;;IAAsB,gBAAsC"}
@@ -10,7 +10,7 @@
10
10
  * @param packageVersion - The version of `@clerk/clerk-js` that will be used if an explicit version is not provided
11
11
  * @returns The npm tag, version or major version to use
12
12
  */
13
- const versionSelector = (clerkJSVersion, packageVersion = "6.0.0-canary.v20260106140304") => {
13
+ const versionSelector = (clerkJSVersion, packageVersion = "6.0.0-canary.v20260107132806") => {
14
14
  if (clerkJSVersion) return clerkJSVersion;
15
15
  const prereleaseTag = getPrereleaseTag(packageVersion);
16
16
  if (prereleaseTag) {
@@ -24,4 +24,4 @@ const getMajorVersion = (packageVersion) => packageVersion.trim().replace(/^v/,
24
24
 
25
25
  //#endregion
26
26
  export { versionSelector as n, getMajorVersion as t };
27
- //# sourceMappingURL=versionSelector-DzxtDuCd.mjs.map
27
+ //# sourceMappingURL=versionSelector-DHDv9BAM.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"versionSelector-DzxtDuCd.mjs","names":[],"sources":["../../src/versionSelector.ts"],"sourcesContent":["/**\n * This version selector is a bit complicated, so here is the flow:\n * 1. Use the clerkJSVersion prop on the provider\n * 2. Use the exact `@clerk/clerk-js` version if it is a `@snapshot` prerelease\n * 3. Use the prerelease tag of `@clerk/clerk-js` or the packageVersion provided\n * 4. Fallback to the major version of `@clerk/clerk-js` or the packageVersion provided\n *\n * @param clerkJSVersion - The optional clerkJSVersion prop on the provider\n * @param packageVersion - The version of `@clerk/clerk-js` that will be used if an explicit version is not provided\n * @returns The npm tag, version or major version to use\n */\nexport const versionSelector = (clerkJSVersion: string | undefined, packageVersion = JS_PACKAGE_VERSION) => {\n if (clerkJSVersion) {\n return clerkJSVersion;\n }\n\n const prereleaseTag = getPrereleaseTag(packageVersion);\n if (prereleaseTag) {\n if (prereleaseTag === 'snapshot') {\n return packageVersion;\n }\n\n return prereleaseTag;\n }\n\n return getMajorVersion(packageVersion);\n};\n\nconst getPrereleaseTag = (packageVersion: string) =>\n packageVersion\n .trim()\n .replace(/^v/, '')\n .match(/-(.+?)(\\.|$)/)?.[1];\n\nexport const getMajorVersion = (packageVersion: string) => packageVersion.trim().replace(/^v/, '').split('.')[0];\n"],"mappings":";;;;;;;;;;;;AAWA,MAAa,mBAAmB,gBAAoC,oDAAwC;AAC1G,KAAI,eACF,QAAO;CAGT,MAAM,gBAAgB,iBAAiB,eAAe;AACtD,KAAI,eAAe;AACjB,MAAI,kBAAkB,WACpB,QAAO;AAGT,SAAO;;AAGT,QAAO,gBAAgB,eAAe;;AAGxC,MAAM,oBAAoB,mBACxB,eACG,MAAM,CACN,QAAQ,MAAM,GAAG,CACjB,MAAM,eAAe,GAAG;AAE7B,MAAa,mBAAmB,mBAA2B,eAAe,MAAM,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC"}
1
+ {"version":3,"file":"versionSelector-DHDv9BAM.mjs","names":[],"sources":["../../src/versionSelector.ts"],"sourcesContent":["/**\n * This version selector is a bit complicated, so here is the flow:\n * 1. Use the clerkJSVersion prop on the provider\n * 2. Use the exact `@clerk/clerk-js` version if it is a `@snapshot` prerelease\n * 3. Use the prerelease tag of `@clerk/clerk-js` or the packageVersion provided\n * 4. Fallback to the major version of `@clerk/clerk-js` or the packageVersion provided\n *\n * @param clerkJSVersion - The optional clerkJSVersion prop on the provider\n * @param packageVersion - The version of `@clerk/clerk-js` that will be used if an explicit version is not provided\n * @returns The npm tag, version or major version to use\n */\nexport const versionSelector = (clerkJSVersion: string | undefined, packageVersion = JS_PACKAGE_VERSION) => {\n if (clerkJSVersion) {\n return clerkJSVersion;\n }\n\n const prereleaseTag = getPrereleaseTag(packageVersion);\n if (prereleaseTag) {\n if (prereleaseTag === 'snapshot') {\n return packageVersion;\n }\n\n return prereleaseTag;\n }\n\n return getMajorVersion(packageVersion);\n};\n\nconst getPrereleaseTag = (packageVersion: string) =>\n packageVersion\n .trim()\n .replace(/^v/, '')\n .match(/-(.+?)(\\.|$)/)?.[1];\n\nexport const getMajorVersion = (packageVersion: string) => packageVersion.trim().replace(/^v/, '').split('.')[0];\n"],"mappings":";;;;;;;;;;;;AAWA,MAAa,mBAAmB,gBAAoC,oDAAwC;AAC1G,KAAI,eACF,QAAO;CAGT,MAAM,gBAAgB,iBAAiB,eAAe;AACtD,KAAI,eAAe;AACjB,MAAI,kBAAkB,WACpB,QAAO;AAGT,SAAO;;AAGT,QAAO,gBAAgB,eAAe;;AAGxC,MAAM,oBAAoB,mBACxB,eACG,MAAM,CACN,QAAQ,MAAM,GAAG,CACjB,MAAM,eAAe,GAAG;AAE7B,MAAa,mBAAmB,mBAA2B,eAAe,MAAM,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC"}
@@ -11,7 +11,7 @@
11
11
  * @param packageVersion - The version of `@clerk/clerk-js` that will be used if an explicit version is not provided
12
12
  * @returns The npm tag, version or major version to use
13
13
  */
14
- const versionSelector = (clerkJSVersion, packageVersion = "6.0.0-canary.v20260106140304") => {
14
+ const versionSelector = (clerkJSVersion, packageVersion = "6.0.0-canary.v20260107132806") => {
15
15
  if (clerkJSVersion) return clerkJSVersion;
16
16
  const prereleaseTag = getPrereleaseTag(packageVersion);
17
17
  if (prereleaseTag) {
@@ -36,4 +36,4 @@ Object.defineProperty(exports, 'versionSelector', {
36
36
  return versionSelector;
37
37
  }
38
38
  });
39
- //# sourceMappingURL=versionSelector-DEMH4ABr.js.map
39
+ //# sourceMappingURL=versionSelector-JmRNTU5K.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versionSelector-DEMH4ABr.js","names":[],"sources":["../../src/versionSelector.ts"],"sourcesContent":["/**\n * This version selector is a bit complicated, so here is the flow:\n * 1. Use the clerkJSVersion prop on the provider\n * 2. Use the exact `@clerk/clerk-js` version if it is a `@snapshot` prerelease\n * 3. Use the prerelease tag of `@clerk/clerk-js` or the packageVersion provided\n * 4. Fallback to the major version of `@clerk/clerk-js` or the packageVersion provided\n *\n * @param clerkJSVersion - The optional clerkJSVersion prop on the provider\n * @param packageVersion - The version of `@clerk/clerk-js` that will be used if an explicit version is not provided\n * @returns The npm tag, version or major version to use\n */\nexport const versionSelector = (clerkJSVersion: string | undefined, packageVersion = JS_PACKAGE_VERSION) => {\n if (clerkJSVersion) {\n return clerkJSVersion;\n }\n\n const prereleaseTag = getPrereleaseTag(packageVersion);\n if (prereleaseTag) {\n if (prereleaseTag === 'snapshot') {\n return packageVersion;\n }\n\n return prereleaseTag;\n }\n\n return getMajorVersion(packageVersion);\n};\n\nconst getPrereleaseTag = (packageVersion: string) =>\n packageVersion\n .trim()\n .replace(/^v/, '')\n .match(/-(.+?)(\\.|$)/)?.[1];\n\nexport const getMajorVersion = (packageVersion: string) => packageVersion.trim().replace(/^v/, '').split('.')[0];\n"],"mappings":";;;;;;;;;;;;;AAWA,MAAa,mBAAmB,gBAAoC,oDAAwC;AAC1G,KAAI,eACF,QAAO;CAGT,MAAM,gBAAgB,iBAAiB,eAAe;AACtD,KAAI,eAAe;AACjB,MAAI,kBAAkB,WACpB,QAAO;AAGT,SAAO;;AAGT,QAAO,gBAAgB,eAAe;;AAGxC,MAAM,oBAAoB,mBACxB,eACG,MAAM,CACN,QAAQ,MAAM,GAAG,CACjB,MAAM,eAAe,GAAG;AAE7B,MAAa,mBAAmB,mBAA2B,eAAe,MAAM,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC"}
1
+ {"version":3,"file":"versionSelector-JmRNTU5K.js","names":[],"sources":["../../src/versionSelector.ts"],"sourcesContent":["/**\n * This version selector is a bit complicated, so here is the flow:\n * 1. Use the clerkJSVersion prop on the provider\n * 2. Use the exact `@clerk/clerk-js` version if it is a `@snapshot` prerelease\n * 3. Use the prerelease tag of `@clerk/clerk-js` or the packageVersion provided\n * 4. Fallback to the major version of `@clerk/clerk-js` or the packageVersion provided\n *\n * @param clerkJSVersion - The optional clerkJSVersion prop on the provider\n * @param packageVersion - The version of `@clerk/clerk-js` that will be used if an explicit version is not provided\n * @returns The npm tag, version or major version to use\n */\nexport const versionSelector = (clerkJSVersion: string | undefined, packageVersion = JS_PACKAGE_VERSION) => {\n if (clerkJSVersion) {\n return clerkJSVersion;\n }\n\n const prereleaseTag = getPrereleaseTag(packageVersion);\n if (prereleaseTag) {\n if (prereleaseTag === 'snapshot') {\n return packageVersion;\n }\n\n return prereleaseTag;\n }\n\n return getMajorVersion(packageVersion);\n};\n\nconst getPrereleaseTag = (packageVersion: string) =>\n packageVersion\n .trim()\n .replace(/^v/, '')\n .match(/-(.+?)(\\.|$)/)?.[1];\n\nexport const getMajorVersion = (packageVersion: string) => packageVersion.trim().replace(/^v/, '').split('.')[0];\n"],"mappings":";;;;;;;;;;;;;AAWA,MAAa,mBAAmB,gBAAoC,oDAAwC;AAC1G,KAAI,eACF,QAAO;CAGT,MAAM,gBAAgB,iBAAiB,eAAe;AACtD,KAAI,eAAe;AACjB,MAAI,kBAAkB,WACpB,QAAO;AAGT,SAAO;;AAGT,QAAO,gBAAgB,eAAe;;AAGxC,MAAM,oBAAoB,mBACxB,eACG,MAAM,CACN,QAAQ,MAAM,GAAG,CACjB,MAAM,eAAe,GAAG;AAE7B,MAAa,mBAAmB,mBAA2B,eAAe,MAAM,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC"}
@@ -1,4 +1,4 @@
1
- const require_versionSelector = require('./versionSelector-DEMH4ABr.js');
1
+ const require_versionSelector = require('./versionSelector-JmRNTU5K.js');
2
2
 
3
3
  exports.getMajorVersion = require_versionSelector.getMajorVersion;
4
4
  exports.versionSelector = require_versionSelector.versionSelector;
@@ -1,3 +1,3 @@
1
- import { n as versionSelector, t as getMajorVersion } from "./versionSelector-DzxtDuCd.mjs";
1
+ import { n as versionSelector, t as getMajorVersion } from "./versionSelector-DHDv9BAM.mjs";
2
2
 
3
3
  export { getMajorVersion, versionSelector };