@react-native-firebase/auth 25.1.0 → 26.1.0

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.
Files changed (132) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/RNFBAuth.podspec +16 -7
  3. package/android/build.gradle +23 -0
  4. package/android/src/main/java/io/invertase/firebase/auth/{ReactNativeFirebaseAuthModule.java → NativeRNFBTurboAuth.java} +131 -103
  5. package/android/src/main/java/io/invertase/firebase/auth/ReactNativeFirebaseAuthPackage.java +1 -1
  6. package/android/src/main/java/io/invertase/firebase/auth/ReactNativeFirebaseAuthSyncException.java +35 -0
  7. package/android/src/main/java/io/invertase/firebase/auth/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboAuthSpec.java +308 -0
  8. package/android/src/main/java/io/invertase/firebase/auth/generated/jni/CMakeLists.txt +36 -0
  9. package/android/src/main/java/io/invertase/firebase/auth/generated/jni/RNFBAuthTurboModules-generated.cpp +392 -0
  10. package/android/src/main/java/io/invertase/firebase/auth/generated/jni/RNFBAuthTurboModules.h +31 -0
  11. package/android/src/main/java/io/invertase/firebase/auth/generated/jni/react/renderer/components/RNFBAuthTurboModules/RNFBAuthTurboModulesJSI-generated.cpp +539 -0
  12. package/android/src/main/java/io/invertase/firebase/auth/generated/jni/react/renderer/components/RNFBAuthTurboModules/RNFBAuthTurboModulesJSI.h +611 -0
  13. package/app.plugin.js +1 -1
  14. package/dist/module/ConfirmationResult.js.map +1 -1
  15. package/dist/module/MultiFactorResolver.js.map +1 -1
  16. package/dist/module/PhoneAuthListener.js +3 -4
  17. package/dist/module/PhoneAuthListener.js.map +1 -1
  18. package/dist/module/TotpMultiFactorGenerator.js +1 -1
  19. package/dist/module/TotpMultiFactorGenerator.js.map +1 -1
  20. package/dist/module/TotpSecret.js +15 -9
  21. package/dist/module/TotpSecret.js.map +1 -1
  22. package/dist/module/User.js +1 -1
  23. package/dist/module/User.js.map +1 -1
  24. package/dist/module/credentials/OAuthCredential.js +22 -1
  25. package/dist/module/credentials/OAuthCredential.js.map +1 -1
  26. package/dist/module/getMultiFactorResolver.js +2 -2
  27. package/dist/module/getMultiFactorResolver.js.map +1 -1
  28. package/dist/module/index.js +1226 -6
  29. package/dist/module/index.js.map +1 -1
  30. package/dist/module/internal/syncNativeError.js +75 -0
  31. package/dist/module/internal/syncNativeError.js.map +1 -0
  32. package/dist/module/multiFactor.js +5 -3
  33. package/dist/module/multiFactor.js.map +1 -1
  34. package/dist/module/providers/AppleAuthProvider.js +17 -4
  35. package/dist/module/providers/AppleAuthProvider.js.map +1 -1
  36. package/dist/module/providers/OAuthProvider.js +4 -2
  37. package/dist/module/providers/OAuthProvider.js.map +1 -1
  38. package/dist/module/providers/PhoneAuthProvider.js +4 -4
  39. package/dist/module/providers/PhoneAuthProvider.js.map +1 -1
  40. package/dist/module/types/auth.js +8 -0
  41. package/dist/module/types/auth.js.map +1 -1
  42. package/dist/module/version.js +1 -1
  43. package/dist/module/web/RNFBAuthModule.js +26 -18
  44. package/dist/module/web/RNFBAuthModule.js.map +1 -1
  45. package/dist/typescript/lib/ConfirmationResult.d.ts +2 -2
  46. package/dist/typescript/lib/ConfirmationResult.d.ts.map +1 -1
  47. package/dist/typescript/lib/MultiFactorResolver.d.ts +6 -6
  48. package/dist/typescript/lib/MultiFactorResolver.d.ts.map +1 -1
  49. package/dist/typescript/lib/PhoneAuthListener.d.ts +1 -4
  50. package/dist/typescript/lib/PhoneAuthListener.d.ts.map +1 -1
  51. package/dist/typescript/lib/TotpSecret.d.ts +2 -4
  52. package/dist/typescript/lib/TotpSecret.d.ts.map +1 -1
  53. package/dist/typescript/lib/User.d.ts +13 -13
  54. package/dist/typescript/lib/User.d.ts.map +1 -1
  55. package/dist/typescript/lib/credentials/OAuthCredential.d.ts +6 -0
  56. package/dist/typescript/lib/credentials/OAuthCredential.d.ts.map +1 -1
  57. package/dist/typescript/lib/getMultiFactorResolver.d.ts +5 -5
  58. package/dist/typescript/lib/getMultiFactorResolver.d.ts.map +1 -1
  59. package/dist/typescript/lib/index.d.ts +377 -4
  60. package/dist/typescript/lib/index.d.ts.map +1 -1
  61. package/dist/typescript/lib/internal/syncNativeError.d.ts +6 -0
  62. package/dist/typescript/lib/internal/syncNativeError.d.ts.map +1 -0
  63. package/dist/typescript/lib/multiFactor.d.ts +9 -9
  64. package/dist/typescript/lib/multiFactor.d.ts.map +1 -1
  65. package/dist/typescript/lib/providers/AppleAuthProvider.d.ts +10 -3
  66. package/dist/typescript/lib/providers/AppleAuthProvider.d.ts.map +1 -1
  67. package/dist/typescript/lib/providers/OAuthProvider.d.ts.map +1 -1
  68. package/dist/typescript/lib/providers/PhoneAuthProvider.d.ts.map +1 -1
  69. package/dist/typescript/lib/types/auth.d.ts +39 -0
  70. package/dist/typescript/lib/types/auth.d.ts.map +1 -1
  71. package/dist/typescript/lib/types/internal.d.ts +45 -48
  72. package/dist/typescript/lib/types/internal.d.ts.map +1 -1
  73. package/dist/typescript/lib/version.d.ts +1 -1
  74. package/dist/typescript/lib/web/RNFBAuthModule.d.ts +7 -5
  75. package/dist/typescript/lib/web/RNFBAuthModule.d.ts.map +1 -1
  76. package/ios/RNFBAuth/RNFBAuthHelper.h +338 -0
  77. package/ios/RNFBAuth/{RNFBAuthModule.m → RNFBAuthHelper.m} +605 -323
  78. package/ios/RNFBAuth/RNFBAuthModule.h +9 -66
  79. package/ios/RNFBAuth/RNFBAuthModule.mm +592 -0
  80. package/ios/RNFBAuth.xcodeproj/project.pbxproj +8 -8
  81. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  82. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  83. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  84. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  85. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  86. package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
  87. package/ios/generated/RNFBAuthTurboModules/RNFBAuthTurboModules-generated.mm +459 -0
  88. package/ios/generated/RNFBAuthTurboModules/RNFBAuthTurboModules.h +342 -0
  89. package/ios/generated/RNFBAuthTurboModulesJSI-generated.cpp +539 -0
  90. package/ios/generated/RNFBAuthTurboModulesJSI.h +611 -0
  91. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  92. package/lib/ConfirmationResult.ts +3 -6
  93. package/lib/MultiFactorResolver.ts +8 -8
  94. package/lib/PhoneAuthListener.ts +6 -10
  95. package/lib/TotpMultiFactorGenerator.ts +1 -1
  96. package/lib/TotpSecret.ts +22 -9
  97. package/lib/User.ts +27 -38
  98. package/lib/credentials/OAuthCredential.ts +44 -0
  99. package/lib/getMultiFactorResolver.ts +9 -11
  100. package/lib/index.ts +1848 -6
  101. package/lib/internal/syncNativeError.ts +89 -0
  102. package/lib/multiFactor.ts +25 -16
  103. package/lib/providers/AppleAuthProvider.ts +21 -5
  104. package/lib/providers/OAuthProvider.ts +2 -0
  105. package/lib/providers/PhoneAuthProvider.ts +9 -22
  106. package/lib/types/auth.ts +42 -0
  107. package/lib/types/internal.ts +56 -63
  108. package/lib/version.ts +1 -1
  109. package/lib/web/RNFBAuthModule.ts +47 -33
  110. package/package.json +30 -5
  111. package/plugin/build/app.plugin.d.ts +2 -0
  112. package/plugin/build/app.plugin.js +6 -0
  113. package/plugin/src/app.plugin.ts +3 -0
  114. package/plugin/tsconfig.tsbuildinfo +1 -1
  115. package/react-native.config.js +9 -0
  116. package/specs/NativeRNFBTurboAuth.ts +145 -0
  117. package/typedoc.json +0 -1
  118. package/dist/module/modular.js +0 -793
  119. package/dist/module/modular.js.map +0 -1
  120. package/dist/module/namespaced.js +0 -522
  121. package/dist/module/namespaced.js.map +0 -1
  122. package/dist/module/types/namespaced.js +0 -62
  123. package/dist/module/types/namespaced.js.map +0 -1
  124. package/dist/typescript/lib/modular.d.ts +0 -370
  125. package/dist/typescript/lib/modular.d.ts.map +0 -1
  126. package/dist/typescript/lib/namespaced.d.ts +0 -12
  127. package/dist/typescript/lib/namespaced.d.ts.map +0 -1
  128. package/dist/typescript/lib/types/namespaced.d.ts +0 -2185
  129. package/dist/typescript/lib/types/namespaced.d.ts.map +0 -1
  130. package/lib/modular.ts +0 -1166
  131. package/lib/namespaced.ts +0 -849
  132. package/lib/types/namespaced.ts +0 -2350
package/CHANGELOG.md CHANGED
@@ -3,6 +3,41 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [26.1.0](https://github.com/invertase/react-native-firebase/compare/v26.0.0...v26.1.0) (2026-08-03)
7
+
8
+ ### Features
9
+
10
+ - **auth, ios:** add fullName support for Sign in with Apple credentials ([#9096](https://github.com/invertase/react-native-firebase/issues/9096)) ([a33867e](https://github.com/invertase/react-native-firebase/commit/a33867e22c85bc5598faa79f24554c8b915e750d))
11
+ - **ios:** add SPM dependency resolution support alongside CocoaPods ([#8933](https://github.com/invertase/react-native-firebase/issues/8933)) ([44a7a9a](https://github.com/invertase/react-native-firebase/commit/44a7a9ae7b404f412e9766c0417f1df8fa971a0b))
12
+
13
+ ### Bug Fixes
14
+
15
+ - **auth, app:** fix web auth initialization crash and missing methods ([#9134](https://github.com/invertase/react-native-firebase/issues/9134)) ([d74b550](https://github.com/invertase/react-native-firebase/commit/d74b550f55ecb131a691d1ec3536ad485184f439))
16
+
17
+ ## [26.0.0](https://github.com/invertase/react-native-firebase/compare/v25.1.0...v26.0.0) (2026-07-29)
18
+
19
+ ### ⚠ BREAKING CHANGES
20
+
21
+ - **auth:** migrate auth to TurboModules
22
+ - **app:** App/Core modules native bridge requires New Architecture.
23
+
24
+ Migrate RNFBAppModule and RNFBUtilsModule to Codegen TurboModules with
25
+ unified resolver, lazy Proxy wrapper, and committed generated artifacts.
26
+ Includes functions codegenConfig rename (NewArch-AD-7), test harness
27
+ overrides, architecture decisions, and validation workflow hardening.
28
+
29
+ ### Features
30
+
31
+ - **app:** migrate app modules to TurboModules incl general migration infra ([978168d](https://github.com/invertase/react-native-firebase/commit/978168dacecf4925d347d9757eff73ee43e1484f))
32
+ - **auth:** migrate auth to TurboModules ([5fe09ac](https://github.com/invertase/react-native-firebase/commit/5fe09ac77b8df94631dbcfaa533cdcba0bfff98c))
33
+
34
+ ### Bug Fixes
35
+
36
+ - add ResultT codegen type alias ([ff2d68f](https://github.com/invertase/react-native-firebase/commit/ff2d68ff8f73092f8ba3c75e007049dd31be822f))
37
+ - **auth, android:** handle null id-tokens from google credential manager ([d800caf](https://github.com/invertase/react-native-firebase/commit/d800caf8b0ca8bf289d72fc84c0d74bda26c41bb))
38
+ - **ios:** set IPHONEOS_DEPLOYMENT_TARGET to 15.0, update platform support docs/conditionals ([#9108](https://github.com/invertase/react-native-firebase/issues/9108)) ([99d0899](https://github.com/invertase/react-native-firebase/commit/99d089908e3eec6155d73ecf05ff7274ad33c46e)), closes [#8882](https://github.com/invertase/react-native-firebase/issues/8882)
39
+ - resolve CI lint and spec-native parity failures ([6ff817e](https://github.com/invertase/react-native-firebase/commit/6ff817ed2154b2d4e77c5fd9709ec0eb95b408fa))
40
+
6
41
  ## [25.1.0](https://github.com/invertase/react-native-firebase/compare/v25.0.1...v25.1.0) (2026-06-25)
7
42
 
8
43
  ### Bug Fixes
package/RNFBAuth.podspec CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'json'
2
+ require_relative '../app/firebase_spm'
2
3
  package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
3
4
  appPackage = JSON.parse(File.read(File.join('..', 'app', 'package.json')))
4
5
 
@@ -27,15 +28,23 @@ Pod::Spec.new do |s|
27
28
  s.ios.deployment_target = firebase_ios_target
28
29
  s.macos.deployment_target = firebase_macos_target
29
30
  s.tvos.deployment_target = firebase_tvos_target
30
- s.source_files = 'ios/**/*.{h,m}'
31
+ s.source_files = 'ios/**/*.{h,m,mm,cpp}'
32
+ s.private_header_files = [
33
+ 'ios/RNFBAuth/RNFBAuthModule.h',
34
+ 'ios/generated/**/*.h',
35
+ ]
36
+ s.exclude_files = 'ios/generated/RCTThirdPartyComponentsProvider.*', 'ios/generated/RCTAppDependencyProvider.*', 'ios/generated/RCTModuleProviders.*', 'ios/generated/RCTModulesConformingToProtocolsProvider.*', 'ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.*'
37
+
38
+ s.pod_target_xcconfig = {
39
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ios/generated/RNFBAuthTurboModules\" \"$(PODS_TARGET_SRCROOT)/ios/generated\"",
40
+ }
31
41
 
32
42
  s.dependency 'RNFBApp'
33
43
 
34
- # React Native dependencies
35
- if defined?(install_modules_dependencies()) != nil
36
- install_modules_dependencies(s);
37
- else
38
- s.dependency "React-Core"
44
+ install_modules_dependencies(s);
45
+
46
+ if defined?(ENV["RCT_NEW_ARCH_ENABLED"]) != nil && (ENV["RCT_NEW_ARCH_ENABLED"] == '0')
47
+ raise "#{s.name} requires New Architecture. Enable New Architecture to use this module"
39
48
  end
40
49
 
41
50
  if defined?($FirebaseSDKVersion)
@@ -44,7 +53,7 @@ Pod::Spec.new do |s|
44
53
  end
45
54
 
46
55
  # Firebase dependencies
47
- s.dependency 'Firebase/Auth', firebase_sdk_version
56
+ firebase_dependency(s, firebase_sdk_version, ['FirebaseAuth'], 'Firebase/Auth')
48
57
 
49
58
  if defined?($RNFirebaseAsStaticFramework)
50
59
  Pod::UI.puts "#{s.name}: Using overridden static_framework value of '#{$RNFirebaseAsStaticFramework}'"
@@ -75,6 +75,11 @@ android {
75
75
  targetCompatibility = JavaVersion.VERSION_11
76
76
  }
77
77
  }
78
+ sourceSets {
79
+ main {
80
+ java.excludes = ['**/generated/jni/**']
81
+ }
82
+ }
78
83
  }
79
84
 
80
85
  repositories {
@@ -92,3 +97,21 @@ ReactNative.shared.applyPackageVersion()
92
97
  ReactNative.shared.applyDefaultExcludes()
93
98
  ReactNative.module.applyAndroidVersions()
94
99
  ReactNative.module.applyReactNativeDependency("api")
100
+
101
+ def isNewArchitectureDisabled() {
102
+ return project.hasProperty("newArchEnabled") && project.newArchEnabled != "true"
103
+ }
104
+
105
+ if (isNewArchitectureDisabled()) {
106
+ def ANSI_RED = "\u001B[31m";
107
+ def ANSI_RESET = "\u001B[0m";
108
+
109
+ println("\n\n\n")
110
+ println(ANSI_RED + "**************************************************************************************************************")
111
+ println("\n\n\n")
112
+ println("New Architecture support is required for @react-native-firebase/auth")
113
+ println("\n\n\n")
114
+ println("**************************************************************************************************************" + ANSI_RESET)
115
+ println("\n\n\n")
116
+ System.exit(1)
117
+ }