mirror of
https://github.com/facebook/react-native.git
synced 2024-11-21 22:10:14 +00:00
Add RCTDependencyProvider
protocol (#47648)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/47648 React Native has a last temporal dependency on Codegen in the React-RCTAppDelegate pod. The RCTAppDelegate has the responsibility to provide various dependencies to react native, like third party components and various modules. ReactCodegen is generated when the user create the project, while React-RCTAppDelegate eists in React Native itself. This dependency means that we cannot prepare prebuilt for iOS for React Native because when we would have to create prebuilds, we would need the React Codegen, but we can't create a React codegen package that will fit all the apps, because React Codegen can contains App Specific modules and components and apps might have different dependencies. This change introduces the RCTDependencyProvider protocol to invert this dependency. ## Changelog: [iOS][Added] - Add RCTDependencyProvider protocol Reviewed By: dmytrorykun Differential Revision: D66074409 fbshipit-source-id: 0d3d3f707bcb44c1f34ebeb3ae019f7ea074f60f
This commit is contained in:
parent
7e0bdcb780
commit
f2b3716426
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@protocol RCTComponentViewProtocol;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol RCTDependencyProvider <NSObject>
|
||||
|
||||
- (NSArray<NSString *> *)imageURLLoaderClassNames;
|
||||
|
||||
- (NSArray<NSString *> *)imageDataDecoderClassNames;
|
||||
|
||||
- (NSArray<NSString *> *)URLRequestHandlerClassNames;
|
||||
|
||||
- (NSDictionary<NSString *, Class<RCTComponentViewProtocol>> *)thirdPartyFabricComponents;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
Loading…
Reference in New Issue
Block a user