Skip to content
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

Enable custom source file extensions through cli args or rn-cli.config.js #13689

Closed
wants to merge 4 commits into
base: master
from

Conversation

Projects
None yet
6 participants
@ds300
Copy link

ds300 commented Apr 27, 2017

Ping @cpojer - This is the replacement PR for #11932

Motivation (required)

Allow the packager to load files from other compile-to-JS languages without developers having to specify file extensions in require calls.

Approach

Add an optional getSourceExts method to rn-cli.config.js, like the existing getAssetExts. Set defaults of 'js' and 'json' (as were being used before) and make sure the options are propagated through to the packager appropriately, then use them in module resolution.

Extensions specified by getSourceExts do not override the defaults but are combined with them, otherwise first-party react-native code would not be loaded.

Test Plan (required)

Tests for the changes to node-haste are included. I couldn't find any integration tests for rn-cli.config.js or the cli config opts anywhere, so I figured it wouldn't be necessary to add those. If that is required, it would be dope if someone with the appropriate knowledge could help direct that effort.

Here is a repo that shows it working: https://github.com/ds300/TestCustomSourceExts

Cheers

ds300 added some commits Apr 27, 2017

add failing test for custom source extensions feature
test fails with this error:

    UnableToResolveError: Unable to resolve module `./a` from `/root/index.jsx`: Directory /root/a doesn't exist

      at UnableToResolveError (packager/src/node-haste/DependencyGraph/ResolutionRequest.js:625:5)
      at ResolutionRequest._loadAsDir (packager/src/node-haste/DependencyGraph/ResolutionRequest.js:585:13)
      at tryResolveSync (packager/src/node-haste/DependencyGraph/ResolutionRequest.js:441:16)
      at tryResolveSync (packager/src/node-haste/DependencyGraph/ResolutionRequest.js:88:12)
      ...
@ds300

This comment has been minimized.

Copy link
Author

ds300 commented Apr 28, 2017

I updated the TestCustomSourceExts repo to have incremental commits so people can see exactly what changed from a regular old blank react-native app.

@cpojer cpojer requested a review from jeanlauliac Apr 28, 2017

@jeanlauliac
Copy link
Contributor

jeanlauliac left a comment

Looks good to me! The "default config" system is a bit of a mess, for example packager/defaults really is the "base", not overridable defaults. We'll look into fixing that later on. This changeset follows the same way assetExts had been done so that's good.

@facebook-github-bot

This comment has been minimized.

Copy link

facebook-github-bot commented Apr 28, 2017

@jeanlauliac has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@jeanlauliac
Copy link
Contributor

jeanlauliac left a comment

There's been a bunch of changes happening, I'm rebasing this on the latest and doing a few tweaks.

@jeanlauliac
Copy link
Contributor

jeanlauliac left a comment

I'm just putting back it in 'change requested' state while waiting for the rebase, but I'm dealing with it and there's no action needed on your part right now.

@jeanlauliac

This comment has been minimized.

Copy link
Contributor

jeanlauliac commented May 3, 2017

I'll ship that tomorrow morning London-time.

@jeanlauliac

This comment has been minimized.

Copy link
Contributor

jeanlauliac commented May 4, 2017

4a86f93 is the upgraded version I landed. @ds300 Do you want to check it out in https://github.com/ds300/TestCustomSourceExts and verify it covers what you need?

@jeanlauliac jeanlauliac self-assigned this May 4, 2017

@ds300

This comment has been minimized.

Copy link
Author

ds300 commented May 4, 2017

@jeanlauliac I'm getting this error after switching to your branch. The cause wasn't obvious from initial inspection.

Error: Cannot find module '/Users/dshe/code/TestCustomSourceExts/node_modules/react-native/local-cli/core/rn-cli.config.js'
    at Function.Module._resolveFilename (module.js:440:15)
    at Function.Module._load (module.js:388:25)
    at Module.require (module.js:468:17)
    at require (internal/module.js:20:19)
    at Object.loadFile (/Users/dshe/code/TestCustomSourceExts/node_modules/react-native/local-cli/util/Config.js:137:24)
    at getCliConfig (/Users/dshe/code/TestCustomSourceExts/node_modules/react-native/local-cli/core/index.js:44:14)
    at Object.<anonymous> (/Users/dshe/code/TestCustomSourceExts/node_modules/react-native/local-cli/core/index.js:50:18)
    at Module._compile (module.js:541:32)
    at loader (/Users/dshe/code/TestCustomSourceExts/node_modules/babel-register/lib/node.js:144:5)
    at Object.require.extensions.(anonymous function) [as .js] (/Users/dshe/code/TestCustomSourceExts/node_modules/babel-register/lib/node.js:154:7)

Your changes look sensible to me otherwise. This is probably related to other changes that have happened in the meantime. I'll try to take a proper look on Sunday evening UK time.

@jmfirth

This comment has been minimized.

Copy link

jmfirth commented May 5, 2017

I've been eager to use this for a while and have been kicking the tires a bit.

With a yarn install the iOS app works and the Android app does not. To resolve this, I reverted to react-native@0.44.0 to build the Android shell and then restored the patch.

With this environment everything seems to work great except for source maps -- they are off by a few lines.

image
(Breakpoint should be on debugger;)

@ds300

This comment has been minimized.

Copy link
Author

ds300 commented May 6, 2017

@jmfirth I think that's an orthogonal issue. This PR doesn't say anything about how source transformation should happen. And in particular the transformer I wrote for the test repo is extremely simplistic and doesn't compose the tsc source map with the babel one. So if you are using that, the discrepancy you observe makes sense.

@ds300

This comment has been minimized.

Copy link
Author

ds300 commented May 7, 2017

@jeanlauliac the issue was obvious after all. There has been a breaking change in handling the --config cli option: https://github.com/facebook/react-native/blame/4a86f93982ede66a993a72e31cadb85d9bd4b3a3/local-cli/core/index.js#L44

Now the path given to --config must be absolute, or else it is evaluated against the __dirname of local-cli/core/index.js.

cc @davidaurelio this seems like a bad design decision to me, since it makes it super awkward to have a config file in a multi-dev project, unless I'm missing something.

But also that's beside the point for this PR. Making the path absolute makes the problem go away, and now I get a new error, but I also get that same error if I run a blank RN project against master, so it is likely to be unrelated.

In other words, I'm happy with your changes @jeanlauliac 👍

@davidaurelio

This comment has been minimized.

Copy link
Contributor

davidaurelio commented May 8, 2017

Hey @ds300, that was the case before my commit as well. I agree it is awkward. Correct me if I am wrong, but I think my changeset did not change behavior at all:

before, both config file and __dirname were passed to Config.loadFile, and that function would call path.join if the config file was not an absolute path. Now, we call path.resolve with both relative and absolute paths at the call site, which should have the same behaviour, right?

@davidaurelio

This comment has been minimized.

Copy link
Contributor

davidaurelio commented May 8, 2017

Feel free to send a PR that changes the base of the resolution to process.cwd(). That seems a lot better.

@ds300

This comment has been minimized.

Copy link
Author

ds300 commented May 8, 2017

Oh, true, @davidaurelio my apologies. I didn't look too closely at the history. Will investigate tonight to find out exactly when support for relative paths was removed and why.

@jeanlauliac

This comment has been minimized.

Copy link
Contributor

jeanlauliac commented May 9, 2017

Closing, let's open separate tasks or PRs to address the other issues.

On an unrelated note, I'm disappointed in myself that I didn't properly give you credit for the changeset. Even though I rebased and changed a few things, you provided most of the idea and original code. I will be careful to maintain a correct Authored-by field next time I merge a PR. I regret not doing so.

@jeanlauliac jeanlauliac closed this May 9, 2017

@orta orta referenced this pull request May 23, 2017

Closed

Update React Native to 0.45 #560

@sarahscott sarahscott referenced this pull request May 26, 2017

Merged

[Dev] RN v0.45 Upgrade #570

10 of 10 tasks complete
@johnnycopperstone

This comment has been minimized.

Copy link

johnnycopperstone commented Jun 12, 2017

Slightly confused with what's happening with this PR. Has it been released with 0.45 ?

@ds300

This comment has been minimized.

Copy link
Author

ds300 commented Jun 12, 2017

@johnnycopperstone yep.

@ds300 ds300 deleted the ds300:feature/custom-source-exts branch Sep 10, 2018

@ds300 ds300 restored the ds300:feature/custom-source-exts branch Sep 10, 2018

@ds300 ds300 deleted the ds300:feature/custom-source-exts branch Sep 10, 2018

@ds300 ds300 restored the ds300:feature/custom-source-exts branch Sep 10, 2018

facebook-github-bot added a commit that referenced this pull request Oct 6, 2018

React sync for revisions ade5e69...d836010
Summary:
This sync includes the following changes:
- **[d83601080](facebook/react@d836010: Wrap retrySuspendedRoot using SchedulerTracing (#13776) //<Sophie Alpert>//
- **[40a521aa7](facebook/react@40a521a: Terminology: Functional -> Function Component (#13775) //<Dan Abramov>//
- **[605ab10a4](facebook/react@605ab10: Add envify transform to scheduler package (#13766) //<Michael Ridgway>//
- **[acc7f404c](facebook/react@acc7f40: Restart from root if promise pings before end of render phase (#13774) //<Andrew Clark>//
- **[cbc224028](facebook/react@cbc2240: fix - small misspelling (#13768) //<Spencer Davies>//
- **[4eabeef11](facebook/react@4eabeef: Rename ReactSuspenseWithTestRenderer-test -> ReactSuspense-test //<Andrew Clark>//
- **[95a3e1c2e](facebook/react@95a3e1c: Rename ReactSuspense-test -> ReactSuspenseWithNoopRenderer-test //<Andrew Clark>//
- **[96bcae9d5](facebook/react@96bcae9: Jest + test renderer helpers for concurrent mode (#13751) //<Andrew Clark>//
- **[5c783ee75](facebook/react@5c783ee: Remove unreachable code (#13762) //<Heaven>//
- **[36c5d69ca](facebook/react@36c5d69: Always warn about legacy context within StrictMode tree (#13760) //<Brian Vaughn>//
- **[3e9a5de88](facebook/react@3e9a5de: UMD react-cache build (#13761) //<Maksim Markelov>//
- **[8315a30b9](facebook/react@8315a30: --save is no longer needed (#13756) //<Joe Cortopassi>//
- **[ce96e2df4](facebook/react@ce96e2d: Rename simple-cache-provider to react-cache (#13755) //<Andrew Clark>//
- **[c5212646f](facebook/react@c521264: Removed extra typeof checks for contextType.unstable_read (#13736) //<Brian Vaughn>//
- **[806eebdae](facebook/react@806eebd: Enable getDerivedStateFromError (#13746) //<Brian Vaughn>//
- **[a0733fe13](facebook/react@a0733fe: pure (#13748) //<Andrew Clark>//
- **[4d17c3f05](facebook/react@4d17c3f: [scheduler] Improve naive fallback version used in non-DOM environments //<Andrew Clark>//
- **[469005d87](facebook/react@469005d: Revise `AttributeType` React Native Flow Type (#13737) //<Timothy Yung>//
- **[0dc0ddc1e](facebook/react@0dc0ddc: Rename AsyncMode -> ConcurrentMode (#13732) //<Dominic Gannaway>//
- **[7601c3765](facebook/react@7601c37: Ensure "addEventListener" exists on "window" for "scheduler" package (#13731) //<Dominic Gannaway>//
- **[d0c0ec98e](facebook/react@d0c0ec9: Added a PureComponent contextType test (#13729) //<Brian Vaughn>//
- **[4b68a6498](facebook/react@4b68a64: Support class component static contextType attribute (#13728) //<Brian Vaughn>//
- **[f305d2a48](facebook/react@f305d2a: [scheduler] Priority levels, continuations, and wrapped callbacks (#13720) //<Andrew Clark>//
- **[970a34bae](facebook/react@970a34b: Bump babel-eslint and remove flow supressions (#13727) //<Brian Ng>//
- **[13965b4d3](facebook/react@13965b4: Interaction tracking ref-counting bug fixes (WIP) (#13590) //<Brian Vaughn>//
- **[17e703cb9](facebook/react@17e703c: Restore global window.event after event dispatching (#13688) (#13697) //<Sergei Startsev>//
- **[a775a767a](facebook/react@a775a76: Remove redundant logic (#13502) //<Heaven>//
- **[e1a067dea](facebook/react@e1a067d: Fix circular dependency in TracingSubscriptions (#13689) //<Maksim Markelov>//
- **[518812eeb](facebook/react@518812e: Clarify comment (#13684) //<Heaven>//
- **[eeb817785](facebook/react@eeb8177: Remove some old files from stats //<Dan>//
- **[7ea3ca1d1](facebook/react@7ea3ca1: Rename schedule to scheduler (#13683) //<Dan Abramov>//
- **[bec2ddaf1](facebook/react@bec2dda: Update bundle sizes for 16.5.2 release //<Brian Vaughn>//
- **[4269fafb0](facebook/react@4269faf: Updating package versions for release 16.5.2 //<Brian Vaughn>//
- **[4380f9ba1](facebook/react@4380f9b: Revert "Updating package versions for release 16.6.0-alpha.0" //<Brian Vaughn>//
- **[72fad84e7](facebook/react@72fad84: Revert "Updating dependencies for react-noop-renderer" //<Brian Vaughn>//
- **[c3fad5acf](facebook/react@c3fad5a: Revert "Update bundle sizes for 16.6.0-alpha.0 release" //<Brian Vaughn>//
- **[dd9120561](facebook/react@dd91205: Kepp calling peformWork consistent (#13596) //<Heaven>//
- **[42d12317a](facebook/react@42d1231: Update bundle sizes for 16.6.0-alpha.0 release //<Brian Vaughn>//
- **[489614c4f](facebook/react@489614c: Updating dependencies for react-noop-renderer //<Brian Vaughn>//
- **[351c9015c](facebook/react@351c901: Updating package versions for release 16.6.0-alpha.0 //<Brian Vaughn>//
- **[a210b5b44](facebook/react@a210b5b: Revert "Do not bind topLevelType to dispatch" (#13674) //<Dan Abramov>//
- **[1d8a75fef](facebook/react@1d8a75f: remove flow typings from Schedule.js (#13662) //<Alexey Raspopov>//
- **[d92114b98](facebook/react@d92114b: Resubmit: Fix updateWrapper causing re-render textarea, even though their data (#13643) //<Nathan Hunzaker>//
- **[0c9c591bf](facebook/react@0c9c591: Do not bind topLevelType to dispatch (#13618) //<Nathan Hunzaker>//
- **[9f819a5ea](facebook/react@9f819a5: [schedule] Refactor Schedule, remove React-isms (#13582) //<Andrew Clark>//
- **[9c961c0a2](facebook/react@9c961c0: Fix some iframe edge cases (#13650) //<Jérôme Steunou>//
- **[8bc0bcabe](facebook/react@8bc0bca: Add UMD production+profiling entry points (#13642) //<Brian Vaughn>//
- **[b488a5d9c](facebook/react@b488a5d: Fix test comment typo (#13568) //<Heaven>//
- **[4bcee5621](facebook/react@4bcee56: Rename "tracking" API to "tracing" (#13641) //<Brian Vaughn>//
- **[72217d081](facebook/react@72217d0: Update bundle sizes for 16.5.1 release //<Dan Abramov>//
- **[8b93a60c5](facebook/react@8b93a60: Updating package versions for release 16.5.1 //<Dan Abramov>//
- **[ecbf7af40](facebook/react@ecbf7af: Enhance dev warnings for forwardRef render function (#13627) (#13636) //<Andres Rojas>//
- **[228240085](facebook/react@2282400: Delete TapEventPlugin (#13630) //<Dan Abramov>//
- **[a079011f9](facebook/react@a079011: ð Stop syncing the value attribute on inputs (behind a feature flag) (#13526) //<Nathan Hunzaker>//
- **[a7bd7c3c0](facebook/react@a7bd7c3: Allow reading default feature flags from bundle tests (#13629) //<Dan Abramov>//
- **[d3bbfe09c](facebook/react@d3bbfe0: Fix IE version in comment //<Dan Abramov>//
- **[1b2646a40](facebook/react@1b2646a: Fix warning without stack for ie9 (#13620) //<Aliaksandr Manzhula>//
- **[e49f3ca08](facebook/react@e49f3ca:  honor displayName set on ForwardRef if available (#13615) //<Evan Jacobs>//

Release Notes:
[GENERAL] [FEATURE] [React] - React sync for revisions ade5e69...d836010

Reviewed By: bvaughn

Differential Revision: D10118547

fbshipit-source-id: ecde7ada80331abdc8bd7d279e0f3dbe9acde071

grabbou added a commit that referenced this pull request Oct 11, 2018

React sync for revisions ade5e69...d836010
Summary:
This sync includes the following changes:
- **[d83601080](facebook/react@d836010: Wrap retrySuspendedRoot using SchedulerTracing (#13776) //<Sophie Alpert>//
- **[40a521aa7](facebook/react@40a521a: Terminology: Functional -> Function Component (#13775) //<Dan Abramov>//
- **[605ab10a4](facebook/react@605ab10: Add envify transform to scheduler package (#13766) //<Michael Ridgway>//
- **[acc7f404c](facebook/react@acc7f40: Restart from root if promise pings before end of render phase (#13774) //<Andrew Clark>//
- **[cbc224028](facebook/react@cbc2240: fix - small misspelling (#13768) //<Spencer Davies>//
- **[4eabeef11](facebook/react@4eabeef: Rename ReactSuspenseWithTestRenderer-test -> ReactSuspense-test //<Andrew Clark>//
- **[95a3e1c2e](facebook/react@95a3e1c: Rename ReactSuspense-test -> ReactSuspenseWithNoopRenderer-test //<Andrew Clark>//
- **[96bcae9d5](facebook/react@96bcae9: Jest + test renderer helpers for concurrent mode (#13751) //<Andrew Clark>//
- **[5c783ee75](facebook/react@5c783ee: Remove unreachable code (#13762) //<Heaven>//
- **[36c5d69ca](facebook/react@36c5d69: Always warn about legacy context within StrictMode tree (#13760) //<Brian Vaughn>//
- **[3e9a5de88](facebook/react@3e9a5de: UMD react-cache build (#13761) //<Maksim Markelov>//
- **[8315a30b9](facebook/react@8315a30: --save is no longer needed (#13756) //<Joe Cortopassi>//
- **[ce96e2df4](facebook/react@ce96e2d: Rename simple-cache-provider to react-cache (#13755) //<Andrew Clark>//
- **[c5212646f](facebook/react@c521264: Removed extra typeof checks for contextType.unstable_read (#13736) //<Brian Vaughn>//
- **[806eebdae](facebook/react@806eebd: Enable getDerivedStateFromError (#13746) //<Brian Vaughn>//
- **[a0733fe13](facebook/react@a0733fe: pure (#13748) //<Andrew Clark>//
- **[4d17c3f05](facebook/react@4d17c3f: [scheduler] Improve naive fallback version used in non-DOM environments //<Andrew Clark>//
- **[469005d87](facebook/react@469005d: Revise `AttributeType` React Native Flow Type (#13737) //<Timothy Yung>//
- **[0dc0ddc1e](facebook/react@0dc0ddc: Rename AsyncMode -> ConcurrentMode (#13732) //<Dominic Gannaway>//
- **[7601c3765](facebook/react@7601c37: Ensure "addEventListener" exists on "window" for "scheduler" package (#13731) //<Dominic Gannaway>//
- **[d0c0ec98e](facebook/react@d0c0ec9: Added a PureComponent contextType test (#13729) //<Brian Vaughn>//
- **[4b68a6498](facebook/react@4b68a64: Support class component static contextType attribute (#13728) //<Brian Vaughn>//
- **[f305d2a48](facebook/react@f305d2a: [scheduler] Priority levels, continuations, and wrapped callbacks (#13720) //<Andrew Clark>//
- **[970a34bae](facebook/react@970a34b: Bump babel-eslint and remove flow supressions (#13727) //<Brian Ng>//
- **[13965b4d3](facebook/react@13965b4: Interaction tracking ref-counting bug fixes (WIP) (#13590) //<Brian Vaughn>//
- **[17e703cb9](facebook/react@17e703c: Restore global window.event after event dispatching (#13688) (#13697) //<Sergei Startsev>//
- **[a775a767a](facebook/react@a775a76: Remove redundant logic (#13502) //<Heaven>//
- **[e1a067dea](facebook/react@e1a067d: Fix circular dependency in TracingSubscriptions (#13689) //<Maksim Markelov>//
- **[518812eeb](facebook/react@518812e: Clarify comment (#13684) //<Heaven>//
- **[eeb817785](facebook/react@eeb8177: Remove some old files from stats //<Dan>//
- **[7ea3ca1d1](facebook/react@7ea3ca1: Rename schedule to scheduler (#13683) //<Dan Abramov>//
- **[bec2ddaf1](facebook/react@bec2dda: Update bundle sizes for 16.5.2 release //<Brian Vaughn>//
- **[4269fafb0](facebook/react@4269faf: Updating package versions for release 16.5.2 //<Brian Vaughn>//
- **[4380f9ba1](facebook/react@4380f9b: Revert "Updating package versions for release 16.6.0-alpha.0" //<Brian Vaughn>//
- **[72fad84e7](facebook/react@72fad84: Revert "Updating dependencies for react-noop-renderer" //<Brian Vaughn>//
- **[c3fad5acf](facebook/react@c3fad5a: Revert "Update bundle sizes for 16.6.0-alpha.0 release" //<Brian Vaughn>//
- **[dd9120561](facebook/react@dd91205: Kepp calling peformWork consistent (#13596) //<Heaven>//
- **[42d12317a](facebook/react@42d1231: Update bundle sizes for 16.6.0-alpha.0 release //<Brian Vaughn>//
- **[489614c4f](facebook/react@489614c: Updating dependencies for react-noop-renderer //<Brian Vaughn>//
- **[351c9015c](facebook/react@351c901: Updating package versions for release 16.6.0-alpha.0 //<Brian Vaughn>//
- **[a210b5b44](facebook/react@a210b5b: Revert "Do not bind topLevelType to dispatch" (#13674) //<Dan Abramov>//
- **[1d8a75fef](facebook/react@1d8a75f: remove flow typings from Schedule.js (#13662) //<Alexey Raspopov>//
- **[d92114b98](facebook/react@d92114b: Resubmit: Fix updateWrapper causing re-render textarea, even though their data (#13643) //<Nathan Hunzaker>//
- **[0c9c591bf](facebook/react@0c9c591: Do not bind topLevelType to dispatch (#13618) //<Nathan Hunzaker>//
- **[9f819a5ea](facebook/react@9f819a5: [schedule] Refactor Schedule, remove React-isms (#13582) //<Andrew Clark>//
- **[9c961c0a2](facebook/react@9c961c0: Fix some iframe edge cases (#13650) //<Jérôme Steunou>//
- **[8bc0bcabe](facebook/react@8bc0bca: Add UMD production+profiling entry points (#13642) //<Brian Vaughn>//
- **[b488a5d9c](facebook/react@b488a5d: Fix test comment typo (#13568) //<Heaven>//
- **[4bcee5621](facebook/react@4bcee56: Rename "tracking" API to "tracing" (#13641) //<Brian Vaughn>//
- **[72217d081](facebook/react@72217d0: Update bundle sizes for 16.5.1 release //<Dan Abramov>//
- **[8b93a60c5](facebook/react@8b93a60: Updating package versions for release 16.5.1 //<Dan Abramov>//
- **[ecbf7af40](facebook/react@ecbf7af: Enhance dev warnings for forwardRef render function (#13627) (#13636) //<Andres Rojas>//
- **[228240085](facebook/react@2282400: Delete TapEventPlugin (#13630) //<Dan Abramov>//
- **[a079011f9](facebook/react@a079011: ð Stop syncing the value attribute on inputs (behind a feature flag) (#13526) //<Nathan Hunzaker>//
- **[a7bd7c3c0](facebook/react@a7bd7c3: Allow reading default feature flags from bundle tests (#13629) //<Dan Abramov>//
- **[d3bbfe09c](facebook/react@d3bbfe0: Fix IE version in comment //<Dan Abramov>//
- **[1b2646a40](facebook/react@1b2646a: Fix warning without stack for ie9 (#13620) //<Aliaksandr Manzhula>//
- **[e49f3ca08](facebook/react@e49f3ca:  honor displayName set on ForwardRef if available (#13615) //<Evan Jacobs>//

Release Notes:
[GENERAL] [FEATURE] [React] - React sync for revisions ade5e69...d836010

Reviewed By: bvaughn

Differential Revision: D10118547

fbshipit-source-id: ecde7ada80331abdc8bd7d279e0f3dbe9acde071
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.