Skip to content

Commit 14c869c

Browse files
rubennortefacebook-github-bot
authored andcommitted
Reduce side-effects of AppRegistry (#53054)
Summary: Pull Request resolved: #53054 Changelog: [internal] We eagerly require `AppRegistry` from environment initialization (`InitializeCore`) because it has some side-effects that are necessary for error reporting (see #34649 and #34650), but this change makes a lot of modules to be eagerly initialized. This reduces that to avoid loading modules that not necessary for environment setup, which allows us to do things like setting up feature flags before modules like `View` and `Text` have been initialized. Reviewed By: rshest Differential Revision: D79636159 fbshipit-source-id: a3f1e0db3dd69112ceef3ea339167694e2457454
1 parent dc322d9 commit 14c869c

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

packages/react-native/Libraries/ReactNative/AppRegistryImpl.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ import createPerformanceLogger from '../Utilities/createPerformanceLogger';
2626
import SceneTracker from '../Utilities/SceneTracker';
2727
import {coerceDisplayMode} from './DisplayMode';
2828
import HeadlessJsTaskError from './HeadlessJsTaskError';
29-
import NativeHeadlessJsTaskSupport from './NativeHeadlessJsTaskSupport';
30-
import renderApplication from './renderApplication';
3129
import {unmountComponentAtNodeAndRemoveContainer} from './RendererProxy';
3230
import invariant from 'invariant';
3331

@@ -86,6 +84,7 @@ export function registerComponent(
8684
): string {
8785
const scopedPerformanceLogger = createPerformanceLogger();
8886
runnables[appKey] = (appParameters, displayMode) => {
87+
const renderApplication = require('./renderApplication').default;
8988
renderApplication(
9089
componentProviderInstrumentationHook(
9190
componentProvider,
@@ -258,6 +257,9 @@ export function startHeadlessTask(
258257
taskKey: string,
259258
data: any,
260259
): void {
260+
const NativeHeadlessJsTaskSupport =
261+
require('./NativeHeadlessJsTaskSupport').default;
262+
261263
const taskProvider = taskProviders.get(taskKey);
262264
if (!taskProvider) {
263265
console.warn(`No task registered for key ${taskKey}`);

0 commit comments

Comments
 (0)