Skip to content

Commit ce6fb33

Browse files
javachefacebook-github-bot
authored andcommitted
Breaking - remove unused registration of JS modules
Summary: It's now unnecessary to declare which JS modules you want to expose on your package. To upgrade, remove all overrides of `createJSModules` and keeping calling your JS modules as before. Reviewed By: AaaChiuuu Differential Revision: D5229259 fbshipit-source-id: 1160826c951433722f1fe0421c1200883ba1a348
1 parent 71ea94b commit ce6fb33

30 files changed

+15
-203
lines changed

ReactAndroid/src/androidTest/java/com/facebook/react/testing/AbstractScrollViewTestCase.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ protected void tearDown() throws Exception {
4040
protected ReactInstanceSpecForTest createReactInstanceSpecForTest() {
4141
mScrollListenerModule = new ScrollListenerModule();
4242
return super.createReactInstanceSpecForTest()
43-
.addNativeModule(mScrollListenerModule)
44-
.addJSModule(ScrollViewTestModule.class);
43+
.addNativeModule(mScrollListenerModule);
4544
}
4645

4746
// See ScrollViewListenerModule.js

ReactAndroid/src/androidTest/java/com/facebook/react/testing/InstanceSpecForTestPackage.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,6 @@ public List<NativeModule> createNativeModules(
3636
return mSpecForTest.getExtraNativeModulesForTest();
3737
}
3838

39-
@Override
40-
public List<Class<? extends JavaScriptModule>> createJSModules() {
41-
return mSpecForTest.getExtraJSModulesForTest();
42-
}
43-
4439
@Override
4540
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
4641
return mSpecForTest.getExtraViewManagers();

ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,6 @@ public ReactInstanceSpecForTest addNativeModule(NativeModule module) {
3838
return this;
3939
}
4040

41-
public ReactInstanceSpecForTest addJSModule(Class jsClass) {
42-
mJSModuleSpecs.add(jsClass);
43-
return this;
44-
}
45-
4641
public ReactInstanceSpecForTest setPackage(ReactPackage reactPackage) {
4742
mReactPackage = reactPackage;
4843
return this;
@@ -57,10 +52,6 @@ public List<NativeModule> getExtraNativeModulesForTest() {
5752
return mNativeModules;
5853
}
5954

60-
public List<Class<? extends JavaScriptModule>> getExtraJSModulesForTest() {
61-
return mJSModuleSpecs;
62-
}
63-
6455
public ReactPackage getAlternativeReactPackageForTest() {
6556
return mReactPackage;
6657
}

ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestFactory.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ public interface ReactTestFactory {
1818
public static interface ReactInstanceEasyBuilder {
1919
ReactInstanceEasyBuilder setContext(Context context);
2020
ReactInstanceEasyBuilder addNativeModule(NativeModule module);
21-
ReactInstanceEasyBuilder addJSModule(Class moduleInterfaceClass);
2221
CatalystInstance build();
2322
}
2423

ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestHelper.java

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import android.view.View;
1717
import android.view.ViewGroup;
1818

19+
import com.facebook.infer.annotation.Assertions;
1920
import com.facebook.react.NativeModuleRegistryBuilder;
2021
import com.facebook.react.R;
2122
import com.facebook.react.ReactInstanceManager;
@@ -39,8 +40,6 @@ public class ReactTestHelper {
3940
private static class DefaultReactTestFactory implements ReactTestFactory {
4041
private static class ReactInstanceEasyBuilderImpl implements ReactInstanceEasyBuilder {
4142

42-
private final JavaScriptModuleRegistry.Builder mJSModuleRegistryBuilder =
43-
new JavaScriptModuleRegistry.Builder();
4443
private NativeModuleRegistryBuilder mNativeModuleRegistryBuilder;
4544

4645
private @Nullable Context mContext;
@@ -59,16 +58,11 @@ public ReactInstanceEasyBuilder addNativeModule(NativeModule nativeModule) {
5958
null,
6059
false);
6160
}
61+
Assertions.assertNotNull(nativeModule);
6262
mNativeModuleRegistryBuilder.addNativeModule(nativeModule);
6363
return this;
6464
}
6565

66-
@Override
67-
public ReactInstanceEasyBuilder addJSModule(Class moduleInterfaceClass) {
68-
mJSModuleRegistryBuilder.add(moduleInterfaceClass);
69-
return this;
70-
}
71-
7266
@Override
7367
public CatalystInstance build() {
7468
if (mNativeModuleRegistryBuilder == null) {
@@ -87,7 +81,6 @@ public CatalystInstance build() {
8781
.setReactQueueConfigurationSpec(ReactQueueConfigurationSpec.createDefault())
8882
.setJSExecutor(executor)
8983
.setRegistry(mNativeModuleRegistryBuilder.build())
90-
.setJSModuleRegistry(mJSModuleRegistryBuilder.build())
9184
.setJSBundleLoader(JSBundleLoader.createAssetLoader(
9285
mContext,
9386
"assets://AndroidTestBundle.js",
@@ -141,12 +134,6 @@ public ReactTestFactory.ReactInstanceEasyBuilder addNativeModule(NativeModule mo
141134
return this;
142135
}
143136

144-
@Override
145-
public ReactTestFactory.ReactInstanceEasyBuilder addJSModule(Class moduleInterfaceClass) {
146-
builder.addJSModule(moduleInterfaceClass);
147-
return this;
148-
}
149-
150137
@Override
151138
public CatalystInstance build() {
152139
final CatalystInstance instance = builder.build();

ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystMeasureLayoutTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,8 @@ protected String getReactApplicationKeyUnderTest() {
7474
@Override
7575
protected ReactInstanceSpecForTest createReactInstanceSpecForTest() {
7676
mAssertModule = new AssertModule();
77-
return new ReactInstanceSpecForTest()
78-
.addNativeModule(mAssertModule)
79-
.addJSModule(MeasureLayoutTestModule.class);
77+
return super.createReactInstanceSpecForTest()
78+
.addNativeModule(mAssertModule);
8079
}
8180

8281
private void waitForBridgeIdleAndVerifyAsserts() {

ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJSToJavaParametersTestCase.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ public void run() {
109109
.addNativeModule(new AppStateModule(getContext()))
110110
.addNativeModule(new FakeWebSocketModule())
111111
.addNativeModule(mUIManager)
112-
.addJSModule(TestJSToJavaParametersModule.class)
113112
.build();
114113
}
115114

ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJavaToJSArgumentsTestCase.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ public void run() {
8585
.addNativeModule(new DeviceInfoModule(getContext()))
8686
.addNativeModule(new AppStateModule(getContext()))
8787
.addNativeModule(new FakeWebSocketModule())
88-
.addJSModule(TestJavaToJSArgumentsModule.class)
8988
.addNativeModule(mUIManager)
9089
.build();
9190
}

ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJavaToJSReturnValuesTestCase.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@ protected void setUp() throws Exception {
126126
.addNativeModule(new DeviceInfoModule(getContext()))
127127
.addNativeModule(new AppStateModule(getContext()))
128128
.addNativeModule(new FakeWebSocketModule())
129-
.addJSModule(TestJavaToJSReturnValuesModule.class)
130129
.addNativeModule(mUIManager)
131130
.addNativeModule(new TestModule())
132131
.build();

ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystSubviewsClippingTestCase.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,8 @@ protected String getReactApplicationKeyUnderTest() {
5151

5252
@Override
5353
protected ReactInstanceSpecForTest createReactInstanceSpecForTest() {
54-
ReactInstanceSpecForTest instanceSpec = new ReactInstanceSpecForTest();
55-
instanceSpec.addJSModule(SubviewsClippingTestModule.class);
56-
instanceSpec.addViewManager(new ClippableViewManager(mEvents));
57-
return instanceSpec;
54+
return super.createReactInstanceSpecForTest()
55+
.addViewManager(new ClippableViewManager(mEvents));
5856
}
5957

6058
/**

ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystUIManagerTestCase.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ public void run() {
9999
.addNativeModule(new DeviceInfoModule(getContext()))
100100
.addNativeModule(new AppStateModule(getContext()))
101101
.addNativeModule(new FakeWebSocketModule())
102-
.addJSModule(UIManagerTestModule.class)
103102
.build()
104103
.getJSModule(UIManagerTestModule.class);
105104
}

ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,7 @@ public int getErrors() {
8080
@Override
8181
protected ReactInstanceSpecForTest createReactInstanceSpecForTest() {
8282
return super.createReactInstanceSpecForTest()
83-
.addNativeModule(mRecordingModule)
84-
.addJSModule(DatePickerDialogTestModule.class);
83+
.addNativeModule(mRecordingModule);
8584
}
8685

8786
@Override

ReactAndroid/src/androidTest/java/com/facebook/react/tests/JSLocaleTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ public void run() {
6666
.addNativeModule(new DeviceInfoModule(getContext()))
6767
.addNativeModule(new AppStateModule(getContext()))
6868
.addNativeModule(new FakeWebSocketModule())
69-
.addJSModule(TestJSLocaleModule.class)
7069
.build();
7170
}
7271

ReactAndroid/src/androidTest/java/com/facebook/react/tests/ProgressBarTestCase.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ public void run() {
9090
.addNativeModule(new DeviceInfoModule(getContext()))
9191
.addNativeModule(new AppStateModule(getContext()))
9292
.addNativeModule(new FakeWebSocketModule())
93-
.addJSModule(ProgressBarTestModule.class)
9493
.build();
9594

9695
mRootView = new ReactRootView(getContext());

ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactPickerTestCase.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* LICENSE file in the root directory of this source tree. An additional grant
66
* of patent rights can be found in the PATENTS file in the same directory.
77
*/
8-
8+
99
package com.facebook.react.tests;
1010

1111
import java.util.ArrayList;
@@ -68,7 +68,6 @@ protected String getReactApplicationKeyUnderTest() {
6868
protected ReactInstanceSpecForTest createReactInstanceSpecForTest() {
6969
mRecordingModule = new PickerAndroidRecordingModule();
7070
return super.createReactInstanceSpecForTest()
71-
.addJSModule(PickerAndroidTestModule.class)
7271
.addNativeModule(mRecordingModule);
7372
}
7473

ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactSwipeRefreshLayoutTestCase.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ protected String getReactApplicationKeyUnderTest() {
5555
@Override
5656
protected ReactInstanceSpecForTest createReactInstanceSpecForTest() {
5757
return super.createReactInstanceSpecForTest()
58-
.addNativeModule(mRecordingModule)
59-
.addJSModule(SwipeRefreshLayoutTestModule.class);
58+
.addNativeModule(mRecordingModule);
6059
}
6160

6261
public void testRefreshNoScroll() {

ReactAndroid/src/androidTest/java/com/facebook/react/tests/ShareTestCase.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,7 @@ public int getErrors() {
7373
@Override
7474
protected ReactInstanceSpecForTest createReactInstanceSpecForTest() {
7575
return super.createReactInstanceSpecForTest()
76-
.addNativeModule(mRecordingModule)
77-
.addJSModule(ShareTestModule.class);
76+
.addNativeModule(mRecordingModule);
7877
}
7978

8079
@Override

ReactAndroid/src/androidTest/java/com/facebook/react/tests/TextInputTestCase.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,6 @@ public void testMetionsInputColors() throws Throwable {
248248
@Override
249249
protected ReactInstanceSpecForTest createReactInstanceSpecForTest() {
250250
return super.createReactInstanceSpecForTest()
251-
.addJSModule(TextInputTestModule.class)
252251
.addNativeModule(mRecordingModule);
253252
}
254253

ReactAndroid/src/androidTest/java/com/facebook/react/tests/TimePickerDialogTestCase.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,7 @@ public int getErrors() {
7777
@Override
7878
protected ReactInstanceSpecForTest createReactInstanceSpecForTest() {
7979
return super.createReactInstanceSpecForTest()
80-
.addNativeModule(mRecordingModule)
81-
.addJSModule(TimePickerDialogTestModule.class);
80+
.addNativeModule(mRecordingModule);
8281
}
8382

8483
@Override

ReactAndroid/src/androidTest/java/com/facebook/react/tests/ViewRenderingTestCase.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ public void run() {
7171
.addNativeModule(new DeviceInfoModule(getContext()))
7272
.addNativeModule(new AppStateModule(getContext()))
7373
.addNativeModule(new FakeWebSocketModule())
74-
.addJSModule(ViewRenderingTestModule.class)
7574
.build();
7675

7776
mRootView = new ReactRootView(getContext());

ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -84,20 +84,6 @@ public List<NativeModule> createNativeModules(
8484
return new ArrayList(moduleMap.values());
8585
}
8686

87-
/**
88-
* {@inheritDoc}
89-
*/
90-
@Override
91-
public List<Class<? extends JavaScriptModule>> createJSModules() {
92-
final Set<Class<? extends JavaScriptModule>> moduleSet = new HashSet<>();
93-
for (ReactPackage reactPackage: mChildReactPackages) {
94-
for (Class<? extends JavaScriptModule> jsModule: reactPackage.createJSModules()) {
95-
moduleSet.add(jsModule);
96-
}
97-
}
98-
return new ArrayList(moduleSet);
99-
}
100-
10187
/**
10288
* {@inheritDoc}
10389
*/

ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,21 @@
1212
import javax.inject.Provider;
1313

1414
import java.util.ArrayList;
15-
import java.util.Arrays;
1615
import java.util.List;
1716

18-
import com.facebook.react.bridge.JavaScriptModule;
1917
import com.facebook.react.bridge.ModuleSpec;
2018
import com.facebook.react.bridge.NativeModule;
2119
import com.facebook.react.bridge.ReactApplicationContext;
2220
import com.facebook.react.bridge.ReactMarker;
2321
import com.facebook.react.common.build.ReactBuildConfig;
24-
import com.facebook.react.devsupport.HMRClient;
2522
import com.facebook.react.devsupport.JSCHeapCapture;
2623
import com.facebook.react.devsupport.JSCSamplingProfiler;
2724
import com.facebook.react.module.annotations.ReactModuleList;
2825
import com.facebook.react.module.model.ReactModuleInfoProvider;
29-
import com.facebook.react.modules.appregistry.AppRegistry;
3026
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
3127
import com.facebook.react.modules.core.DeviceEventManagerModule;
3228
import com.facebook.react.modules.core.ExceptionsManagerModule;
3329
import com.facebook.react.modules.core.HeadlessJsTaskSupportModule;
34-
import com.facebook.react.modules.core.JSTimersExecution;
35-
import com.facebook.react.modules.core.RCTNativeAppEventEmitter;
3630
import com.facebook.react.modules.core.Timing;
3731
import com.facebook.react.modules.debug.AnimationsDebugModule;
3832
import com.facebook.react.modules.debug.SourceCodeModule;
@@ -42,7 +36,6 @@
4236
import com.facebook.react.uimanager.UIManagerModule;
4337
import com.facebook.react.uimanager.ViewManager;
4438
import com.facebook.react.uimanager.debug.DebugComponentOwnershipModule;
45-
import com.facebook.react.uimanager.events.RCTEventEmitter;
4639
import com.facebook.systrace.Systrace;
4740

4841
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_MODULE_END;
@@ -187,26 +180,6 @@ public NativeModule get() {
187180
return moduleSpecList;
188181
}
189182

190-
@Override
191-
public List<Class<? extends JavaScriptModule>> createJSModules() {
192-
List<Class<? extends JavaScriptModule>> jsModules = new ArrayList<>(Arrays.asList(
193-
DeviceEventManagerModule.RCTDeviceEventEmitter.class,
194-
JSTimersExecution.class,
195-
RCTEventEmitter.class,
196-
RCTNativeAppEventEmitter.class,
197-
AppRegistry.class,
198-
com.facebook.react.bridge.Systrace.class,
199-
HMRClient.class));
200-
201-
if (ReactBuildConfig.DEBUG) {
202-
jsModules.add(DebugComponentOwnershipModule.RCTDebugComponentOwnership.class);
203-
jsModules.add(JSCHeapCapture.HeapCapture.class);
204-
jsModules.add(JSCSamplingProfiler.SamplingProfiler.class);
205-
}
206-
207-
return jsModules;
208-
}
209-
210183
@Override
211184
public ReactModuleInfoProvider getReactModuleInfoProvider() {
212185
// This has to be done via reflection or we break open source.

ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -926,7 +926,6 @@ private ReactApplicationContext createReactContext(
926926
reactContext,
927927
this,
928928
mLazyNativeModulesEnabled);
929-
JavaScriptModuleRegistry.Builder jsModulesBuilder = new JavaScriptModuleRegistry.Builder();
930929
if (mUseDeveloperSupport) {
931930
reactContext.setNativeModuleCallExceptionHandler(mDevSupportManager);
932931
}
@@ -942,7 +941,7 @@ private ReactApplicationContext createReactContext(
942941
mBackBtnHandler,
943942
mUIImplementationProvider,
944943
mLazyViewManagersEnabled);
945-
processPackage(coreModulesPackage, nativeModuleRegistryBuilder, jsModulesBuilder);
944+
processPackage(coreModulesPackage, nativeModuleRegistryBuilder);
946945
} finally {
947946
Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
948947
}
@@ -953,7 +952,7 @@ private ReactApplicationContext createReactContext(
953952
TRACE_TAG_REACT_JAVA_BRIDGE,
954953
"createAndProcessCustomReactPackage");
955954
try {
956-
processPackage(reactPackage, nativeModuleRegistryBuilder, jsModulesBuilder);
955+
processPackage(reactPackage, nativeModuleRegistryBuilder);
957956
} finally {
958957
Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
959958
}
@@ -979,7 +978,6 @@ private ReactApplicationContext createReactContext(
979978
ReactQueueConfigurationSpec.createDefault())
980979
.setJSExecutor(jsExecutor)
981980
.setRegistry(nativeModuleRegistry)
982-
.setJSModuleRegistry(jsModulesBuilder.build())
983981
.setJSBundleLoader(jsBundleLoader)
984982
.setNativeModuleCallExceptionHandler(exceptionHandler);
985983

@@ -1010,8 +1008,7 @@ private ReactApplicationContext createReactContext(
10101008

10111009
private void processPackage(
10121010
ReactPackage reactPackage,
1013-
NativeModuleRegistryBuilder nativeModuleRegistryBuilder,
1014-
JavaScriptModuleRegistry.Builder jsModulesBuilder) {
1011+
NativeModuleRegistryBuilder nativeModuleRegistryBuilder) {
10151012
SystraceMessage.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE, "processPackage")
10161013
.arg("className", reactPackage.getClass().getSimpleName())
10171014
.flush();
@@ -1020,9 +1017,6 @@ private void processPackage(
10201017
}
10211018
nativeModuleRegistryBuilder.processPackage(reactPackage);
10221019

1023-
for (Class<? extends JavaScriptModule> jsModuleClass : reactPackage.createJSModules()) {
1024-
jsModulesBuilder.add(jsModuleClass);
1025-
}
10261020
if (reactPackage instanceof ReactPackageLogger) {
10271021
((ReactPackageLogger) reactPackage).endProcessPackage();
10281022
}

0 commit comments

Comments
 (0)