| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,37 @@ | |||
| 1 | + --- | ||
| 2 | + '@clerk/expo': major | ||
| 3 | + '@clerk/expo-passkeys': major | ||
| 4 | + '@clerk/shared': major | ||
| 5 | + '@clerk/react': major | ||
| 6 | + '@clerk/localizations': major | ||
| 7 | + --- | ||
| 8 | + | ||
| 9 | + Drop support for Expo 50, 51 and 52. This release includes two breaking changes: | ||
| 10 | + | ||
| 11 | + ## 1. Updated Expo peer dependency requirements | ||
| 12 | + | ||
| 13 | + **@clerk/clerk-expo** | ||
| 14 | + - **Added** new peer dependency: `expo: >=53 <55` | ||
| 15 | + - The core `expo` package is now explicitly required as a peer dependency | ||
| 16 | + - This ensures compatibility with the Expo SDK version range that supports the features used by Clerk | ||
| 17 | + | ||
| 18 | + **@clerk/expo-passkeys** | ||
| 19 | + - **Updated** peer dependency: `expo: >=53 <55` (previously `>=50 <55`) | ||
| 20 | + - Minimum Expo version increased from 50 to 53 | ||
| 21 | + - This aligns with the main `@clerk/clerk-expo` package requirements | ||
| 22 | + | ||
| 23 | + ## 2. Removed legacy subpath exports | ||
| 24 | + | ||
| 25 | + The following packages have removed their legacy subpath export mappings: | ||
| 26 | + - `@clerk/clerk-expo` | ||
| 27 | + - `@clerk/shared` | ||
| 28 | + - `@clerk/clerk-react` | ||
| 29 | + - `@clerk/localizations` | ||
| 30 | + | ||
| 31 | + **What changed:** | ||
| 32 | + Previously, these packages used a workaround to support subpath imports (e.g., `@clerk/shared/react`, `@clerk/clerk-expo/web`). These legacy exports have been removed in favor of modern package.json `exports` field configuration. | ||
| 33 | + | ||
| 34 | + All public APIs remain available through the main package entry points. | ||
| 35 | + | ||
| 36 | + | ||
| 37 | + | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -117,7 +117,7 @@ jobs: | |||
| 117 | 117 | turbo-token: ${{ secrets.TURBO_TOKEN }} | |
| 118 | 118 | ||
| 119 | 119 | - name: Turbo Build | |
| 120 | - run: pnpm turbo build $TURBO_ARGS --only | ||
| 120 | + run: pnpm turbo build $TURBO_ARGS --only --filter=!@clerk/elements | ||
| 121 | 121 | ||
| 122 | 122 | - name: Upload Turbo Summary | |
| 123 | 123 | uses: actions/upload-artifact@v4 | |
@@ -245,7 +245,7 @@ jobs: | |||
| 245 | 245 | run: | | |
| 246 | 246 | # Only run Typedoc tests for one matrix version | |
| 247 | 247 | if [ "${{ matrix.node-version }}" == "22" ]; then | |
| 248 | - pnpm test:typedoc | ||
| 248 | + pnpm turbo run //#test:typedoc | ||
| 249 | 249 | fi | |
| 250 | 250 | env: | |
| 251 | 251 | NODE_VERSION: ${{ matrix.node-version }} | |
@@ -280,14 +280,12 @@ jobs: | |||
| 280 | 280 | "generic", | |
| 281 | 281 | "express", | |
| 282 | 282 | "ap-flows", | |
| 283 | - "elements", | ||
| 284 | 283 | "localhost", | |
| 285 | 284 | "sessions", | |
| 286 | 285 | "sessions:staging", | |
| 287 | 286 | "handshake", | |
| 288 | 287 | "handshake:staging", | |
| 289 | 288 | "astro", | |
| 290 | - "expo-web", | ||
| 291 | 289 | "tanstack-react-start", | |
| 292 | 290 | "vue", | |
| 293 | 291 | "nuxt", | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -368,7 +368,6 @@ Assuming you have a `react-parcel` template defined in `integration/templates`, | |||
| 368 | 368 | ``` | |
| 369 | 369 | ||
| 370 | 370 | Here's what each thing is doing: | |
| 371 | - | ||
| 372 | 371 | - `setName`: Set internal name | |
| 373 | 372 | - `useTemplate`: Define which template inside `integration/templates` to use | |
| 374 | 373 | - `setEnvFormatter`: Define how environment variables should be formatted. The first argument accepts `'public'` and `'private'`. Inside [`envs.ts`](./presets/envs.ts) the environment variables you can use through [`withEnv`](#environment-configs) are defined. Since different frameworks require environment variables to be in different formats (e.g. Next.js wants public env vars to be prefixed with `NEXT_PUBLIC_`) you can use this formatter to change that. | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -15,7 +15,7 @@ | |||
| 15 | 15 | "dependencies": { | |
| 16 | 16 | "@expo/vector-icons": "^14.0.2", | |
| 17 | 17 | "@react-navigation/native": "^6.0.2", | |
| 18 | - "expo": "~51.0.17", | ||
| 18 | + "expo": "~53", | ||
| 19 | 19 | "expo-constants": "~16.0.2", | |
| 20 | 20 | "expo-font": "~12.0.7", | |
| 21 | 21 | "expo-linking": "~6.3.1", | |
@@ -24,9 +24,9 @@ | |||
| 24 | 24 | "expo-status-bar": "~1.12.1", | |
| 25 | 25 | "expo-system-ui": "~3.0.6", | |
| 26 | 26 | "expo-web-browser": "~13.0.3", | |
| 27 | - "react": "18.3.1", | ||
| 28 | - "react-dom": "18.3.1", | ||
| 29 | - "react-native": "0.74.3", | ||
| 27 | + "react": "19.2.0", | ||
| 28 | + "react-dom": "19.2.0", | ||
| 29 | + "react-native": "0.82.1", | ||
| 30 | 30 | "react-native-gesture-handler": "~2.16.1", | |
| 31 | 31 | "react-native-reanimated": "~3.10.1", | |
| 32 | 32 | "react-native-safe-area-context": "4.10.9", | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -4,7 +4,7 @@ | |||
| 4 | 4 | "private": true, | |
| 5 | 5 | "license": "MIT", | |
| 6 | 6 | "scripts": { | |
| 7 | - "build": "FORCE_COLOR=1 turbo build --concurrency=${TURBO_CONCURRENCY:-80%}", | ||
| 7 | + "build": "FORCE_COLOR=1 turbo build --concurrency=${TURBO_CONCURRENCY:-80%} --filter=!@clerk/elements", | ||
| 8 | 8 | "build:declarations": "FORCE_COLOR=1 turbo build:declarations --concurrency=${TURBO_CONCURRENCY:-80%} --filter=@clerk/nextjs --filter=@clerk/react --filter=@clerk/shared --filter=@clerk/types", | |
| 9 | 9 | "bundlewatch": "turbo bundlewatch", | |
| 10 | 10 | "changeset": "changeset", | |
@@ -38,7 +38,7 @@ | |||
| 38 | 38 | "test:integration:custom": "pnpm test:integration:base --grep @custom", | |
| 39 | 39 | "test:integration:deployment:nextjs": "pnpm playwright test --config integration/playwright.deployments.config.ts", | |
| 40 | 40 | "test:integration:elements": "E2E_APP_ID=elements.* pnpm test:integration:base --grep @elements", | |
| 41 | - "test:integration:expo-web": "E2E_APP_ID=expo.expo-web pnpm test:integration:base --grep @expo-web", | ||
| 41 | + "test:integration:expo-web:disabled": "E2E_APP_ID=expo.expo-web pnpm test:integration:base --grep @expo-web", | ||
| 42 | 42 | "test:integration:express": "E2E_APP_ID=express.* pnpm test:integration:base --grep @express", | |
| 43 | 43 | "test:integration:generic": "E2E_APP_ID=react.vite.*,next.appRouter.withEmailCodes* pnpm test:integration:base --grep @generic", | |
| 44 | 44 | "test:integration:handshake": "DISABLE_WEB_SECURITY=true E2E_APP_1_ENV_KEY=sessions-prod-1 E2E_SESSIONS_APP_1_HOST=multiple-apps-e2e.clerk.app pnpm test:integration:base --grep @handshake", | |
@@ -55,7 +55,7 @@ | |||
| 55 | 55 | "test:integration:vue": "E2E_APP_ID=vue.vite pnpm test:integration:base --grep @vue", | |
| 56 | 56 | "test:typedoc": "pnpm typedoc:generate && cd ./.typedoc && vitest run", | |
| 57 | 57 | "turbo:clean": "turbo daemon clean", | |
| 58 | - "typedoc:generate": "pnpm build:declarations && pnpm typedoc:generate:skip-build", | ||
| 58 | + "typedoc:generate": "pnpm build && pnpm typedoc:generate:skip-build", | ||
| 59 | 59 | "typedoc:generate:skip-build": "typedoc --tsconfig tsconfig.typedoc.json && rm -rf .typedoc/docs && mv .typedoc/temp-docs .typedoc/docs", | |
| 60 | 60 | "version-packages": "changeset version && pnpm install --lockfile-only --engine-strict=false", | |
| 61 | 61 | "version-packages:canary": "./scripts/canary.mjs", | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -12,10 +12,10 @@ export type DevBrowserCookieHandler = { | |||
| 12 | 12 | remove: () => void; | |
| 13 | 13 | }; | |
| 14 | 14 | ||
| 15 | - const getCookieAttributes = (): { sameSite: string; secure: boolean } => { | ||
| 15 | + const getCookieAttributes = () => { | ||
| 16 | 16 | const sameSite = inCrossOriginIframe() ? 'None' : 'Lax'; | |
| 17 | 17 | const secure = getSecureAttribute(sameSite); | |
| 18 | - return { sameSite, secure }; | ||
| 18 | + return { sameSite, secure } as const; | ||
| 19 | 19 | }; | |
| 20 | 20 | ||
| 21 | 21 | /** | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -13,11 +13,11 @@ export type SessionCookieHandler = { | |||
| 13 | 13 | get: () => string | undefined; | |
| 14 | 14 | }; | |
| 15 | 15 | ||
| 16 | - const getCookieAttributes = (): { sameSite: string; secure: boolean; partitioned: boolean } => { | ||
| 16 | + const getCookieAttributes = () => { | ||
| 17 | 17 | const sameSite = __BUILD_VARIANT_CHIPS__ ? 'None' : inCrossOriginIframe() ? 'None' : 'Lax'; | |
| 18 | 18 | const secure = getSecureAttribute(sameSite); | |
| 19 | 19 | const partitioned = __BUILD_VARIANT_CHIPS__ && secure; | |
| 20 | - return { sameSite, secure, partitioned }; | ||
| 20 | + return { sameSite, secure, partitioned } as const; | ||
| 21 | 21 | }; | |
| 22 | 22 | ||
| 23 | 23 | /** | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -58,9 +58,9 @@ | |||
| 58 | 58 | "app:dev:debug:ui": "(cd examples/nextjs && NEXT_PUBLIC_CLERK_ELEMENTS_DEBUG_UI=true pnpm dev)", | |
| 59 | 59 | "app:e2e": "(cd examples/nextjs && pnpm e2e)", | |
| 60 | 60 | "app:lint": "(cd examples/nextjs && pnpm lint)", | |
| 61 | - "build": "tsup --env.NODE_ENV production", | ||
| 62 | 61 | "build:analyze": "tsup --env.NODE_ENV production --metafile; open https://esbuild.github.io/analyze/", | |
| 63 | 62 | "build:declarations": "tsc -p tsconfig.declarations.json", | |
| 63 | + "build:disable": "tsup --env.NODE_ENV production", | ||
| 64 | 64 | "dev": "tsup --env.NODE_ENV development --watch", | |
| 65 | 65 | "dev:example": "concurrently \"pnpm dev\" \"pnpm app:dev\"", | |
| 66 | 66 | "format": "node ../../scripts/format-package.mjs", | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -40,7 +40,7 @@ | |||
| 40 | 40 | "expo": "~52.0.47" | |
| 41 | 41 | }, | |
| 42 | 42 | "peerDependencies": { | |
| 43 | - "expo": ">=50 <55", | ||
| 43 | + "expo": ">=53 <55", | ||
| 44 | 44 | "react": "catalog:peer-react", | |
| 45 | 45 | "react-native": "*" | |
| 46 | 46 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments