-
Notifications
You must be signed in to change notification settings - Fork 24.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stop generating RCTThirdPartyLibraryComponentProvider #47517
Conversation
This pull request was exported from Phabricator. Differential Revision: D65601939 |
Summary: The `RCTThirdPartyLibraryComponentProvider` has been introduced to automate the component registration of third party libraries in the apps. However, it has some serious flaws: * It is generated in the React/Fabric folder, which means that it is generated in node_modules * It is generated when the user installs the components in the app, which means that we can't prebuild and redistribute React Native as a binary * it does not work with Frameworks and dynamic linking: in this scenarion, Fabric must build in isolation and if there are third party libraries involved, the lookup of the `xxxCls` function will fail This change removes the generation of the `RCTThirdPartyLibraryComponentProvider`. In the next diffs we will implement a different mechanism to register components ## Changelog [iOS][Changed] - Stop generating the RCTThirdPartyLibraryComponentProvider Differential Revision: D65601939
4ff3504
to
f1aa623
Compare
This pull request was exported from Phabricator. Differential Revision: D65601939 |
Summary: The `RCTThirdPartyLibraryComponentProvider` has been introduced to automate the component registration of third party libraries in the apps. However, it has some serious flaws: * It is generated in the React/Fabric folder, which means that it is generated in node_modules * It is generated when the user installs the components in the app, which means that we can't prebuild and redistribute React Native as a binary * it does not work with Frameworks and dynamic linking: in this scenarion, Fabric must build in isolation and if there are third party libraries involved, the lookup of the `xxxCls` function will fail This change removes the generation of the `RCTThirdPartyLibraryComponentProvider`. In the next diffs we will implement a different mechanism to register components ## Changelog [iOS][Changed] - Stop generating the RCTThirdPartyLibraryComponentProvider Differential Revision: D65601939
…book#47517) Summary: The `RCTThirdPartyLibraryComponentProvider` has been introduced to automate the component registration of third party libraries in the apps. However, it has some serious flaws: * It is generated in the React/Fabric folder, which means that it is generated in node_modules * It is generated when the user installs the components in the app, which means that we can't prebuild and redistribute React Native as a binary * it does not work with Frameworks and dynamic linking: in this scenarion, Fabric must build in isolation and if there are third party libraries involved, the lookup of the `xxxCls` function will fail This change removes the generation of the `RCTThirdPartyLibraryComponentProvider`. In the next diffs we will implement a different mechanism to register components ## Changelog [iOS][Changed] - Stop generating the RCTThirdPartyLibraryComponentProvider Reviewed By: dmytrorykun Differential Revision: D65601939
Summary: The `RCTThirdPartyLibraryComponentProvider` has been introduced to automate the component registration of third party libraries in the apps. However, it has some serious flaws: * It is generated in the React/Fabric folder, which means that it is generated in node_modules * It is generated when the user installs the components in the app, which means that we can't prebuild and redistribute React Native as a binary * it does not work with Frameworks and dynamic linking: in this scenarion, Fabric must build in isolation and if there are third party libraries involved, the lookup of the `xxxCls` function will fail This change removes the generation of the `RCTThirdPartyLibraryComponentProvider`. In the next diffs we will implement a different mechanism to register components ## Changelog [iOS][Changed] - Stop generating the RCTThirdPartyLibraryComponentProvider Reviewed By: dmytrorykun Differential Revision: D65601939
Summary: The `RCTThirdPartyLibraryComponentProvider` has been introduced to automate the component registration of third party libraries in the apps. However, it has some serious flaws: * It is generated in the React/Fabric folder, which means that it is generated in node_modules * It is generated when the user installs the components in the app, which means that we can't prebuild and redistribute React Native as a binary * it does not work with Frameworks and dynamic linking: in this scenarion, Fabric must build in isolation and if there are third party libraries involved, the lookup of the `xxxCls` function will fail This change removes the generation of the `RCTThirdPartyLibraryComponentProvider`. In the next diffs we will implement a different mechanism to register components ## Changelog [iOS][Changed] - Stop generating the RCTThirdPartyLibraryComponentProvider Reviewed By: dmytrorykun Differential Revision: D65601939
…book#47517) Summary: The `RCTThirdPartyLibraryComponentProvider` has been introduced to automate the component registration of third party libraries in the apps. However, it has some serious flaws: * It is generated in the React/Fabric folder, which means that it is generated in node_modules * It is generated when the user installs the components in the app, which means that we can't prebuild and redistribute React Native as a binary * it does not work with Frameworks and dynamic linking: in this scenarion, Fabric must build in isolation and if there are third party libraries involved, the lookup of the `xxxCls` function will fail This change removes the generation of the `RCTThirdPartyLibraryComponentProvider`. In the next diffs we will implement a different mechanism to register components ## Changelog [iOS][Changed] - Stop generating the RCTThirdPartyLibraryComponentProvider Reviewed By: dmytrorykun Differential Revision: D65601939
…book#47517) Summary: The `RCTThirdPartyLibraryComponentProvider` has been introduced to automate the component registration of third party libraries in the apps. However, it has some serious flaws: * It is generated in the React/Fabric folder, which means that it is generated in node_modules * It is generated when the user installs the components in the app, which means that we can't prebuild and redistribute React Native as a binary * it does not work with Frameworks and dynamic linking: in this scenarion, Fabric must build in isolation and if there are third party libraries involved, the lookup of the `xxxCls` function will fail This change removes the generation of the `RCTThirdPartyLibraryComponentProvider`. In the next diffs we will implement a different mechanism to register components ## Changelog [iOS][Changed] - Stop generating the RCTThirdPartyLibraryComponentProvider Reviewed By: dmytrorykun Differential Revision: D65601939
Summary: Pull Request resolved: facebook#47517 The `RCTThirdPartyLibraryComponentProvider` has been introduced to automate the component registration of third party libraries in the apps. However, it has some serious flaws: * It is generated in the React/Fabric folder, which means that it is generated in node_modules * It is generated when the user installs the components in the app, which means that we can't prebuild and redistribute React Native as a binary * it does not work with Frameworks and dynamic linking: in this scenarion, Fabric must build in isolation and if there are third party libraries involved, the lookup of the `xxxCls` function will fail This change removes the generation of the `RCTThirdPartyLibraryComponentProvider`. In the next diffs we will implement a different mechanism to register components ## Changelog [iOS][Changed] - Stop generating the RCTThirdPartyLibraryComponentProvider Differential Revision: D65601939
f1aa623
to
88550c0
Compare
Summary: The `RCTThirdPartyLibraryComponentProvider` has been introduced to automate the component registration of third party libraries in the apps. However, it has some serious flaws: * It is generated in the React/Fabric folder, which means that it is generated in node_modules * It is generated when the user installs the components in the app, which means that we can't prebuild and redistribute React Native as a binary * it does not work with Frameworks and dynamic linking: in this scenarion, Fabric must build in isolation and if there are third party libraries involved, the lookup of the `xxxCls` function will fail This change removes the generation of the `RCTThirdPartyLibraryComponentProvider`. In the next diffs we will implement a different mechanism to register components ## Changelog [iOS][Changed] - Stop generating the RCTThirdPartyLibraryComponentProvider Reviewed By: dmytrorykun Differential Revision: D65601939
88550c0
to
091ee30
Compare
This pull request was exported from Phabricator. Differential Revision: D65601939 |
1 similar comment
This pull request was exported from Phabricator. Differential Revision: D65601939 |
091ee30
to
6d155e4
Compare
This pull request was exported from Phabricator. Differential Revision: D65601939 |
Summary: The `RCTThirdPartyLibraryComponentProvider` has been introduced to automate the component registration of third party libraries in the apps. However, it has some serious flaws: * It is generated in the React/Fabric folder, which means that it is generated in node_modules * It is generated when the user installs the components in the app, which means that we can't prebuild and redistribute React Native as a binary * it does not work with Frameworks and dynamic linking: in this scenarion, Fabric must build in isolation and if there are third party libraries involved, the lookup of the `xxxCls` function will fail This change removes the generation of the `RCTThirdPartyLibraryComponentProvider`. In the next diffs we will implement a different mechanism to register components ## Changelog [iOS][Changed] - Stop generating the RCTThirdPartyLibraryComponentProvider Reviewed By: dmytrorykun Differential Revision: D65601939
6d155e4
to
65f00b0
Compare
This pull request was exported from Phabricator. Differential Revision: D65601939 |
This pull request has been merged in 60b9d3d. |
This pull request was successfully merged by @cipolleschi in 60b9d3d When will my fix make it into a release? | How to file a pick request? |
### Summary Fixed #755 There is an effort towards shipping React Native in a prebuilt format on iOS. As a result, some of the codegen-related custom code have to be generated at the build time. However, these changes also affected the codegen generated native code for libraries. This PR patches that behavior on bob level. Related PRs: - facebook/react-native#47518 - facebook/react-native#47650 - facebook/react-native#47517 ### Test plan This adds 3 unit test cases to make sure we're able to parse the codegen paths and delete the necessary files. #### To test it locally: 1. Build bob 1. Create a new library using `npx create-react-native-library`, and pick turbo modules 1. Link the local bob by calling `yarn link path/to/bob --all` in the new library 1. Call `yarn bob build --target codegen` 1. Make sure there is no `.podspec` file or mm files in `android/generated` 1. Make sure there is no `.podspec` file or any of the following files in `ios/generated`: ``` 'RCTAppDependencyProvider.h', 'RCTAppDependencyProvider.mm', 'RCTModulesConformingToProtocolsProvider.h', 'RCTModulesConformingToProtocolsProvider.mm', 'RCTThirdPartyComponentsProvider.h', 'RCTThirdPartyComponentsProvider.mm', 'ReactAppDependencyProvider.podspec', ```
Summary:
The
RCTThirdPartyLibraryComponentProvider
has been introduced to automate the component registration of third party libraries in the apps. However, it has some serious flaws:xxxCls
function will failThis change removes the generation of the
RCTThirdPartyLibraryComponentProvider
. In the next diffs we will implement a different mechanism to register componentsChangelog
[iOS][Changed] - Stop generating the RCTThirdPartyLibraryComponentProvider
Differential Revision: D65601939