react-native-macos/Libraries/Settings
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
..
NativeSettingsManager.js TM JS: Revert to import from TurboModuleRegistry.js 2019-11-08 11:44:16 -08:00
RCTSettingsManager.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTSettingsManager.mm Part 2: Update ObjC++ codegen classes to use ObjCTurboModule::InitParams 2020-04-16 17:29:55 -07:00
RCTSettingsPlugins.h Run depslint on fb_plugin_apple_library rules 2019-10-26 13:47:15 -07:00
RCTSettingsPlugins.mm Make RCTSettingsManager TurboModule-compatible 2019-10-01 11:15:08 -07:00
React-RCTSettings.podspec Upstream RN macOS Hermes integration bits (#29748) 2020-08-27 01:18:33 -07:00
Settings.android.js Update copyright headers to yearless format 2018-09-11 15:33:07 -07:00
Settings.ios.js EventEmitter: Import `{Native,RCTDevice}EventEmitter` 2020-06-27 02:18:10 -07:00