microsoft / react-native-windows

A framework for building native Windows apps with React.
https://microsoft.github.io/react-native-windows/
Other
16.34k stars 1.14k forks source link

Unfork 'react/bridging/*' header files #13391

Open Yajur-Grover opened 4 months ago

Yajur-Grover commented 4 months ago

Summary

During the 6/13 integration, a new ReactCommon file EventEmitter.h was brought in from upstream, and added as an include into the TurboModule.h file, which was causing the following errors:

Error C1083 Cannot open include file: 'react/bridging/EventEmitter.h': No such file or directory PlaygroundNativeModules C:\new-account-repos\react-native-windows\node_modules\react-native\ReactCommon\react\nativemodule\core\ReactCommon\TurboModule.h 17
Error C1083 Cannot open include file: 'react/bridging/EventEmitter.h': No such file or directory ReactNativePicker C:\new-account-repos\react-native-windows\node_modules\react-native\ReactCommon\react\nativemodule\core\ReactCommon\TurboModule.h 17
Error C1083 Cannot open include file: 'react/bridging/EventEmitter.h': No such file or directory playground C:\new-account-repos\react-native-windows\node_modules\react-native\ReactCommon\react\nativemodule\core\ReactCommon\TurboModule.h 17  

These errors are the result of the path of the TurboModule.h having two ReactCommon directories, resulting in the Visual Studio looking in the wrong directory during the build process and throwing the above error.

In order to fix this issue, forks of EventEmitter.h, Function.h, Base.h and Convert.h in the react/bridigng directory in ReactCommon had to be made. Additionally, some slight modifications were also made to the include statements in LongLivedObject.h.

Motivation

Resolve path issue and errors being caused by it

Basic Example

No response

Open Questions

No response

chrisglein commented 4 months ago

As is slated to be a permanent fork (not something waiting for an upstream change), related to our tools. Investigation into options for that happening while still not blocking the integration (thus the forks).