react-native-macos/ReactCommon/cxxreact
Eloy Durán 941bc0ec19 Upstream RN macOS Hermes integration bits (#29748)
Summary:
Microsoft’s RN for macOS fork supports the Hermes engine nowadays https://github.com/microsoft/react-native-macos/pull/473. As a longer term work item, we’ve started moving bits that are not invasive for iOS but _are_ a maintenance burden on us—mostly when merging—upstream. Seeing as this one is a recent addition, it seemed like a good candidate to start with.

As to the actual changes, these include:

* Sharing Android’s Hermes executor with the objc side of the codebase.
* Adding a CocoaPods subspec to build the Hermes inspector source and its dependencies (`Folly/Futures`, `libevent`).
* Adding the bits to the Xcode build phase script that creates the JS bundle for release builds to compile Hermes bytecode and source-maps…
* …coincidentally it turns out that the Xcode build phase script did _not_ by default output source-maps for iOS, which is now fixed too.

All of the Hermes bits are automatically enabled, on macOS, when providing the `hermes-engine-darwin` [npm package](https://www.npmjs.com/package/hermes-engine-darwin) and enabling the Hermes pods.

## Changelog

[General] [Added] - Upstream RN macOS Hermes integration bits

Pull Request resolved: https://github.com/facebook/react-native/pull/29748

Test Plan:
Building RNTester for iOS and Android still works as before.

To test the actual changes themselves, you’ll have to use the macOS target in RNTester in the macOS fork, or create a new application from `master`:

<img width="812" alt="Screenshot 2020-08-18 at 16 55 06" src="https://user-images.githubusercontent.com/2320/90547606-160f6480-e18c-11ea-9a98-edbbaa755800.png">

Reviewed By: TheSavior

Differential Revision: D23304618

Pulled By: fkgozali

fbshipit-source-id: 4ef0e0f60d909f3c59f9cfc87c667189df656a3b
2020-08-27 01:18:33 -07:00
..
tests Remove JSDeltaBundleClient 2020-07-02 04:06:19 -07:00
.clang-tidy The life-changing magic of clang-tidying up 2020-02-04 11:09:30 -08:00
Android.mk Upstream RN macOS Hermes integration bits (#29748) 2020-08-27 01:18:33 -07:00
BUCK Remove JSDeltaBundleClient 2020-07-02 04:06:19 -07:00
CxxModule.h Codemod: Clang-format for all files in `ReactCommon` directory 2020-02-25 19:52:27 -08:00
CxxNativeModule.cpp Instrument sync and async method calls (#28893) 2020-05-13 20:28:18 -07:00
CxxNativeModule.h Instrument sync and async method calls (#28893) 2020-05-13 20:28:18 -07:00
ErrorUtils.h Add non-fatal error handling 2020-06-18 16:58:21 -07:00
Instance.cpp A corner case check in `Instance::handleMemoryPressure` 2020-05-29 20:38:25 -07:00
Instance.h Expose RuntimeExecutor on CatalystInstance (#28851) 2020-05-08 16:13:42 -07:00
JSBigString.cpp Add sanity checks to JSBigFileString 2020-06-18 20:51:59 -07:00
JSBigString.h Tidy up license headers [1/n] 2019-10-16 10:06:33 -07:00
JSBundleType.cpp Remove legacy bytecode handling 2020-06-16 02:12:09 -07:00
JSBundleType.h Remove legacy bytecode handling 2020-06-16 02:12:09 -07:00
JSExecutor.cpp Codemod: Clang-format for all files in `ReactCommon` directory 2020-02-25 19:52:27 -08:00
JSExecutor.h Split loadApplicationScript into initializeRuntime and loadBundle (#27844) 2020-04-01 17:52:39 -07:00
JSIndexedRAMBundle.cpp Replace folly::make_unique with std::make_unique (#26730) 2019-10-22 12:21:41 -07:00
JSIndexedRAMBundle.h Codemod: Clang-format for all files in `ReactCommon` directory 2020-02-25 19:52:27 -08:00
JSModulesUnbundle.h Codemod: Clang-format for all files in `ReactCommon` directory 2020-02-25 19:52:27 -08:00
JsArgumentHelpers-inl.h Run clang-format and apply patches 2020-02-27 08:29:30 -08:00
JsArgumentHelpers.h Codemod: Clang-format for all files in `ReactCommon` directory 2020-02-25 19:52:27 -08:00
MessageQueueThread.h Codemod: Clang-format for all files in `ReactCommon` directory 2020-02-25 19:52:27 -08:00
MethodCall.cpp Codemod: Clang-format for all files in `ReactCommon` directory 2020-02-25 19:52:27 -08:00
MethodCall.h Codemod: Clang-format for all files in `ReactCommon` directory 2020-02-25 19:52:27 -08:00
ModuleRegistry.cpp Guard all NativeModulePerfLogger calls with a null check 2020-05-20 20:19:30 -07:00
ModuleRegistry.h Instrument sync and async method calls (#28893) 2020-05-13 20:28:18 -07:00
NativeModule.h Instrument sync and async method calls (#28893) 2020-05-13 20:28:18 -07:00
NativeToJsBridge.cpp Add non-fatal error handling 2020-06-18 16:58:21 -07:00
NativeToJsBridge.h Expose RuntimeExecutor on CatalystInstance (#28851) 2020-05-08 16:13:42 -07:00
RAMBundleRegistry.cpp Replace folly::make_unique with std::make_unique (#26730) 2019-10-22 12:21:41 -07:00
RAMBundleRegistry.h Codemod: Clang-format for all files in `ReactCommon` directory 2020-02-25 19:52:27 -08:00
React-cxxreact.podspec Upstream RN macOS Hermes integration bits (#29748) 2020-08-27 01:18:33 -07:00
ReactMarker.cpp Codemod: Clang-format for all files in `ReactCommon` directory 2020-02-25 19:52:27 -08:00
ReactMarker.h Codemod: Clang-format for all files in `ReactCommon` directory 2020-02-25 19:52:27 -08:00
ReactNativeVersion.h Stamp React Native Version Into C++ Code (#28036) 2020-02-27 06:42:14 -08:00
RecoverableError.h Codemod: Clang-format for all files in `ReactCommon` directory 2020-02-25 19:52:27 -08:00
SampleCxxModule.cpp Replace folly::make_unique with std::make_unique (#26730) 2019-10-22 12:21:41 -07:00
SampleCxxModule.h Codemod: Clang-format for all files in `ReactCommon` directory 2020-02-25 19:52:27 -08:00
SharedProxyCxxModule.h Codemod: Clang-format for all files in `ReactCommon` directory 2020-02-25 19:52:27 -08:00
SystraceSection.h Remove __unused annotation from ConcreteSystraceSection ctor args 2019-11-19 10:51:59 -08:00
re_worker_requirements Sync worker requirement mismatches 2019-05-26 01:39:01 -07:00