diff --git a/docs/_partials/billing/add-new-payment-method.mdx b/docs/_partials/billing/add-new-payment-method.mdx index 7a310509e0..36e255b395 100644 --- a/docs/_partials/billing/add-new-payment-method.mdx +++ b/docs/_partials/billing/add-new-payment-method.mdx @@ -87,8 +87,8 @@ The following example demonstrates how to create a billing page where a user can ", ""]}> ```tsx {{ filename: 'src/pages/user/billing/page.tsx' }} - import { ClerkLoaded } from '@clerk/clerk-react' - import { PaymentElementProvider } from '@clerk/clerk-react/experimental' + import { ClerkLoaded } from '@clerk/react' + import { PaymentElementProvider } from '@clerk/react/experimental' import { AddPaymentMethodForm } from './AddPaymentMethodForm' export default function Page() { @@ -107,8 +107,8 @@ The following example demonstrates how to create a billing page where a user can ``` ```tsx {{ filename: 'src/pages/user/billing/AddPaymentMethodForm.tsx', collapsible: true }} - import { useUser } from '@clerk/clerk-react' - import { usePaymentElement, PaymentElement } from '@clerk/clerk-react/experimental' + import { useUser } from '@clerk/react' + import { usePaymentElement, PaymentElement } from '@clerk/react/experimental' import { useState } from 'react' export function AddPaymentMethodForm() { diff --git a/docs/_partials/billing/checking-feature-using-has-function.mdx b/docs/_partials/billing/checking-feature-using-has-function.mdx index ef61309eed..7e6d67fdcd 100644 --- a/docs/_partials/billing/checking-feature-using-has-function.mdx +++ b/docs/_partials/billing/checking-feature-using-has-function.mdx @@ -120,7 +120,7 @@ ```tsx {{ filename: 'src/pages/premium-content.tsx' }} - import { useAuth } from '@clerk/clerk-react' + import { useAuth } from '@clerk/react' export default function PremiumContentPage() { const { isLoaded, has } = useAuth() @@ -214,7 +214,7 @@ ```tsx {{ filename: 'app/(home)/premium-content.tsx' }} - import { useAuth } from '@clerk/clerk-expo' + import { useAuth } from '@clerk/expo' import { Text } from 'react-native' export default function PremiumContentPage() { diff --git a/docs/_partials/billing/checking-feature-using-protect.mdx b/docs/_partials/billing/checking-feature-using-protect.mdx index a78ce30404..f85b2d8557 100644 --- a/docs/_partials/billing/checking-feature-using-protect.mdx +++ b/docs/_partials/billing/checking-feature-using-protect.mdx @@ -84,7 +84,7 @@ ```tsx {{ filename: 'src/pages/protected-premium-content.tsx' }} - import { Protect } from '@clerk/clerk-react' + import { Protect } from '@clerk/react' export default function ProtectedPremiumContentPage() { return ( @@ -166,7 +166,7 @@ ```tsx {{ filename: 'app/(home)/protected-premium-content.tsx' }} - import { Protect } from '@clerk/clerk-expo' + import { Protect } from '@clerk/expo' import { Text, View } from 'react-native' export default function ProtectedPremiumContentPage() { diff --git a/docs/_partials/billing/checking-permission-using-has-function.mdx b/docs/_partials/billing/checking-permission-using-has-function.mdx index 4d6fcb513c..b8b5981158 100644 --- a/docs/_partials/billing/checking-permission-using-has-function.mdx +++ b/docs/_partials/billing/checking-permission-using-has-function.mdx @@ -132,7 +132,7 @@ ```tsx {{ filename: 'src/pages/manage-premium-content.tsx' }} - import { useAuth } from '@clerk/clerk-react' + import { useAuth } from '@clerk/react' export default function ManagePremiumContentPage() { const { has, isLoaded } = useAuth() @@ -236,7 +236,7 @@ ```tsx {{ filename: 'app/(home)/manage-premium-content.tsx' }} - import { useAuth } from '@clerk/clerk-expo' + import { useAuth } from '@clerk/expo' import { Text } from 'react-native' export default function ManagePremiumContentPage() { diff --git a/docs/_partials/billing/checking-permission-using-protect.mdx b/docs/_partials/billing/checking-permission-using-protect.mdx index e8c6fca4fb..4565733b1e 100644 --- a/docs/_partials/billing/checking-permission-using-protect.mdx +++ b/docs/_partials/billing/checking-permission-using-protect.mdx @@ -88,7 +88,7 @@ ```tsx {{ filename: 'src/pages/protected-manage-content.tsx' }} - import { Protect } from '@clerk/clerk-react' + import { Protect } from '@clerk/react' export default function ProtectedManageContentPage() { return ( @@ -178,7 +178,7 @@ ```tsx {{ filename: 'app/(home)/protected-manage-content.tsx' }} - import { Protect } from '@clerk/clerk-expo' + import { Protect } from '@clerk/expo' import { Text, View } from 'react-native' export default function ProtectedManageContentPage() { diff --git a/docs/_partials/billing/checking-plan-using-has-function.mdx b/docs/_partials/billing/checking-plan-using-has-function.mdx index 11b7e84a01..44d772103b 100644 --- a/docs/_partials/billing/checking-plan-using-has-function.mdx +++ b/docs/_partials/billing/checking-plan-using-has-function.mdx @@ -116,7 +116,7 @@ ```tsx {{ filename: 'src/pages/bronze-content.tsx' }} - import { useAuth } from '@clerk/clerk-react' + import { useAuth } from '@clerk/react' export default function BronzeContentPage() { const { has, isLoaded } = useAuth() @@ -206,7 +206,7 @@ ```tsx {{ filename: 'app/(home)/bronze-content.tsx' }} - import { useAuth } from '@clerk/clerk-expo' + import { useAuth } from '@clerk/expo' import { Text } from 'react-native' export default function BronzeContentPage() { diff --git a/docs/_partials/billing/checking-plan-using-protect.mdx b/docs/_partials/billing/checking-plan-using-protect.mdx index 39b4f146ab..35063ce8f5 100644 --- a/docs/_partials/billing/checking-plan-using-protect.mdx +++ b/docs/_partials/billing/checking-plan-using-protect.mdx @@ -78,7 +78,7 @@ ```tsx {{ filename: 'src/pages/protected-content.tsx' }} - import { Protect } from '@clerk/clerk-react' + import { Protect } from '@clerk/react' export default function ProtectedContentPage() { return ( @@ -160,7 +160,7 @@ ```tsx {{ filename: 'app/(home)/protected-content.tsx' }} - import { Protect } from '@clerk/clerk-expo' + import { Protect } from '@clerk/expo' import { Text } from 'react-native' export default function ProtectedContentPage() { diff --git a/docs/_partials/billing/create-a-pricing-table.mdx b/docs/_partials/billing/create-a-pricing-table.mdx index 2ece553f44..38fbd5ff40 100644 --- a/docs/_partials/billing/create-a-pricing-table.mdx +++ b/docs/_partials/billing/create-a-pricing-table.mdx @@ -77,7 +77,7 @@ ```tsx {{ filename: 'src/screens/pricing.tsx' }} - import { PricingTable } from '@clerk/clerk-react' + import { PricingTable } from '@clerk/react' export default function PricingScreen() { return ( @@ -146,7 +146,7 @@ > Expo only supports the `` component on the **web**. ```tsx {{ filename: 'app/(home)/pricing.tsx' }} - import { PricingTable } from '@clerk/clerk-expo/web' + import { PricingTable } from '@clerk/expo/web' import { View } from 'react-native' export default function PricingPage() { diff --git a/docs/_partials/billing/create-an-organization-pricing-table.mdx b/docs/_partials/billing/create-an-organization-pricing-table.mdx index aa4d15193e..7f351d30c4 100644 --- a/docs/_partials/billing/create-an-organization-pricing-table.mdx +++ b/docs/_partials/billing/create-an-organization-pricing-table.mdx @@ -77,7 +77,7 @@ ```tsx {{ filename: 'src/screens/pricing.tsx' }} - import { PricingTable } from '@clerk/clerk-react' + import { PricingTable } from '@clerk/react' export default function PricingScreen() { return ( @@ -146,7 +146,7 @@ > Expo only supports the `` component on the **web**. ```tsx {{ filename: 'app/(home)/pricing.tsx' }} - import { PricingTable } from '@clerk/clerk-expo/web' + import { PricingTable } from '@clerk/expo/web' import { View } from 'react-native' export default function PricingPage() { diff --git a/docs/_partials/control-components-with-clerkdegraded.mdx b/docs/_partials/control-components-with-clerkdegraded.mdx index 68016780d1..10e6e72716 100644 --- a/docs/_partials/control-components-with-clerkdegraded.mdx +++ b/docs/_partials/control-components-with-clerkdegraded.mdx @@ -52,7 +52,7 @@ ```tsx {{ filename: 'src/App.tsx' }} - import { ClerkLoaded, ClerkLoading, ClerkDegraded, ClerkFailed } from '@clerk/clerk-react' + import { ClerkLoaded, ClerkLoading, ClerkDegraded, ClerkFailed } from '@clerk/react' export default function App() { return ( diff --git a/docs/_partials/expo/sign-out-custom-flow.mdx b/docs/_partials/expo/sign-out-custom-flow.mdx index 1a4c5537c8..d1fc143a58 100644 --- a/docs/_partials/expo/sign-out-custom-flow.mdx +++ b/docs/_partials/expo/sign-out-custom-flow.mdx @@ -1,5 +1,5 @@ ```tsx {{ filename: 'app/components/SignOutButton.tsx', collapsible: true }} -import { useClerk } from '@clerk/clerk-expo' +import { useClerk } from '@clerk/expo' import { useRouter } from 'expo-router' import { Text, TouchableOpacity } from 'react-native' diff --git a/docs/_partials/expo/use-sign-in-with-apple-example.mdx b/docs/_partials/expo/use-sign-in-with-apple-example.mdx index 144a234fd7..96214bf1ca 100644 --- a/docs/_partials/expo/use-sign-in-with-apple-example.mdx +++ b/docs/_partials/expo/use-sign-in-with-apple-example.mdx @@ -1,7 +1,7 @@ The following example demonstrates how to use the [`useSignInWithApple()`](/docs/reference/expo/use-sign-in-with-apple) hook to manage the Apple authentication flow. Because the `useSignInWithApple()` hook automatically manages the [transfer flow](!transfer-flow) between sign-up and sign-in, you can use this component for both your sign-up and sign-in pages. ```tsx {{ filename: 'components/AppleSignInButton.tsx', collapsible: true }} -import { useSignInWithApple } from '@clerk/clerk-expo' +import { useSignInWithApple } from '@clerk/expo' import { useRouter } from 'expo-router' import { Alert, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native' diff --git a/docs/_partials/reverification-callout.mdx b/docs/_partials/reverification-callout.mdx index c1a78929f3..975f9e4120 100644 --- a/docs/_partials/reverification-callout.mdx +++ b/docs/_partials/reverification-callout.mdx @@ -1,3 +1,8 @@ > [!WARNING] > -> Depending on the SDK you're using, this feature requires `@clerk/nextjs@6.12.7` or later, `@clerk/clerk-react@5.25.1` or later, `@clerk/clerk-js@5.57.1` or later and `@clerk/clerk-sdk-ruby@3.3.0` or later. +> This feature requires one of the following SDKS: +> +> - `@clerk/nextjs@6.12.7` or later +> - `@clerk/react`, or `@clerk/clerk-react@5.25.1` or later +> - `@clerk/clerk-js@5.57.1` or later +> - `@clerk/clerk-sdk-ruby@3.3.0` or later diff --git a/docs/getting-started/quickstart.expo.mdx b/docs/getting-started/quickstart.expo.mdx index ca7517323e..2ed35a6a2e 100644 --- a/docs/getting-started/quickstart.expo.mdx +++ b/docs/getting-started/quickstart.expo.mdx @@ -30,14 +30,14 @@ sdk: expo - ## Install `@clerk/clerk-expo` + ## Install `@clerk/expo` The [Clerk Expo SDK](/docs/reference/expo/overview) gives you access to prebuilt components, hooks, and helpers to make user authentication easier. Run the following command to install the SDK: ```npm - npm install @clerk/clerk-expo + npm install @clerk/expo ``` ## Set your Clerk API keys @@ -71,7 +71,7 @@ sdk: expo Add the component to your root layout as shown in the following example: ```tsx {{ filename: 'app/_layout.tsx', mark: [1, 6, 8] }} - import { ClerkProvider } from '@clerk/clerk-expo' + import { ClerkProvider } from '@clerk/expo' import { Slot } from 'expo-router' export default function RootLayout() { @@ -97,8 +97,8 @@ sdk: expo 1. Update your root layout to use the secure token cache: ```tsx {{ filename: 'app/_layout.tsx', mark: [2, 7] }} - import { ClerkProvider } from '@clerk/clerk-expo' - import { tokenCache } from '@clerk/clerk-expo/token-cache' + import { ClerkProvider } from '@clerk/expo' + import { tokenCache } from '@clerk/expo/token-cache' import { Slot } from 'expo-router' export default function RootLayout() { @@ -126,7 +126,7 @@ sdk: expo ```tsx {{ filename: 'app/(auth)/_layout.tsx' }} import { Redirect, Stack } from 'expo-router' - import { useAuth } from '@clerk/clerk-expo' + import { useAuth } from '@clerk/expo' export default function AuthRoutesLayout() { const { isSignedIn } = useAuth() @@ -146,7 +146,7 @@ sdk: expo ```tsx {{ filename: 'app/(auth)/sign-up.tsx', collapsible: true }} import * as React from 'react' import { Text, TextInput, TouchableOpacity, View } from 'react-native' - import { useSignUp } from '@clerk/clerk-expo' + import { useSignUp } from '@clerk/expo' import { Link, useRouter } from 'expo-router' export default function SignUpScreen() { @@ -263,7 +263,7 @@ sdk: expo In the `(auth)` group, create a `sign-in.tsx` file with the following code. The [`useSignIn()`](/docs/reference/hooks/use-sign-in) hook is used to create a sign-in flow. The user can sign in using email address and password, or navigate to the sign-up page. ```tsx {{ filename: 'app/(auth)/sign-in.tsx', collapsible: true }} - import { useSignIn } from '@clerk/clerk-expo' + import { useSignIn } from '@clerk/expo' import { Link, useRouter } from 'expo-router' import { Text, TextInput, TouchableOpacity, View } from 'react-native' import React from 'react' @@ -365,7 +365,7 @@ sdk: expo Then, in the same folder, create an `index.tsx` file with the following code. If the user is signed in, it displays their email and a sign-out button. If they're not signed in, it displays sign-in and sign-up links. ```tsx {{ filename: 'app/(home)/index.tsx' }} - import { SignedIn, SignedOut, useUser } from '@clerk/clerk-expo' + import { SignedIn, SignedOut, useUser } from '@clerk/expo' import { Link } from 'expo-router' import { Text, View } from 'react-native' import { SignOutButton } from '@/app/components/SignOutButton' diff --git a/docs/getting-started/quickstart.react.mdx b/docs/getting-started/quickstart.react.mdx index 657bfb3d70..a4d93bc0e6 100644 --- a/docs/getting-started/quickstart.react.mdx +++ b/docs/getting-started/quickstart.react.mdx @@ -20,14 +20,14 @@ This tutorial will demonstrate how to create a new React app using Vite and add npm run dev ``` - ## Install `@clerk/clerk-react` + ## Install `@clerk/react` The [Clerk React SDK](/docs/reference/react/overview) gives you access to prebuilt components, hooks, and helpers to make user authentication easier. Run the following command to install the SDK: ```npm - npm install @clerk/clerk-react + npm install @clerk/react ``` ## Set your Clerk API keys @@ -89,7 +89,7 @@ This tutorial will demonstrate how to create a new React app using Vite and add import { createRoot } from 'react-dom/client' import './index.css' import App from './App.tsx' - import { ClerkProvider } from '@clerk/clerk-react' + import { ClerkProvider } from '@clerk/react' // Import your Publishable Key const PUBLISHABLE_KEY = import.meta.env.VITE_CLERK_PUBLISHABLE_KEY @@ -117,7 +117,7 @@ This tutorial will demonstrate how to create a new React app using Vite and add - [``](/docs/reference/components/unstyled/sign-in-button): An unstyled component that links to the sign-in page. In this example, since no props or [environment variables](/docs/guides/development/clerk-environment-variables) are set for the sign-in URL, this component links to the [Account Portal sign-in page](/docs/guides/customizing-clerk/account-portal#sign-in). ```tsx {{ filename: 'src/App.tsx', mark: [1, [5, 12]] }} - import { SignedIn, SignedOut, SignInButton, UserButton } from '@clerk/clerk-react' + import { SignedIn, SignedOut, SignInButton, UserButton } from '@clerk/react' export default function App() { return ( diff --git a/docs/guides/customizing-clerk/appearance-prop/captcha.mdx b/docs/guides/customizing-clerk/appearance-prop/captcha.mdx index c58798abb9..50cdf0542d 100644 --- a/docs/guides/customizing-clerk/appearance-prop/captcha.mdx +++ b/docs/guides/customizing-clerk/appearance-prop/captcha.mdx @@ -79,7 +79,7 @@ The `captcha` property can be used to change the appearance of the CAPTCHA widge ```tsx {{ filename: 'app.tsx', mark: [[13, 18]] }} import React from 'react' import './App.css' - import { ClerkProvider } from '@clerk/clerk-react' + import { ClerkProvider } from '@clerk/react' if (!process.env.REACT_APP_CLERK_PUBLISHABLE_KEY) { throw new Error('Missing Publishable Key') diff --git a/docs/guides/customizing-clerk/appearance-prop/themes.mdx b/docs/guides/customizing-clerk/appearance-prop/themes.mdx index 97f6332962..a262c9ec6f 100644 --- a/docs/guides/customizing-clerk/appearance-prop/themes.mdx +++ b/docs/guides/customizing-clerk/appearance-prop/themes.mdx @@ -145,7 +145,7 @@ In the following example, the "Dark" theme is applied to all Clerk components. import React from 'react' import './App.css' import { dark } from '@clerk/themes' - import { ClerkProvider } from '@clerk/clerk-react' + import { ClerkProvider } from '@clerk/react' if (!process.env.REACT_APP_CLERK_PUBLISHABLE_KEY) { throw new Error('Missing Publishable Key') @@ -318,7 +318,7 @@ In the following example, the "Dark" theme is applied first, then the "Neobrutal import React from 'react' import './App.css' import { dark, neobrutalism } from '@clerk/themes' - import { ClerkProvider } from '@clerk/clerk-react' + import { ClerkProvider } from '@clerk/react' if (!process.env.REACT_APP_CLERK_PUBLISHABLE_KEY) { throw new Error('Missing Publishable Key') @@ -493,7 +493,7 @@ In the following example, the "Neobrutalism" theme is applied to all instances o import React from 'react' import './App.css' import { dark } from '@clerk/themes' - import { ClerkProvider } from '@clerk/clerk-react' + import { ClerkProvider } from '@clerk/react' if (!process.env.REACT_APP_CLERK_PUBLISHABLE_KEY) { throw new Error('Missing Publishable Key') @@ -657,7 +657,7 @@ To apply a theme to a single Clerk component, pass the `appearance` prop to the ```tsx {{ filename: '/src/sign-in/[[...index]].tsx', mark: [2, [6, 8]] }} - import { SignIn } from '@clerk/clerk-react' + import { SignIn } from '@clerk/react' import { dark } from '@clerk/themes' const SignInPage = () => ( @@ -802,7 +802,7 @@ In the following example, the primary color of the themes are customized. import React from 'react' import './App.css' import { dark, neobrutalism, shadesOfPurple } from '@clerk/themes' - import { ClerkProvider } from '@clerk/clerk-react' + import { ClerkProvider } from '@clerk/react' if (!process.env.REACT_APP_CLERK_PUBLISHABLE_KEY) { throw new Error('Missing Publishable Key') diff --git a/docs/guides/customizing-clerk/appearance-prop/variables.mdx b/docs/guides/customizing-clerk/appearance-prop/variables.mdx index 1e15d3d148..7dada83ee5 100644 --- a/docs/guides/customizing-clerk/appearance-prop/variables.mdx +++ b/docs/guides/customizing-clerk/appearance-prop/variables.mdx @@ -299,7 +299,7 @@ In the following example, the primary color is set to blue and the text color is ```tsx {{ filename: 'app.tsx', mark: [[13, 18]] }} import React from 'react' import './App.css' - import { ClerkProvider } from '@clerk/clerk-react' + import { ClerkProvider } from '@clerk/react' if (!process.env.REACT_APP_CLERK_PUBLISHABLE_KEY) { throw new Error('Missing Publishable Key') @@ -489,7 +489,7 @@ In the following example, the primary color is set to blue and the text color is ```tsx {{ filename: 'app.tsx', mark: [[13, 20]] }} import React from 'react' import './App.css' - import { ClerkProvider } from '@clerk/clerk-react' + import { ClerkProvider } from '@clerk/react' if (!process.env.REACT_APP_CLERK_PUBLISHABLE_KEY) { throw new Error('Missing Publishable Key') @@ -674,7 +674,7 @@ The following example shows how to customize the [``](/docs/reference/ ```tsx {{ filename: '/src/sign-in/[[...index]].tsx', mark: [[5, 10]] }} - import { SignIn } from '@clerk/clerk-react' + import { SignIn } from '@clerk/react' const SignInPage = () => ( ```ts - import { getClerkInstance } from '@clerk/clerk-expo' + import { getClerkInstance } from '@clerk/expo' export async function fetchFoo() { const clerkInstance = getClerkInstance() @@ -37,7 +37,7 @@ The [`Clerk`](/docs/reference/javascript/clerk) object is accessible using the [ ```ts import axios from 'axios' - import { getClerkInstance } from '@clerk/clerk-expo' + import { getClerkInstance } from '@clerk/expo' export async function fetchFoo() { try { diff --git a/docs/guides/development/clerk-environment-variables.mdx b/docs/guides/development/clerk-environment-variables.mdx index e6ce82086d..f9dcf560af 100644 --- a/docs/guides/development/clerk-environment-variables.mdx +++ b/docs/guides/development/clerk-environment-variables.mdx @@ -51,7 +51,7 @@ The following environment variables enable you to configure API and SDK behavior | Variable | Description | | - | - | - | `CLERK_JS_URL` | Sets the URL that `@clerk/clerk-react` should hot-load `@clerk/clerk-js` from. `CLERK_JS` does the same but is deprecated. | + | `CLERK_JS_URL` | Sets the URL that `@clerk/react` should hot-load `@clerk/clerk-js` from. `CLERK_JS` does the same but is deprecated. | | `CLERK_JS_VERSION` | Sets the npm version for `@clerk/clerk-js`. | | `CLERK_API_URL` | Sets the Clerk API URL for debugging. Defaults to `"https://api.clerk.com"` | | `CLERK_API_VERSION` | Sets the version of the Clerk API to use. Defaults to `"v1"` | @@ -63,7 +63,7 @@ The following environment variables enable you to configure API and SDK behavior | Variable | Description | | - | - | - | `NEXT_PUBLIC_CLERK_JS_URL` | Sets the URL that `@clerk/clerk-react` should hot-load `@clerk/clerk-js` from. `NEXT_PUBLIC_CLERK_JS` does the same but is deprecated. | + | `NEXT_PUBLIC_CLERK_JS_URL` | Sets the URL that `@clerk/react` should hot-load `@clerk/clerk-js` from. `NEXT_PUBLIC_CLERK_JS` does the same but is deprecated. | | `NEXT_PUBLIC_CLERK_JS_VERSION` | Sets the npm version for `@clerk/clerk-js`. | | `NEXT_PUBLIC_CLERK_API_URL` | Sets the Clerk API URL for debugging. Defaults to `"https://api.clerk.com"` | | `NEXT_PUBLIC_CLERK_API_VERSION` | Sets the version of the Clerk API to use. Defaults to `"v1"` | diff --git a/docs/guides/development/custom-flows/account-updates/manage-totp-based-mfa.mdx b/docs/guides/development/custom-flows/account-updates/manage-totp-based-mfa.mdx index 4b0a658a80..15e904a86c 100644 --- a/docs/guides/development/custom-flows/account-updates/manage-totp-based-mfa.mdx +++ b/docs/guides/development/custom-flows/account-updates/manage-totp-based-mfa.mdx @@ -342,7 +342,7 @@ One of the options that Clerk supports for MFA is **Authenticator applications ( ```tsx {{ filename: 'app/(dashboard)/_layout.tsx' }} import { Redirect, Stack } from 'expo-router' - import { useAuth } from '@clerk/clerk-expo' + import { useAuth } from '@clerk/expo' export default function AuthenticatedLayout() { const { isSignedIn } = useAuth() @@ -361,7 +361,7 @@ One of the options that Clerk supports for MFA is **Authenticator applications ( ```tsx {{ filename: 'app/(dashboard)/account.tsx', collapsible: true }} import React from 'react' - import { useUser } from '@clerk/clerk-expo' + import { useUser } from '@clerk/expo' import { useRouter } from 'expo-router' import { View, Text, Button, FlatList } from 'react-native' import { BackupCodeResource } from '@clerk/types' @@ -452,7 +452,7 @@ One of the options that Clerk supports for MFA is **Authenticator applications ( ```tsx {{ filename: 'app/(dashboard)/add-mfa.tsx', collapsible: true }} import React from 'react' - import { useUser } from '@clerk/clerk-expo' + import { useUser } from '@clerk/expo' import { Link } from 'expo-router' import { QrCodeSvg } from 'react-native-qr-svg' import { FlatList, Button, Text, TextInput, View } from 'react-native' diff --git a/docs/guides/development/custom-flows/account-updates/user-impersonation.mdx b/docs/guides/development/custom-flows/account-updates/user-impersonation.mdx index 1ed45681c2..34632d5452 100644 --- a/docs/guides/development/custom-flows/account-updates/user-impersonation.mdx +++ b/docs/guides/development/custom-flows/account-updates/user-impersonation.mdx @@ -205,7 +205,7 @@ This guide will walk you through how to build a custom flow that handles user im ```tsx {{ filename: 'app/dashboard/_layout.tsx' }} import { Redirect, Stack } from 'expo-router' - import { Protect, useAuth } from '@clerk/clerk-expo' + import { Protect, useAuth } from '@clerk/expo' import { Text } from 'react-native' export default function GuestLayout() { @@ -331,7 +331,7 @@ This guide will walk you through how to build a custom flow that handles user im import React, { useState } from 'react' import { Button, Text, View } from 'react-native' import { useRouter } from 'expo-router' - import { useUser, useSignIn } from '@clerk/clerk-expo' + import { useUser, useSignIn } from '@clerk/expo' import useUsers from '../hooks/useUsers' export default function Dashboard() { diff --git a/docs/guides/development/custom-flows/authentication/email-password-mfa.mdx b/docs/guides/development/custom-flows/authentication/email-password-mfa.mdx index 68e1377496..fb0b387b9b 100644 --- a/docs/guides/development/custom-flows/authentication/email-password-mfa.mdx +++ b/docs/guides/development/custom-flows/authentication/email-password-mfa.mdx @@ -336,7 +336,7 @@ This guide will walk you through how to build a custom email/password sign-in fl ```tsx {{ filename: 'app/(auth)/_layout.tsx' }} import { Redirect, Stack } from 'expo-router' - import { useAuth } from '@clerk/clerk-expo' + import { useAuth } from '@clerk/expo' export default function AuthenticatedLayout() { const { isSignedIn } = useAuth() @@ -353,7 +353,7 @@ This guide will walk you through how to build a custom email/password sign-in fl ```tsx {{ filename: 'app/(auth)/sign-in.tsx', collapsible: true }} import React from 'react' - import { useSignIn } from '@clerk/clerk-expo' + import { useSignIn } from '@clerk/expo' import { useRouter } from 'expo-router' import { Text, TextInput, Button, View } from 'react-native' import Checkbox from 'expo-checkbox' diff --git a/docs/guides/development/custom-flows/authentication/email-password.mdx b/docs/guides/development/custom-flows/authentication/email-password.mdx index 0918080c1c..2a0dc7c993 100644 --- a/docs/guides/development/custom-flows/authentication/email-password.mdx +++ b/docs/guides/development/custom-flows/authentication/email-password.mdx @@ -279,7 +279,7 @@ This guide will walk you through how to build a custom email/password sign-up an ```tsx {{ filename: 'app/(auth)/_layout.tsx' }} import { Redirect, Stack } from 'expo-router' - import { useAuth } from '@clerk/clerk-expo' + import { useAuth } from '@clerk/expo' export default function GuestLayout() { const { isSignedIn } = useAuth() @@ -297,7 +297,7 @@ This guide will walk you through how to build a custom email/password sign-up an ```tsx {{ filename: 'app/(auth)/sign-up.tsx', collapsible: true }} import * as React from 'react' import { Text, TextInput, Button, View } from 'react-native' - import { useSignUp } from '@clerk/clerk-expo' + import { useSignUp } from '@clerk/expo' import { Link, useRouter } from 'expo-router' export default function Page() { @@ -856,7 +856,7 @@ This guide will walk you through how to build a custom email/password sign-up an In the `(auth)` group, create a `sign-in.tsx` file with the following code. The [`useSignIn()`](/docs/reference/hooks/use-sign-in) hook is used to create a sign-in flow. The user can sign in using email address and password, or navigate to the sign-up page. ```tsx {{ filename: 'app/(auth)/sign-in.tsx', collapsible: true }} - import { useSignIn } from '@clerk/clerk-expo' + import { useSignIn } from '@clerk/expo' import { Link, useRouter } from 'expo-router' import { Text, TextInput, Button, View } from 'react-native' import React from 'react' diff --git a/docs/guides/development/custom-flows/authentication/enterprise-connections.mdx b/docs/guides/development/custom-flows/authentication/enterprise-connections.mdx index a63c2937fe..3e09f8756c 100644 --- a/docs/guides/development/custom-flows/authentication/enterprise-connections.mdx +++ b/docs/guides/development/custom-flows/authentication/enterprise-connections.mdx @@ -86,7 +86,7 @@ You must configure your application instance through the Clerk Dashboard for the import React, { useEffect, useState } from 'react' import * as WebBrowser from 'expo-web-browser' import * as AuthSession from 'expo-auth-session' - import { useSSO } from '@clerk/clerk-expo' + import { useSSO } from '@clerk/expo' import { View, Button, TextInput, Platform } from 'react-native' export const useWarmUpBrowser = () => { diff --git a/docs/guides/development/custom-flows/authentication/multi-session-applications.mdx b/docs/guides/development/custom-flows/authentication/multi-session-applications.mdx index c7c07732c4..822be498a3 100644 --- a/docs/guides/development/custom-flows/authentication/multi-session-applications.mdx +++ b/docs/guides/development/custom-flows/authentication/multi-session-applications.mdx @@ -28,7 +28,7 @@ To enable multi-session in your application, you need to configure it in the Cle ```jsx - import { useClerk } from '@clerk/clerk-react' + import { useClerk } from '@clerk/react' // Get the session and user const { session, user } = useClerk() @@ -55,7 +55,7 @@ To enable multi-session in your application, you need to configure it in the Cle ```jsx - import { useClerk } from '@clerk/clerk-react' + import { useClerk } from '@clerk/react' const { client, setActive } = useClerk() @@ -124,7 +124,7 @@ Use [`signOut()`](/docs/reference/javascript/clerk#sign-out) to deactivate all s ```jsx - import { useClerk } from '@clerk/clerk-react' + import { useClerk } from '@clerk/react' const { signOut, session } = useClerk() @@ -149,7 +149,7 @@ Use [`signOut()`](/docs/reference/javascript/clerk#sign-out) to deactivate a spe ```jsx - import { useClerk } from '@clerk/clerk-react' + import { useClerk } from '@clerk/react' // Get the signOut method and the active session const { signOut, session } = useClerk() diff --git a/docs/guides/development/custom-flows/authentication/oauth-connections.mdx b/docs/guides/development/custom-flows/authentication/oauth-connections.mdx index 4a722abfd6..17367742eb 100644 --- a/docs/guides/development/custom-flows/authentication/oauth-connections.mdx +++ b/docs/guides/development/custom-flows/authentication/oauth-connections.mdx @@ -96,7 +96,7 @@ You must configure your application instance through the Clerk Dashboard for the import React, { useCallback, useEffect } from 'react' import * as WebBrowser from 'expo-web-browser' import * as AuthSession from 'expo-auth-session' - import { useSSO } from '@clerk/clerk-expo' + import { useSSO } from '@clerk/expo' import { View, Button, Platform } from 'react-native' // Preloads the browser for Android devices to reduce authentication load time diff --git a/docs/guides/development/declarative-mode.mdx b/docs/guides/development/declarative-mode.mdx index 6e7464a5c6..8b5e4780ed 100644 --- a/docs/guides/development/declarative-mode.mdx +++ b/docs/guides/development/declarative-mode.mdx @@ -54,7 +54,7 @@ This guide will cover how to add React Router in **declarative mode**, assuming ## Update `` - Update `` to be imported from `@clerk/react-router` instead of `@clerk/clerk-react`. + Update `` to be imported from `@clerk/react-router` instead of `@clerk/react`. ```tsx {{ filename: 'src/main.tsx', mark: [3, 16, 18] }} import { StrictMode } from 'react' diff --git a/docs/guides/development/image-optimization.mdx b/docs/guides/development/image-optimization.mdx index 2d6ec73f0a..70bddc39aa 100644 --- a/docs/guides/development/image-optimization.mdx +++ b/docs/guides/development/image-optimization.mdx @@ -50,7 +50,7 @@ The following example demonstrates how you can get the `imageUrl` from the curre ``` ```tsx {{ filename: 'components/image-optimization.tsx' }} - import { useClerk } from '@clerk/clerk-react' + import { useClerk } from '@clerk/react' import React from 'react' export default function ImageOptimization() { diff --git a/docs/guides/development/integrations/analytics/google-analytics.mdx b/docs/guides/development/integrations/analytics/google-analytics.mdx index 94201d11e0..abdc383316 100644 --- a/docs/guides/development/integrations/analytics/google-analytics.mdx +++ b/docs/guides/development/integrations/analytics/google-analytics.mdx @@ -100,7 +100,7 @@ The following example demonstrates how you can do this in React by using a `useE ```tsx {{ filename: 'src/analytics-tracker.tsx' }} import { useEffect } from 'react' -import { useUser } from '@clerk/clerk-react' +import { useUser } from '@clerk/react' const AnalyticsTracker = ({ analytics }) => { const { user } = useUser() diff --git a/docs/guides/development/integrations/databases/convex.mdx b/docs/guides/development/integrations/databases/convex.mdx index 65e62c5348..dd3b02e3f8 100644 --- a/docs/guides/development/integrations/databases/convex.mdx +++ b/docs/guides/development/integrations/databases/convex.mdx @@ -153,7 +153,7 @@ With [Convex](https://www.convex.dev/), you can build a backend with a provided import ReactDOM from 'react-dom/client' import App from './App.tsx' import './index.css' - import { ClerkProvider, useAuth } from '@clerk/clerk-react' + import { ClerkProvider, useAuth } from '@clerk/react' import { ConvexProviderWithClerk } from 'convex/react-clerk' import { ConvexReactClient } from 'convex/react' @@ -225,7 +225,7 @@ With [Convex](https://www.convex.dev/), you can build a backend with a provided ```tsx title="src/App.tsx" - import { SignInButton, UserButton } from '@clerk/clerk-react' + import { SignInButton, UserButton } from '@clerk/react' import { Authenticated, Unauthenticated, AuthLoading, useQuery } from 'convex/react' import { api } from '../convex/_generated/api' diff --git a/docs/guides/development/local-credentials.mdx b/docs/guides/development/local-credentials.mdx index b2d4fbec0c..abaddc0fe9 100644 --- a/docs/guides/development/local-credentials.mdx +++ b/docs/guides/development/local-credentials.mdx @@ -5,7 +5,7 @@ sdk: expo --- > [!WARNING] -> This feature requires `@clerk/clerk-expo >=@2.2.0` and works only for sign-in attempts that use the password strategy. +> This feature requires `@clerk/expo` or `@clerk/clerk-expo >=@2.2.0` and works only for sign-in attempts that use the password strategy. This guide demonstrates how to use the [`useLocalCredentials()`](/docs/reference/expo/use-local-credentials) hook in your Expo app to securely store a user's password credentials on their device, enabling biometric sign-in for returning users. @@ -33,11 +33,11 @@ This guide demonstrates how to use the [`useLocalCredentials()`](/docs/reference The following example demonstrates how to use `useLocalCredentials()` in a custom flow for signing in users. ```tsx {{ filename: 'app/sign-in.tsx' }} - import { useSignIn } from '@clerk/clerk-expo' + import { useSignIn } from '@clerk/expo' import { Link, useRouter } from 'expo-router' import { Text, TextInput, Button, View } from 'react-native' import { useState } from 'react' - import { useLocalCredentials } from '@clerk/clerk-expo/local-credentials' + import { useLocalCredentials } from '@clerk/expo/local-credentials' export default function Page() { const router = useRouter() @@ -130,8 +130,8 @@ This guide demonstrates how to use the [`useLocalCredentials()`](/docs/reference The following example demonstrates how to use the `userOwnsCredentials` and `clearCredentials` properties of the `useLocalCredentials()` hook in order to remove the stored credentials if those belong to the signed in user. ```tsx {{ filename: 'app/user.tsx' }} - import { useUser, useClerk } from '@clerk/clerk-expo' - import { useLocalCredentials } from '@clerk/clerk-expo/local-credentials' + import { useUser, useClerk } from '@clerk/expo' + import { useLocalCredentials } from '@clerk/expo/local-credentials' import { View, Text, Button } from 'react-native' export default function Page() { @@ -157,8 +157,8 @@ This guide demonstrates how to use the [`useLocalCredentials()`](/docs/reference The following example demonstrates how to use `userOwnsCredentials` and `setCredentials` properties of the `useLocalCredentials()` hook in order to update the stored credentials if those belong to the signed in user. ```tsx {{ filename: 'app/update-user.tsx' }} - import { useUser, useClerk } from '@clerk/clerk-expo' - import { useLocalCredentials } from '@clerk/clerk-expo/local-credentials' + import { useUser, useClerk } from '@clerk/expo' + import { useLocalCredentials } from '@clerk/expo/local-credentials' export default function Page() { const { user } = useUser() diff --git a/docs/guides/development/offline-support.mdx b/docs/guides/development/offline-support.mdx index f3eef24139..f342cb2933 100644 --- a/docs/guides/development/offline-support.mdx +++ b/docs/guides/development/offline-support.mdx @@ -36,10 +36,10 @@ To enable offline support in your Expo app, follow these steps: On [``](/docs/reference/components/clerk-provider), pass the `resourceCache` object to the `__experimental_resourceCache` property, as shown in the following example: ```tsx {{ filename: 'app/_layout.tsx', mark: [4, 8] }} - import { ClerkProvider } from '@clerk/clerk-expo' + import { ClerkProvider } from '@clerk/expo' import { Slot } from 'expo-router' - import { tokenCache } from '@clerk/clerk-expo/token-cache' - import { resourceCache } from '@clerk/clerk-expo/resource-cache' + import { tokenCache } from '@clerk/expo/token-cache' + import { resourceCache } from '@clerk/expo/resource-cache' export default function RootLayout() { return ( @@ -58,7 +58,7 @@ When there is no internet connection, Clerk's custom flows (e.g., `signIn.create To handle network errors in your Expo app, you can use the `isClerkRuntimeError()` function to check if the error is a Clerk-related error. Clerk-related errors are returned as an array of [`ClerkAPIError`](/docs/reference/javascript/types/clerk-api-error) objects. These errors contain a `code` property that you can use to identify the specific error. See the following example. ```tsx {{ mark: [1, [22, 30]] }} -import { useSignIn, isClerkRuntimeError } from '@clerk/clerk-expo' +import { useSignIn, isClerkRuntimeError } from '@clerk/expo' import { Link, useRouter } from 'expo-router' import { Text, TextInput, Button, View } from 'react-native' import React from 'react' diff --git a/docs/guides/development/sdk-development/frontend-only.mdx b/docs/guides/development/sdk-development/frontend-only.mdx index 5d7a953384..de28d3e1d4 100644 --- a/docs/guides/development/sdk-development/frontend-only.mdx +++ b/docs/guides/development/sdk-development/frontend-only.mdx @@ -3,7 +3,7 @@ title: Frontend-only SDK description: A reference for implementing a frontend-only Clerk SDK --- -While [ClerkJS](/docs/reference/javascript/overview) can be used in any browser context and framework, realistically users expect to consume its features through the conventions and syntax of their framework of choice. For example, `@clerk/clerk-react` turns ClerkJS into React components, `@clerk/astro` into Astro components, and so on. +While [ClerkJS](/docs/reference/javascript/overview) can be used in any browser context and framework, realistically users expect to consume its features through the conventions and syntax of their framework of choice. For example, `@clerk/react` turns ClerkJS into React components, `@clerk/astro` into Astro components, and so on. In non-browser environments, you’ll need to re-implement the [Clerk class](/docs/reference/javascript/clerk) in the SDK’s programming language, interacting with the [FAPI](/docs/guides/development/sdk-development/terminology). @@ -20,7 +20,7 @@ In non-browser environments, you’ll need to re-implement the [Clerk class](/do While the implementation details will vary for each SDK, there are certain steps you'll have to go through in any case. Consider the steps below a rough guidance on what needs to be done, and also remember to follow the [conventions](/docs/guides/development/sdk-development/conventions). > [!NOTE] -> The code blocks below will be written in pseudo-code. If you're looking for real-world examples, have a look at these repositories: [`@clerk/clerk-react`](https://github.com/clerk/javascript/tree/main/packages/react), [`@clerk/astro`](https://github.com/clerk/javascript/tree/main/packages/astro) +> The code blocks below will be written in pseudo-code. If you're looking for real-world examples, have a look at these repositories: [`@clerk/react`](https://github.com/clerk/javascript/tree/main/packages/react), [`@clerk/astro`](https://github.com/clerk/javascript/tree/main/packages/astro) ### Create a Clerk instance diff --git a/docs/guides/development/sdk-development/terminology.mdx b/docs/guides/development/sdk-development/terminology.mdx index 3f16d66588..cf9acf04b7 100644 --- a/docs/guides/development/sdk-development/terminology.mdx +++ b/docs/guides/development/sdk-development/terminology.mdx @@ -16,7 +16,7 @@ A consistent terminology should be used across all user interactions with Clerk' | Secret Key | Your app’s Secret Key for use in the backend. Do not expose this on the frontend with a public environment variable. Allows for CRUD operations. | | Publishable Key | Your app’s Publishable Key for use in the frontend. | | Instances | When creating an app, you’re provided with two instances: Development and Production. [Learn more](/docs/guides/development/managing-environments). | -| Hotloading ClerkJS | `@clerk/clerk-js`, or ClerkJS, is the foundational JavaScript library for all frontend JS SDKs, e.g. used in `@clerk/clerk-react`. When you install `@clerk/clerk-react` through npm, you don’t install `@clerk/clerk-js`. Instead, once the React code is executed in the browser, the React SDK adds a `