diff --git a/.changeset/fix-native-clerk-module-codegen.md b/.changeset/fix-native-clerk-module-codegen.md new file mode 100644 index 00000000000..078df5163ad --- /dev/null +++ b/.changeset/fix-native-clerk-module-codegen.md @@ -0,0 +1,5 @@ +--- +"@clerk/expo": patch +--- + +fix(expo): restore TurboModuleRegistry.get pattern in NativeClerkModule spec to fix Android new architecture codegen error; handle web via NativeClerkModule.web.ts diff --git a/packages/expo/src/specs/NativeClerkModule.ts b/packages/expo/src/specs/NativeClerkModule.ts index ad1464ebdc5..1c38d2c1f92 100644 --- a/packages/expo/src/specs/NativeClerkModule.ts +++ b/packages/expo/src/specs/NativeClerkModule.ts @@ -11,4 +11,4 @@ export interface Spec extends TurboModule { signOut(): Promise; } -export default TurboModuleRegistry?.get('ClerkExpo') ?? null; +export default TurboModuleRegistry.get('ClerkExpo'); diff --git a/packages/expo/src/specs/NativeClerkModule.web.ts b/packages/expo/src/specs/NativeClerkModule.web.ts new file mode 100644 index 00000000000..bb4b30c6aa5 --- /dev/null +++ b/packages/expo/src/specs/NativeClerkModule.web.ts @@ -0,0 +1,4 @@ +// Web stub: TurboModuleRegistry doesn't exist on web, so we export null. +// Cast to any to match the native module's Spec | null type without circular imports. +// Metro resolves this file on web via platform-specific extensions (.web.ts). +export default null as any;