@react-native-firebase/app-distribution 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 (59) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/RNFBAppDistribution.podspec +9 -7
  3. package/android/build.gradle +19 -0
  4. package/android/src/main/java/io/invertase/firebase/appdistribution/{ReactNativeFirebaseAppDistributionModule.java → NativeRNFBTurboAppDistribution.java} +14 -17
  5. package/android/src/main/java/io/invertase/firebase/appdistribution/ReactNativeFirebaseAppDistributionPackage.java +1 -1
  6. package/android/src/main/java/io/invertase/firebase/appdistribution/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboAppDistributionSpec.java +50 -0
  7. package/android/src/main/java/io/invertase/firebase/appdistribution/generated/jni/CMakeLists.txt +36 -0
  8. package/android/src/main/java/io/invertase/firebase/appdistribution/generated/jni/RNFBAppDistributionTurboModules-generated.cpp +50 -0
  9. package/android/src/main/java/io/invertase/firebase/appdistribution/generated/jni/RNFBAppDistributionTurboModules.h +31 -0
  10. package/android/src/main/java/io/invertase/firebase/appdistribution/generated/jni/react/renderer/components/RNFBAppDistributionTurboModules/RNFBAppDistributionTurboModulesJSI-generated.cpp +44 -0
  11. package/android/src/main/java/io/invertase/firebase/appdistribution/generated/jni/react/renderer/components/RNFBAppDistributionTurboModules/RNFBAppDistributionTurboModulesJSI.h +166 -0
  12. package/app.plugin.js +1 -1
  13. package/dist/module/index.js +63 -3
  14. package/dist/module/index.js.map +1 -1
  15. package/dist/module/version.js +1 -1
  16. package/dist/typescript/lib/index.d.ts +12 -4
  17. package/dist/typescript/lib/index.d.ts.map +1 -1
  18. package/dist/typescript/lib/types/internal.d.ts +5 -8
  19. package/dist/typescript/lib/types/internal.d.ts.map +1 -1
  20. package/dist/typescript/lib/version.d.ts +1 -1
  21. package/ios/RNFBAppDistribution/RNFBAppDistributionModule.h +2 -3
  22. package/ios/RNFBAppDistribution/{RNFBAppDistributionModule.m → RNFBAppDistributionModule.mm} +54 -20
  23. package/ios/RNFBAppDistribution.xcodeproj/project.pbxproj +8 -8
  24. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  25. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  26. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  27. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  28. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  29. package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
  30. package/ios/generated/RNFBAppDistributionTurboModules/RNFBAppDistributionTurboModules-generated.mm +60 -0
  31. package/ios/generated/RNFBAppDistributionTurboModules/RNFBAppDistributionTurboModules.h +69 -0
  32. package/ios/generated/RNFBAppDistributionTurboModulesJSI-generated.cpp +44 -0
  33. package/ios/generated/RNFBAppDistributionTurboModulesJSI.h +166 -0
  34. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  35. package/lib/index.ts +93 -5
  36. package/lib/types/internal.ts +5 -10
  37. package/lib/version.ts +1 -1
  38. package/package.json +30 -5
  39. package/plugin/build/app.plugin.d.ts +2 -0
  40. package/plugin/build/app.plugin.js +6 -0
  41. package/plugin/src/app.plugin.ts +3 -0
  42. package/plugin/tsconfig.tsbuildinfo +1 -1
  43. package/react-native.config.js +10 -0
  44. package/specs/NativeRNFBTurboAppDistribution.ts +19 -0
  45. package/dist/module/modular.js +0 -43
  46. package/dist/module/modular.js.map +0 -1
  47. package/dist/module/namespaced.js +0 -73
  48. package/dist/module/namespaced.js.map +0 -1
  49. package/dist/module/types/namespaced.js +0 -10
  50. package/dist/module/types/namespaced.js.map +0 -1
  51. package/dist/typescript/lib/modular.d.ts +0 -9
  52. package/dist/typescript/lib/modular.d.ts.map +0 -1
  53. package/dist/typescript/lib/namespaced.d.ts +0 -7
  54. package/dist/typescript/lib/namespaced.d.ts.map +0 -1
  55. package/dist/typescript/lib/types/namespaced.d.ts +0 -55
  56. package/dist/typescript/lib/types/namespaced.d.ts.map +0 -1
  57. package/lib/modular.ts +0 -54
  58. package/lib/namespaced.ts +0 -103
  59. package/lib/types/namespaced.ts +0 -64
package/CHANGELOG.md CHANGED
@@ -3,6 +3,27 @@
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
+ - **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))
11
+
12
+ ## [26.0.0](https://github.com/invertase/react-native-firebase/compare/v25.1.0...v26.0.0) (2026-07-29)
13
+
14
+ ### ⚠ BREAKING CHANGES
15
+
16
+ - **app-distribution:** migrate app-distribution to TurboModules
17
+
18
+ ### Features
19
+
20
+ - **app-distribution:** migrate app-distribution to TurboModules ([1ab98b1](https://github.com/invertase/react-native-firebase/commit/1ab98b15ce982a7d4779f2572795e0cd6d007d1d))
21
+
22
+ ### Bug Fixes
23
+
24
+ - add codegen verify and spec-native parity tests ([49d9f1b](https://github.com/invertase/react-native-firebase/commit/49d9f1baba4fc83c1dd4983f582bbd7352d78809))
25
+ - **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)
26
+
6
27
  ## [25.1.0](https://github.com/invertase/react-native-firebase/compare/v25.0.1...v25.1.0) (2026-06-25)
7
28
 
8
29
  **Note:** Version bump only for package @react-native-firebase/app-distribution
@@ -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
 
@@ -25,15 +26,16 @@ Pod::Spec.new do |s|
25
26
  s.social_media_url = 'http://twitter.com/invertaseio'
26
27
  s.ios.deployment_target = firebase_ios_target
27
28
  s.macos.deployment_target = firebase_macos_target
28
- s.source_files = 'ios/**/*.{h,m}'
29
+ s.source_files = 'ios/**/*.{h,m,mm,cpp,swift}'
30
+ s.private_header_files = "ios/**/*.h"
31
+ s.exclude_files = 'ios/generated/RCTThirdPartyComponentsProvider.*', 'ios/generated/RCTAppDependencyProvider.*', 'ios/generated/RCTModuleProviders.*', 'ios/generated/RCTModulesConformingToProtocolsProvider.*', 'ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.*'
29
32
 
30
33
  s.dependency 'RNFBApp'
31
34
 
32
- # React Native dependencies
33
- if defined?(install_modules_dependencies()) != nil
34
- install_modules_dependencies(s);
35
- else
36
- s.dependency "React-Core"
35
+ install_modules_dependencies(s);
36
+
37
+ if defined?(ENV["RCT_NEW_ARCH_ENABLED"]) != nil && (ENV["RCT_NEW_ARCH_ENABLED"] == '0')
38
+ raise "#{s.name} requires New Architecture. Enable New Architecture to use this module"
37
39
  end
38
40
 
39
41
  if defined?($FirebaseSDKVersion)
@@ -42,7 +44,7 @@ Pod::Spec.new do |s|
42
44
  end
43
45
 
44
46
  # Firebase dependencies
45
- s.dependency 'Firebase/AppDistribution', firebase_sdk_version
47
+ firebase_dependency(s, firebase_sdk_version, ['FirebaseAppDistribution-Beta'], 'Firebase/AppDistribution')
46
48
 
47
49
  if defined?($RNFirebaseAsStaticFramework)
48
50
  Pod::UI.puts "#{s.name}: Using overridden static_framework value of '#{$RNFirebaseAsStaticFramework}'"
@@ -81,6 +81,7 @@ android {
81
81
  sourceSets {
82
82
  main {
83
83
  java.srcDirs = ['src/main/java', 'src/reactnative/java']
84
+ java.excludes = ['**/generated/jni/**']
84
85
  }
85
86
  }
86
87
  }
@@ -105,3 +106,21 @@ ReactNative.shared.applyPackageVersion()
105
106
  ReactNative.shared.applyDefaultExcludes()
106
107
  ReactNative.module.applyAndroidVersions()
107
108
  ReactNative.module.applyReactNativeDependency("api")
109
+
110
+ def isNewArchitectureDisabled() {
111
+ return project.hasProperty("newArchEnabled") && project.newArchEnabled != "true"
112
+ }
113
+
114
+ if (isNewArchitectureDisabled()) {
115
+ def ANSI_RED = "\u001B[31m";
116
+ def ANSI_RESET = "\u001B[0m";
117
+
118
+ println("\n\n\n")
119
+ println(ANSI_RED + "**************************************************************************************************************")
120
+ println("\n\n\n")
121
+ println("New Architecture support is required for @react-native-firebase/app-distribution")
122
+ println("\n\n\n")
123
+ println("**************************************************************************************************************" + ANSI_RESET)
124
+ println("\n\n\n")
125
+ System.exit(1)
126
+ }
@@ -17,37 +17,34 @@ package io.invertase.firebase.appdistribution;
17
17
  *
18
18
  */
19
19
 
20
- import com.facebook.react.bridge.*;
21
- import io.invertase.firebase.common.ReactNativeFirebaseModule;
20
+ import com.facebook.fbreact.specs.NativeRNFBTurboAppDistributionSpec;
21
+ import com.facebook.react.bridge.Promise;
22
+ import com.facebook.react.bridge.ReactApplicationContext;
22
23
 
23
- public class ReactNativeFirebaseAppDistributionModule extends ReactNativeFirebaseModule {
24
+ public class NativeRNFBTurboAppDistribution extends NativeRNFBTurboAppDistributionSpec {
24
25
  private static final String TAG = "AppDistribution";
25
26
 
26
- ReactNativeFirebaseAppDistributionModule(ReactApplicationContext reactContext) {
27
- super(reactContext, TAG);
27
+ public NativeRNFBTurboAppDistribution(ReactApplicationContext reactContext) {
28
+ super(reactContext);
28
29
  }
29
30
 
30
- @ReactMethod
31
+ @Override
31
32
  public void isTesterSignedIn(Promise promise) {
32
- rejectPromiseWithCodeAndMessage(
33
- promise, "platform-unsupported", "Android is not supported for App Distribution");
33
+ promise.reject("platform-unsupported", "Android is not supported for App Distribution");
34
34
  }
35
35
 
36
- @ReactMethod
36
+ @Override
37
37
  public void signInTester(Promise promise) {
38
- rejectPromiseWithCodeAndMessage(
39
- promise, "platform-unsupported", "Android is not supported for App Distribution");
38
+ promise.reject("platform-unsupported", "Android is not supported for App Distribution");
40
39
  }
41
40
 
42
- @ReactMethod
41
+ @Override
43
42
  public void checkForUpdate(Promise promise) {
44
- rejectPromiseWithCodeAndMessage(
45
- promise, "platform-unsupported", "Android is not supported for App Distribution");
43
+ promise.reject("platform-unsupported", "Android is not supported for App Distribution");
46
44
  }
47
45
 
48
- @ReactMethod
46
+ @Override
49
47
  public void signOutTester(Promise promise) {
50
- rejectPromiseWithCodeAndMessage(
51
- promise, "platform-unsupported", "Android is not supported for App Distribution");
48
+ promise.reject("platform-unsupported", "Android is not supported for App Distribution");
52
49
  }
53
50
  }
@@ -30,7 +30,7 @@ public class ReactNativeFirebaseAppDistributionPackage implements ReactPackage {
30
30
  @Override
31
31
  public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
32
32
  List<NativeModule> modules = new ArrayList<>();
33
- modules.add(new ReactNativeFirebaseAppDistributionModule(reactContext));
33
+ modules.add(new NativeRNFBTurboAppDistribution(reactContext));
34
34
  return modules;
35
35
  }
36
36
 
@@ -0,0 +1,50 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateModuleJavaSpec.js
9
+ *
10
+ * @nolint
11
+ */
12
+
13
+ package com.facebook.fbreact.specs;
14
+
15
+ import com.facebook.proguard.annotations.DoNotStrip;
16
+ import com.facebook.react.bridge.Promise;
17
+ import com.facebook.react.bridge.ReactApplicationContext;
18
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
19
+ import com.facebook.react.bridge.ReactMethod;
20
+ import com.facebook.react.turbomodule.core.interfaces.TurboModule;
21
+ import javax.annotation.Nonnull;
22
+
23
+ public abstract class NativeRNFBTurboAppDistributionSpec extends ReactContextBaseJavaModule implements TurboModule {
24
+ public static final String NAME = "NativeRNFBTurboAppDistribution";
25
+
26
+ public NativeRNFBTurboAppDistributionSpec(ReactApplicationContext reactContext) {
27
+ super(reactContext);
28
+ }
29
+
30
+ @Override
31
+ public @Nonnull String getName() {
32
+ return NAME;
33
+ }
34
+
35
+ @ReactMethod
36
+ @DoNotStrip
37
+ public abstract void isTesterSignedIn(Promise promise);
38
+
39
+ @ReactMethod
40
+ @DoNotStrip
41
+ public abstract void signInTester(Promise promise);
42
+
43
+ @ReactMethod
44
+ @DoNotStrip
45
+ public abstract void signOutTester(Promise promise);
46
+
47
+ @ReactMethod
48
+ @DoNotStrip
49
+ public abstract void checkForUpdate(Promise promise);
50
+ }
@@ -0,0 +1,36 @@
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ #
3
+ # This source code is licensed under the MIT license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+ cmake_minimum_required(VERSION 3.13)
7
+ set(CMAKE_VERBOSE_MAKEFILE on)
8
+
9
+ file(GLOB react_codegen_SRCS CONFIGURE_DEPENDS *.cpp react/renderer/components/RNFBAppDistributionTurboModules/*.cpp)
10
+
11
+ add_library(
12
+ react_codegen_RNFBAppDistributionTurboModules
13
+ OBJECT
14
+ ${react_codegen_SRCS}
15
+ )
16
+
17
+ target_include_directories(react_codegen_RNFBAppDistributionTurboModules PUBLIC . react/renderer/components/RNFBAppDistributionTurboModules)
18
+
19
+ target_link_libraries(
20
+ react_codegen_RNFBAppDistributionTurboModules
21
+ fbjni
22
+ jsi
23
+ # We need to link different libraries based on whether we are building rncore or not, that's necessary
24
+ # because we want to break a circular dependency between react_codegen_rncore and reactnative
25
+ reactnative
26
+ )
27
+
28
+ target_compile_options(
29
+ react_codegen_RNFBAppDistributionTurboModules
30
+ PRIVATE
31
+ -DLOG_TAG=\"ReactNative\"
32
+ -fexceptions
33
+ -frtti
34
+ -std=c++20
35
+ -Wall
36
+ )
@@ -0,0 +1,50 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateModuleJniCpp.js
9
+ */
10
+
11
+ #include "RNFBAppDistributionTurboModules.h"
12
+
13
+ namespace facebook::react {
14
+
15
+ static facebook::jsi::Value __hostFunction_NativeRNFBTurboAppDistributionSpecJSI_isTesterSignedIn(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
16
+ static jmethodID cachedMethodId = nullptr;
17
+ return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "isTesterSignedIn", "(Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
18
+ }
19
+
20
+ static facebook::jsi::Value __hostFunction_NativeRNFBTurboAppDistributionSpecJSI_signInTester(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
21
+ static jmethodID cachedMethodId = nullptr;
22
+ return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "signInTester", "(Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
23
+ }
24
+
25
+ static facebook::jsi::Value __hostFunction_NativeRNFBTurboAppDistributionSpecJSI_signOutTester(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
26
+ static jmethodID cachedMethodId = nullptr;
27
+ return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "signOutTester", "(Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
28
+ }
29
+
30
+ static facebook::jsi::Value __hostFunction_NativeRNFBTurboAppDistributionSpecJSI_checkForUpdate(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
31
+ static jmethodID cachedMethodId = nullptr;
32
+ return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "checkForUpdate", "(Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
33
+ }
34
+
35
+ NativeRNFBTurboAppDistributionSpecJSI::NativeRNFBTurboAppDistributionSpecJSI(const JavaTurboModule::InitParams &params)
36
+ : JavaTurboModule(params) {
37
+ methodMap_["isTesterSignedIn"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboAppDistributionSpecJSI_isTesterSignedIn};
38
+ methodMap_["signInTester"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboAppDistributionSpecJSI_signInTester};
39
+ methodMap_["signOutTester"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboAppDistributionSpecJSI_signOutTester};
40
+ methodMap_["checkForUpdate"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboAppDistributionSpecJSI_checkForUpdate};
41
+ }
42
+
43
+ std::shared_ptr<TurboModule> RNFBAppDistributionTurboModules_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params) {
44
+ if (moduleName == "NativeRNFBTurboAppDistribution") {
45
+ return std::make_shared<NativeRNFBTurboAppDistributionSpecJSI>(params);
46
+ }
47
+ return nullptr;
48
+ }
49
+
50
+ } // namespace facebook::react
@@ -0,0 +1,31 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateModuleJniH.js
9
+ */
10
+
11
+ #pragma once
12
+
13
+ #include <ReactCommon/JavaTurboModule.h>
14
+ #include <ReactCommon/TurboModule.h>
15
+ #include <jsi/jsi.h>
16
+
17
+ namespace facebook::react {
18
+
19
+ /**
20
+ * JNI C++ class for module 'NativeRNFBTurboAppDistribution'
21
+ */
22
+ class JSI_EXPORT NativeRNFBTurboAppDistributionSpecJSI : public JavaTurboModule {
23
+ public:
24
+ NativeRNFBTurboAppDistributionSpecJSI(const JavaTurboModule::InitParams &params);
25
+ };
26
+
27
+
28
+ JSI_EXPORT
29
+ std::shared_ptr<TurboModule> RNFBAppDistributionTurboModules_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params);
30
+
31
+ } // namespace facebook::react
@@ -0,0 +1,44 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GenerateModuleCpp.js
8
+ */
9
+
10
+ #include "RNFBAppDistributionTurboModulesJSI.h"
11
+
12
+ namespace facebook::react {
13
+
14
+ static jsi::Value __hostFunction_NativeRNFBTurboAppDistributionCxxSpecJSI_isTesterSignedIn(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
15
+ return static_cast<NativeRNFBTurboAppDistributionCxxSpecJSI *>(&turboModule)->isTesterSignedIn(
16
+ rt
17
+ );
18
+ }
19
+ static jsi::Value __hostFunction_NativeRNFBTurboAppDistributionCxxSpecJSI_signInTester(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
20
+ return static_cast<NativeRNFBTurboAppDistributionCxxSpecJSI *>(&turboModule)->signInTester(
21
+ rt
22
+ );
23
+ }
24
+ static jsi::Value __hostFunction_NativeRNFBTurboAppDistributionCxxSpecJSI_signOutTester(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
25
+ return static_cast<NativeRNFBTurboAppDistributionCxxSpecJSI *>(&turboModule)->signOutTester(
26
+ rt
27
+ );
28
+ }
29
+ static jsi::Value __hostFunction_NativeRNFBTurboAppDistributionCxxSpecJSI_checkForUpdate(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
30
+ return static_cast<NativeRNFBTurboAppDistributionCxxSpecJSI *>(&turboModule)->checkForUpdate(
31
+ rt
32
+ );
33
+ }
34
+
35
+ NativeRNFBTurboAppDistributionCxxSpecJSI::NativeRNFBTurboAppDistributionCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker)
36
+ : TurboModule("NativeRNFBTurboAppDistribution", jsInvoker) {
37
+ methodMap_["isTesterSignedIn"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboAppDistributionCxxSpecJSI_isTesterSignedIn};
38
+ methodMap_["signInTester"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboAppDistributionCxxSpecJSI_signInTester};
39
+ methodMap_["signOutTester"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboAppDistributionCxxSpecJSI_signOutTester};
40
+ methodMap_["checkForUpdate"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboAppDistributionCxxSpecJSI_checkForUpdate};
41
+ }
42
+
43
+
44
+ } // namespace facebook::react
@@ -0,0 +1,166 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GenerateModuleH.js
8
+ */
9
+
10
+ #pragma once
11
+
12
+ #include <ReactCommon/TurboModule.h>
13
+ #include <react/bridging/Bridging.h>
14
+
15
+ namespace facebook::react {
16
+
17
+
18
+
19
+ #pragma mark - NativeRNFBTurboAppDistributionAppDistributionRelease
20
+
21
+ template <typename P0, typename P1, typename P2, typename P3, typename P4>
22
+ struct NativeRNFBTurboAppDistributionAppDistributionRelease {
23
+ P0 displayVersion;
24
+ P1 buildVersion;
25
+ P2 releaseNotes;
26
+ P3 isExpired;
27
+ P4 downloadURL;
28
+ bool operator==(const NativeRNFBTurboAppDistributionAppDistributionRelease &other) const {
29
+ return displayVersion == other.displayVersion && buildVersion == other.buildVersion && releaseNotes == other.releaseNotes && isExpired == other.isExpired && downloadURL == other.downloadURL;
30
+ }
31
+ };
32
+
33
+ template <typename T>
34
+ struct NativeRNFBTurboAppDistributionAppDistributionReleaseBridging {
35
+ static T types;
36
+
37
+ static T fromJs(
38
+ jsi::Runtime &rt,
39
+ const jsi::Object &value,
40
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
41
+ T result{
42
+ bridging::fromJs<decltype(types.displayVersion)>(rt, value.getProperty(rt, "displayVersion"), jsInvoker),
43
+ bridging::fromJs<decltype(types.buildVersion)>(rt, value.getProperty(rt, "buildVersion"), jsInvoker),
44
+ bridging::fromJs<decltype(types.releaseNotes)>(rt, value.getProperty(rt, "releaseNotes"), jsInvoker),
45
+ bridging::fromJs<decltype(types.isExpired)>(rt, value.getProperty(rt, "isExpired"), jsInvoker),
46
+ bridging::fromJs<decltype(types.downloadURL)>(rt, value.getProperty(rt, "downloadURL"), jsInvoker)};
47
+ return result;
48
+ }
49
+
50
+ #ifdef DEBUG
51
+ static jsi::String displayVersionToJs(jsi::Runtime &rt, decltype(types.displayVersion) value) {
52
+ return bridging::toJs(rt, value);
53
+ }
54
+
55
+ static jsi::String buildVersionToJs(jsi::Runtime &rt, decltype(types.buildVersion) value) {
56
+ return bridging::toJs(rt, value);
57
+ }
58
+
59
+ static std::optional<jsi::String> releaseNotesToJs(jsi::Runtime &rt, decltype(types.releaseNotes) value) {
60
+ return bridging::toJs(rt, value);
61
+ }
62
+
63
+ static bool isExpiredToJs(jsi::Runtime &rt, decltype(types.isExpired) value) {
64
+ return bridging::toJs(rt, value);
65
+ }
66
+
67
+ static jsi::String downloadURLToJs(jsi::Runtime &rt, decltype(types.downloadURL) value) {
68
+ return bridging::toJs(rt, value);
69
+ }
70
+ #endif
71
+
72
+ static jsi::Object toJs(
73
+ jsi::Runtime &rt,
74
+ const T &value,
75
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
76
+ auto result = facebook::jsi::Object(rt);
77
+ result.setProperty(rt, "displayVersion", bridging::toJs(rt, value.displayVersion, jsInvoker));
78
+ result.setProperty(rt, "buildVersion", bridging::toJs(rt, value.buildVersion, jsInvoker));
79
+ result.setProperty(rt, "releaseNotes", bridging::toJs(rt, value.releaseNotes, jsInvoker));
80
+ result.setProperty(rt, "isExpired", bridging::toJs(rt, value.isExpired, jsInvoker));
81
+ result.setProperty(rt, "downloadURL", bridging::toJs(rt, value.downloadURL, jsInvoker));
82
+ return result;
83
+ }
84
+ };
85
+
86
+ class JSI_EXPORT NativeRNFBTurboAppDistributionCxxSpecJSI : public TurboModule {
87
+ protected:
88
+ NativeRNFBTurboAppDistributionCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
89
+
90
+ public:
91
+ virtual jsi::Value isTesterSignedIn(jsi::Runtime &rt) = 0;
92
+ virtual jsi::Value signInTester(jsi::Runtime &rt) = 0;
93
+ virtual jsi::Value signOutTester(jsi::Runtime &rt) = 0;
94
+ virtual jsi::Value checkForUpdate(jsi::Runtime &rt) = 0;
95
+
96
+ };
97
+
98
+ template <typename T>
99
+ class JSI_EXPORT NativeRNFBTurboAppDistributionCxxSpec : public TurboModule {
100
+ public:
101
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
102
+ return delegate_.create(rt, propName);
103
+ }
104
+
105
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
106
+ return delegate_.getPropertyNames(runtime);
107
+ }
108
+
109
+ static constexpr std::string_view kModuleName = "NativeRNFBTurboAppDistribution";
110
+
111
+ protected:
112
+ NativeRNFBTurboAppDistributionCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
113
+ : TurboModule(std::string{NativeRNFBTurboAppDistributionCxxSpec::kModuleName}, jsInvoker),
114
+ delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
115
+
116
+
117
+ private:
118
+ class Delegate : public NativeRNFBTurboAppDistributionCxxSpecJSI {
119
+ public:
120
+ Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
121
+ NativeRNFBTurboAppDistributionCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
122
+
123
+ }
124
+
125
+ jsi::Value isTesterSignedIn(jsi::Runtime &rt) override {
126
+ static_assert(
127
+ bridging::getParameterCount(&T::isTesterSignedIn) == 1,
128
+ "Expected isTesterSignedIn(...) to have 1 parameters");
129
+
130
+ return bridging::callFromJs<jsi::Value>(
131
+ rt, &T::isTesterSignedIn, jsInvoker_, instance_);
132
+ }
133
+ jsi::Value signInTester(jsi::Runtime &rt) override {
134
+ static_assert(
135
+ bridging::getParameterCount(&T::signInTester) == 1,
136
+ "Expected signInTester(...) to have 1 parameters");
137
+
138
+ return bridging::callFromJs<jsi::Value>(
139
+ rt, &T::signInTester, jsInvoker_, instance_);
140
+ }
141
+ jsi::Value signOutTester(jsi::Runtime &rt) override {
142
+ static_assert(
143
+ bridging::getParameterCount(&T::signOutTester) == 1,
144
+ "Expected signOutTester(...) to have 1 parameters");
145
+
146
+ return bridging::callFromJs<jsi::Value>(
147
+ rt, &T::signOutTester, jsInvoker_, instance_);
148
+ }
149
+ jsi::Value checkForUpdate(jsi::Runtime &rt) override {
150
+ static_assert(
151
+ bridging::getParameterCount(&T::checkForUpdate) == 1,
152
+ "Expected checkForUpdate(...) to have 1 parameters");
153
+
154
+ return bridging::callFromJs<jsi::Value>(
155
+ rt, &T::checkForUpdate, jsInvoker_, instance_);
156
+ }
157
+
158
+ private:
159
+ friend class NativeRNFBTurboAppDistributionCxxSpec;
160
+ T *instance_;
161
+ };
162
+
163
+ Delegate delegate_;
164
+ };
165
+
166
+ } // namespace facebook::react
package/app.plugin.js CHANGED
@@ -1 +1 @@
1
- module.exports = require('./plugin/build');
1
+ module.exports = require('./plugin/build/app.plugin');
@@ -17,7 +17,67 @@
17
17
  *
18
18
  */
19
19
 
20
- export * from "./modular.js";
21
- export * from "./namespaced.js";
22
- export { default } from "./namespaced.js";
20
+ import { isIOS } from '@react-native-firebase/app/dist/module/common';
21
+ import { FirebaseModule, getOrCreateModularInstance } from '@react-native-firebase/app/dist/module/internal';
22
+ import { Platform } from 'react-native';
23
+ import "./types/internal.js";
24
+ import { version } from "./version.js";
25
+ const nativeModuleName = 'NativeRNFBTurboAppDistribution';
26
+ function rejectUnsupportedPlatform() {
27
+ return Promise.reject(new Error(`App Distribution is not supported on the ${Platform.OS} platform.`));
28
+ }
29
+ class FirebaseAppDistributionModule extends FirebaseModule {
30
+ isTesterSignedIn() {
31
+ if (isIOS) {
32
+ return this.native.isTesterSignedIn();
33
+ }
34
+ return rejectUnsupportedPlatform();
35
+ }
36
+ signInTester() {
37
+ if (isIOS) {
38
+ return this.native.signInTester();
39
+ }
40
+ return rejectUnsupportedPlatform();
41
+ }
42
+ checkForUpdate() {
43
+ if (isIOS) {
44
+ return this.native.checkForUpdate();
45
+ }
46
+ return rejectUnsupportedPlatform();
47
+ }
48
+ signOutTester() {
49
+ if (isIOS) {
50
+ return this.native.signOutTester();
51
+ }
52
+ return rejectUnsupportedPlatform();
53
+ }
54
+ }
55
+ const config = {
56
+ namespace: 'appDistribution',
57
+ nativeModuleName,
58
+ nativeEvents: false,
59
+ hasMultiAppSupport: false,
60
+ hasCustomUrlOrRegionSupport: false,
61
+ turboModule: true
62
+ };
63
+ export const SDK_VERSION = version;
64
+
65
+ /**
66
+ * Returns the {@link AppDistribution} instance for the default or given {@link FirebaseApp}.
67
+ */
68
+ export function getAppDistribution(app) {
69
+ return getOrCreateModularInstance(FirebaseAppDistributionModule, config, app);
70
+ }
71
+ export function isTesterSignedIn(appDistribution) {
72
+ return appDistribution.isTesterSignedIn();
73
+ }
74
+ export function signInTester(appDistribution) {
75
+ return appDistribution.signInTester();
76
+ }
77
+ export function checkForUpdate(appDistribution) {
78
+ return appDistribution.checkForUpdate();
79
+ }
80
+ export function signOutTester(appDistribution) {
81
+ return appDistribution.signOutTester();
82
+ }
23
83
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default"],"sourceRoot":"../../lib","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,cAAc,cAAW;AACzB,cAAc,iBAAc;AAC5B,SAASA,OAAO,QAAQ,iBAAc","ignoreList":[]}
1
+ {"version":3,"names":["isIOS","FirebaseModule","getOrCreateModularInstance","Platform","version","nativeModuleName","rejectUnsupportedPlatform","Promise","reject","Error","OS","FirebaseAppDistributionModule","isTesterSignedIn","native","signInTester","checkForUpdate","signOutTester","config","namespace","nativeEvents","hasMultiAppSupport","hasCustomUrlOrRegionSupport","turboModule","SDK_VERSION","getAppDistribution","app","appDistribution"],"sourceRoot":"../../lib","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,KAAK,QAAQ,+CAA+C;AACrE,SACEC,cAAc,EACdC,0BAA0B,QACrB,iDAAiD;AAExD,SAASC,QAAQ,QAAQ,cAAc;AACvC,OAAO,qBAAkB;AAGzB,SAASC,OAAO,QAAQ,cAAW;AAEnC,MAAMC,gBAAgB,GAAG,gCAAgC;AAEzD,SAASC,yBAAyBA,CAAA,EAAkB;EAClD,OAAOC,OAAO,CAACC,MAAM,CACnB,IAAIC,KAAK,CAAC,4CAA4CN,QAAQ,CAACO,EAAE,YAAY,CAC/E,CAAC;AACH;AAEA,MAAMC,6BAA6B,SAASV,cAAc,CAA0B;EAClFW,gBAAgBA,CAAA,EAAqB;IACnC,IAAIZ,KAAK,EAAE;MACT,OAAO,IAAI,CAACa,MAAM,CAACD,gBAAgB,CAAC,CAAC;IACvC;IAEA,OAAON,yBAAyB,CAAC,CAAC;EACpC;EAEAQ,YAAYA,CAAA,EAAkB;IAC5B,IAAId,KAAK,EAAE;MACT,OAAO,IAAI,CAACa,MAAM,CAACC,YAAY,CAAC,CAAC;IACnC;IAEA,OAAOR,yBAAyB,CAAC,CAAC;EACpC;EAEAS,cAAcA,CAAA,EAAoC;IAChD,IAAIf,KAAK,EAAE;MACT,OAAO,IAAI,CAACa,MAAM,CAACE,cAAc,CAAC,CAAC;IACrC;IAEA,OAAOT,yBAAyB,CAAC,CAAC;EACpC;EAEAU,aAAaA,CAAA,EAAkB;IAC7B,IAAIhB,KAAK,EAAE;MACT,OAAO,IAAI,CAACa,MAAM,CAACG,aAAa,CAAC,CAAC;IACpC;IAEA,OAAOV,yBAAyB,CAAC,CAAC;EACpC;AACF;AAEA,MAAMW,MAAoB,GAAG;EAC3BC,SAAS,EAAE,iBAAiB;EAC5Bb,gBAAgB;EAChBc,YAAY,EAAE,KAAK;EACnBC,kBAAkB,EAAE,KAAK;EACzBC,2BAA2B,EAAE,KAAK;EAClCC,WAAW,EAAE;AACf,CAAC;AAED,OAAO,MAAMC,WAAW,GAAGnB,OAAO;;AAElC;AACA;AACA;AACA,OAAO,SAASoB,kBAAkBA,CAACC,GAAiB,EAAmB;EACrE,OAAOvB,0BAA0B,CAC/BS,6BAA6B,EAC7BM,MAAM,EACNQ,GACF,CAAC;AACH;AAEA,OAAO,SAASb,gBAAgBA,CAACc,eAAgC,EAAoB;EACnF,OAAQA,eAAe,CAA6Bd,gBAAgB,CAAC,CAAC;AACxE;AAEA,OAAO,SAASE,YAAYA,CAACY,eAAgC,EAAiB;EAC5E,OAAQA,eAAe,CAA6BZ,YAAY,CAAC,CAAC;AACpE;AAEA,OAAO,SAASC,cAAcA,CAACW,eAAgC,EAAmC;EAChG,OAAQA,eAAe,CAA6BX,cAAc,CAAC,CAAC;AACtE;AAEA,OAAO,SAASC,aAAaA,CAACU,eAAgC,EAAiB;EAC7E,OAAQA,eAAe,CAA6BV,aAAa,CAAC,CAAC;AACrE","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
 
3
3
  // Generated by genversion.
4
- export const version = '25.1.0';
4
+ export const version = '26.1.0';
5
5
  //# sourceMappingURL=version.js.map
@@ -1,6 +1,14 @@
1
+ import type { FirebaseApp } from '@react-native-firebase/app';
2
+ import './types/internal';
3
+ import type { AppDistribution, AppDistributionRelease } from './types/app-distribution';
4
+ export declare const SDK_VERSION = "26.1.0";
5
+ /**
6
+ * Returns the {@link AppDistribution} instance for the default or given {@link FirebaseApp}.
7
+ */
8
+ export declare function getAppDistribution(app?: FirebaseApp): AppDistribution;
9
+ export declare function isTesterSignedIn(appDistribution: AppDistribution): Promise<boolean>;
10
+ export declare function signInTester(appDistribution: AppDistribution): Promise<void>;
11
+ export declare function checkForUpdate(appDistribution: AppDistribution): Promise<AppDistributionRelease>;
12
+ export declare function signOutTester(appDistribution: AppDistribution): Promise<void>;
1
13
  export type { AppDistribution, AppDistributionRelease } from './types/app-distribution';
2
- export type { FirebaseAppDistributionTypes } from './types/namespaced';
3
- export * from './modular';
4
- export * from './namespaced';
5
- export { default } from './namespaced';
6
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"AAiBA,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACxF,YAAY,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAEvE,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAQ9D,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAuDxF,eAAO,MAAM,WAAW,WAAU,CAAC;AAEnC;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,eAAe,CAMrE;AAED,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAEnF;AAED,wBAAgB,YAAY,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E;AAED,wBAAgB,cAAc,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAEhG;AAED,wBAAgB,aAAa,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7E;AAED,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}