Skip to content

Commit 73b4d67

Browse files
Delete deprecated JSIModule methods (#42115)
Summary: Pull Request resolved: #42115 React Native Android had a concept called JSIModules, which iOS doesn't have. The JSIModule concept was introduced in the early stages of the Fabric project to represent modules that interact with JS through JSI and they are not NativeModules. In the new architecture this concept is not really necessary and these interfaces were only used to initialize and destroy the Fabric renderer and TurboModule Manager in react native core. Bridgeless mode doesn’t use JSIModule anymore. Also, it has an explicit list of supported JSI module types, so is not open for extension. In order to simplify RN concepts and reduce confusion with TurboModules, which also "use JSI", deleting everything related to JSIModule. This was already deprecated in 0.74.0. Please use ReactInstanceEventListener to subscribe for react instance events instead of getJSIModule() and we recommend using TurboModules instead of JSIModules. Changelog: [General][Breaking] Delete JSIModule Reviewed By: javache, cortinico Differential Revision: D49597702 fbshipit-source-id: bc2bc190aafaf559336b341b50ffabf413474105
1 parent ac3261f commit 73b4d67

12 files changed

Lines changed: 1 addition & 270 deletions

File tree

packages/react-native/ReactAndroid/api/ReactAndroid.api

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -561,13 +561,11 @@ public final class com/facebook/react/bridge/CallbackImpl : com/facebook/react/b
561561

562562
public abstract interface class com/facebook/react/bridge/CatalystInstance : com/facebook/react/bridge/JSBundleLoaderDelegate, com/facebook/react/bridge/JSInstance, com/facebook/react/bridge/MemoryPressureListener {
563563
public abstract fun addBridgeIdleDebugListener (Lcom/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener;)V
564-
public abstract fun addJSIModules (Ljava/util/List;)V
565564
public abstract fun callFunction (Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/bridge/NativeArray;)V
566565
public abstract fun destroy ()V
567566
public abstract fun extendNativeModules (Lcom/facebook/react/bridge/NativeModuleRegistry;)V
568567
public abstract fun getFabricUIManager ()Lcom/facebook/react/bridge/UIManager;
569568
public abstract fun getJSCallInvokerHolder ()Lcom/facebook/react/turbomodule/core/interfaces/CallInvokerHolder;
570-
public abstract fun getJSIModule (Lcom/facebook/react/bridge/JSIModuleType;)Lcom/facebook/react/bridge/JSIModule;
571569
public abstract fun getJSModule (Ljava/lang/Class;)Lcom/facebook/react/bridge/JavaScriptModule;
572570
public abstract fun getJavaScriptContextHolder ()Lcom/facebook/react/bridge/JavaScriptContextHolder;
573571
public abstract fun getNativeMethodCallInvokerHolder ()Lcom/facebook/react/turbomodule/core/interfaces/NativeMethodCallInvokerHolder;
@@ -586,21 +584,18 @@ public abstract interface class com/facebook/react/bridge/CatalystInstance : com
586584
public abstract fun removeBridgeIdleDebugListener (Lcom/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener;)V
587585
public abstract fun runJSBundle ()V
588586
public abstract fun setFabricUIManager (Lcom/facebook/react/bridge/UIManager;)V
589-
public abstract fun setTurboModuleManager (Lcom/facebook/react/bridge/JSIModule;)V
590587
public abstract fun setTurboModuleRegistry (Lcom/facebook/react/internal/turbomodule/core/interfaces/TurboModuleRegistry;)V
591588
}
592589

593590
public class com/facebook/react/bridge/CatalystInstanceImpl : com/facebook/react/bridge/CatalystInstance {
594591
public fun addBridgeIdleDebugListener (Lcom/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener;)V
595-
public fun addJSIModules (Ljava/util/List;)V
596592
public fun callFunction (Lcom/facebook/react/bridge/CatalystInstanceImpl$PendingJSCall;)V
597593
public fun callFunction (Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/bridge/NativeArray;)V
598594
public fun destroy ()V
599595
public fun extendNativeModules (Lcom/facebook/react/bridge/NativeModuleRegistry;)V
600596
public fun getFabricUIManager ()Lcom/facebook/react/bridge/UIManager;
601597
public fun getJSCallInvokerHolder ()Lcom/facebook/react/turbomodule/core/CallInvokerHolderImpl;
602598
public synthetic fun getJSCallInvokerHolder ()Lcom/facebook/react/turbomodule/core/interfaces/CallInvokerHolder;
603-
public fun getJSIModule (Lcom/facebook/react/bridge/JSIModuleType;)Lcom/facebook/react/bridge/JSIModule;
604599
public fun getJSModule (Ljava/lang/Class;)Lcom/facebook/react/bridge/JavaScriptModule;
605600
public fun getJavaScriptContextHolder ()Lcom/facebook/react/bridge/JavaScriptContextHolder;
606601
public fun getNativeMethodCallInvokerHolder ()Lcom/facebook/react/turbomodule/core/NativeMethodCallInvokerHolderImpl;
@@ -626,7 +621,6 @@ public class com/facebook/react/bridge/CatalystInstanceImpl : com/facebook/react
626621
public fun setFabricUIManager (Lcom/facebook/react/bridge/UIManager;)V
627622
public fun setGlobalVariable (Ljava/lang/String;Ljava/lang/String;)V
628623
public fun setSourceURLs (Ljava/lang/String;Ljava/lang/String;)V
629-
public fun setTurboModuleManager (Lcom/facebook/react/bridge/JSIModule;)V
630624
public fun setTurboModuleRegistry (Lcom/facebook/react/internal/turbomodule/core/interfaces/TurboModuleRegistry;)V
631625
}
632626

@@ -796,31 +790,6 @@ public abstract interface class com/facebook/react/bridge/JSExceptionHandler {
796790
public abstract fun handleException (Ljava/lang/Exception;)V
797791
}
798792

799-
public abstract interface class com/facebook/react/bridge/JSIModule {
800-
public abstract fun initialize ()V
801-
public abstract fun invalidate ()V
802-
}
803-
804-
public abstract interface class com/facebook/react/bridge/JSIModulePackage {
805-
public abstract fun getJSIModules (Lcom/facebook/react/bridge/ReactApplicationContext;Lcom/facebook/react/bridge/JavaScriptContextHolder;)Ljava/util/List;
806-
}
807-
808-
public abstract interface class com/facebook/react/bridge/JSIModuleProvider {
809-
public abstract fun get ()Lcom/facebook/react/bridge/JSIModule;
810-
}
811-
812-
public abstract interface class com/facebook/react/bridge/JSIModuleSpec {
813-
public abstract fun getJSIModuleProvider ()Lcom/facebook/react/bridge/JSIModuleProvider;
814-
public abstract fun getJSIModuleType ()Lcom/facebook/react/bridge/JSIModuleType;
815-
}
816-
817-
public final class com/facebook/react/bridge/JSIModuleType : java/lang/Enum {
818-
public static final field TurboModuleManager Lcom/facebook/react/bridge/JSIModuleType;
819-
public static final field UIManager Lcom/facebook/react/bridge/JSIModuleType;
820-
public static fun valueOf (Ljava/lang/String;)Lcom/facebook/react/bridge/JSIModuleType;
821-
public static fun values ()[Lcom/facebook/react/bridge/JSIModuleType;
822-
}
823-
824793
public class com/facebook/react/bridge/JSONArguments {
825794
public fun <init> ()V
826795
public static fun fromJSONArray (Lorg/json/JSONArray;)Lcom/facebook/react/bridge/ReadableArray;
@@ -3706,13 +3675,11 @@ public abstract class com/facebook/react/runtime/BindingsInstaller {
37063675
public final class com/facebook/react/runtime/BridgelessCatalystInstance : com/facebook/react/bridge/CatalystInstance {
37073676
public fun <init> (Lcom/facebook/react/runtime/ReactHostImpl;)V
37083677
public fun addBridgeIdleDebugListener (Lcom/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener;)V
3709-
public fun addJSIModules (Ljava/util/List;)V
37103678
public fun callFunction (Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/bridge/NativeArray;)V
37113679
public fun destroy ()V
37123680
public fun extendNativeModules (Lcom/facebook/react/bridge/NativeModuleRegistry;)V
37133681
public fun getFabricUIManager ()Lcom/facebook/react/bridge/UIManager;
37143682
public fun getJSCallInvokerHolder ()Lcom/facebook/react/turbomodule/core/interfaces/CallInvokerHolder;
3715-
public fun getJSIModule (Lcom/facebook/react/bridge/JSIModuleType;)Lcom/facebook/react/bridge/JSIModule;
37163683
public fun getJSModule (Ljava/lang/Class;)Lcom/facebook/react/bridge/JavaScriptModule;
37173684
public fun getJavaScriptContextHolder ()Lcom/facebook/react/bridge/JavaScriptContextHolder;
37183685
public fun getNativeMethodCallInvokerHolder ()Lcom/facebook/react/turbomodule/core/interfaces/NativeMethodCallInvokerHolder;
@@ -3736,7 +3703,6 @@ public final class com/facebook/react/runtime/BridgelessCatalystInstance : com/f
37363703
public fun runJSBundle ()V
37373704
public fun setFabricUIManager (Lcom/facebook/react/bridge/UIManager;)V
37383705
public fun setSourceURLs (Ljava/lang/String;Ljava/lang/String;)V
3739-
public fun setTurboModuleManager (Lcom/facebook/react/bridge/JSIModule;)V
37403706
public fun setTurboModuleRegistry (Lcom/facebook/react/internal/turbomodule/core/interfaces/TurboModuleRegistry;)V
37413707
}
37423708

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import com.facebook.react.turbomodule.core.interfaces.CallInvokerHolder;
1717
import com.facebook.react.turbomodule.core.interfaces.NativeMethodCallInvokerHolder;
1818
import java.util.Collection;
19-
import java.util.List;
2019

2120
/**
2221
* A higher level API on top of the asynchronous JSC bridge. This provides an environment allowing
@@ -72,13 +71,6 @@ public interface CatalystInstance
7271
@Nullable
7372
NativeModule getNativeModule(String moduleName);
7473

75-
@Deprecated(
76-
since =
77-
"getJSIModule(JSIModuleType moduleType) is deprecated and will be deleted in the future."
78-
+ " Please use ReactInstanceEventListener to subscribe for react instance events"
79-
+ " instead.")
80-
JSIModule getJSIModule(JSIModuleType moduleType);
81-
8274
Collection<NativeModule> getNativeModules();
8375

8476
/**
@@ -122,9 +114,6 @@ public interface CatalystInstance
122114

123115
RuntimeScheduler getRuntimeScheduler();
124116

125-
@Deprecated
126-
<T extends JSIModule> void addJSIModules(List<JSIModuleSpec<T>> jsiModules);
127-
128117
/**
129118
* Returns a hybrid object that contains a pointer to a JS CallInvoker, which is used to schedule
130119
* work on the JS Thread. Required for TurboModuleManager initialization.
@@ -137,13 +126,6 @@ public interface CatalystInstance
137126
*/
138127
NativeMethodCallInvokerHolder getNativeMethodCallInvokerHolder();
139128

140-
@Deprecated(
141-
since =
142-
"setTurboModuleManager(JSIModule getter) is deprecated and will be deleted in the future."
143-
+ " Please use setTurboModuleRegistry(TurboModuleRegistry"
144-
+ " turboModuleRegistry)instead.")
145-
void setTurboModuleManager(JSIModule getter);
146-
147129
@DeprecatedInNewArchitecture(
148130
message =
149131
"This method will be deprecated later as part of Stable APIs with bridge removal and not"

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
import java.lang.ref.WeakReference;
3636
import java.util.ArrayList;
3737
import java.util.Collection;
38-
import java.util.List;
3938
import java.util.concurrent.CopyOnWriteArrayList;
4039
import java.util.concurrent.atomic.AtomicInteger;
4140

@@ -92,7 +91,6 @@ public String toString() {
9291
private final Object mJSCallsPendingInitLock = new Object();
9392

9493
private final NativeModuleRegistry mNativeModuleRegistry;
95-
private final JSIModuleRegistry mJSIModuleRegistry = new JSIModuleRegistry();
9694
private final JSExceptionHandler mJSExceptionHandler;
9795
private final MessageQueueThread mNativeModulesQueueThread;
9896
private boolean mInitialized = false;
@@ -357,7 +355,6 @@ public void destroy() {
357355
mNativeModulesQueueThread.runOnQueue(
358356
() -> {
359357
mNativeModuleRegistry.notifyJSInstanceDestroy();
360-
mJSIModuleRegistry.notifyJSInstanceDestroy();
361358
if (mFabricUIManager != null) {
362359
mFabricUIManager.invalidate();
363360
}
@@ -543,17 +540,6 @@ public JavaScriptContextHolder getJavaScriptContextHolder() {
543540

544541
public native RuntimeScheduler getRuntimeScheduler();
545542

546-
@Override
547-
@Deprecated
548-
public <T extends JSIModule> void addJSIModules(List<JSIModuleSpec<T>> jsiModules) {
549-
mJSIModuleRegistry.registerModules(jsiModules);
550-
}
551-
552-
@Override
553-
public JSIModule getJSIModule(JSIModuleType moduleType) {
554-
return mJSIModuleRegistry.getModule(moduleType);
555-
}
556-
557543
private native long getJavaScriptContext();
558544

559545
private void incrementPendingJSCalls() {
@@ -571,10 +557,6 @@ private void incrementPendingJSCalls() {
571557
}
572558
}
573559

574-
public void setTurboModuleManager(JSIModule module) {
575-
mTurboModuleRegistry = (TurboModuleRegistry) module;
576-
}
577-
578560
@Override
579561
public void setTurboModuleRegistry(TurboModuleRegistry turboModuleRegistry) {
580562
mTurboModuleRegistry = turboModuleRegistry;

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModule.java

Lines changed: 0 additions & 22 deletions
This file was deleted.

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleHolder.java

Lines changed: 0 additions & 37 deletions
This file was deleted.

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModulePackage.java

Lines changed: 0 additions & 20 deletions
This file was deleted.

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleProvider.java

Lines changed: 0 additions & 13 deletions
This file was deleted.

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleRegistry.java

Lines changed: 0 additions & 48 deletions
This file was deleted.

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleSpec.java

Lines changed: 0 additions & 16 deletions
This file was deleted.

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleType.java

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)