react-native-macos/Libraries/Blob
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
..
__mocks__ Tidy up license headers [3/n] 2019-10-16 10:06:34 -07:00
__tests__ Back out "Upgrade Prettier from 1.17 to 2.0.2." 2020-03-24 21:47:35 -07:00
Blob.js Migrate large amount of modules to flow strict and strict-local 2020-07-22 09:46:16 -07:00
BlobManager.js Back out "Upgrade Prettier from 1.17 to 2.0.2." 2020-03-24 21:47:35 -07:00
BlobRegistry.js Exact-by-default codemod for react-native-github 2019-11-21 09:42:57 -08:00
BlobTypes.js Exact-by-default codemod for react-native-github 2019-11-21 09:42:57 -08:00
File.js Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
FileReader.js Back out "Upgrade Prettier from 1.17 to 2.0.2." 2020-03-24 21:47:35 -07:00
NativeBlobModule.js Cache constants for MP Search NativeModules 2020-06-03 20:48:28 -07:00
NativeFileReaderModule.js TM JS: Revert to import from TurboModuleRegistry.js 2019-11-08 11:44:16 -08:00
RCTBlobCollector.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTBlobCollector.mm Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTBlobManager.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTBlobManager.mm Rename RCTTurboModuleLookupDelegate to RCTTurboModuleRegistry 2020-07-07 16:25:11 -07:00
RCTBlobPlugins.h Run depslint on fb_plugin_apple_library rules 2019-10-26 13:47:15 -07:00
RCTBlobPlugins.mm Make RCTFileReaderModule and RCTBlobManager TurboModule-compatible 2019-10-01 11:15:09 -07:00
RCTFileReaderModule.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTFileReaderModule.mm Convert RCTFileReaderModule to avoid using bridge 2020-08-21 17:18:50 -07:00
React-RCTBlob.podspec Upstream RN macOS Hermes integration bits (#29748) 2020-08-27 01:18:33 -07:00
URL.js Upgrade Prettier in Xplat to version 1.19.1 2020-04-09 11:01:58 -07:00