Summary: This diff adds the `--public-build` option which allows run a devServer emulating the OSS version of flipper. Technical details are explained in the comments.
Reviewed By: passy, nikoant
Differential Revision: D25944966
fbshipit-source-id: 540855808179582752b8aa646f0b8afd4b78396f
Summary:
The redirects we added inline in the deleted pages don't work when there's a baseUrl.
This is because it's the standard react-router Redirect component, which knows nothing about docusaurus sites.
We could get around that by adding `useBaseUrl()` calls around all of them, but that's not great.
So changing to using declarative redirects instead, where they are all put in config. This automatically takes care of base urls, and reduces copy-pasted code.
Reviewed By: passy
Differential Revision: D25780599
fbshipit-source-id: c67d3643ab28f0fcd440904baf54c67687781686
Summary:
Give the sdk installation pages a bit more structure.
To me it's much clearer now what they are.
Happy to hear differing opinions so we get it right :)
Reviewed By: passy
Differential Revision: D25638164
fbshipit-source-id: 86b7fecd8aba0068336b15a308f4a9433817c68e
Summary:
The installation instructions didn't flow very well.
"Using flipper at Facebook" is now gone. It's installation steps have been moved into the desktop app page, with internal/external switching.
I've also removed the "Updating Flipper" internal page, and put equivalent info in the installation section.
Reviewed By: nikoant
Differential Revision: D25637831
fbshipit-source-id: 2af2abf57793d54804f5c45e3335b8641743e1c8
Summary:
I think there's a need for an "implementation details" section of the site. Especially as we're moving the rest of our wiki content there.
I see it as a good thing, because now we have a place for implementation details relevant to OSS contributors too, it's not all fb-specific.
Reviewed By: nikoant
Differential Revision: D25614909
fbshipit-source-id: 5ec081e6450a9ad1c30785ae4cca74b6fa0d2630
Summary: This diff unifies setup and workflow information that was scattered a bit around into one cohesive 'Development workflow' subsection in the 'creating plugins' section of Flipper.
Reviewed By: nikoant
Differential Revision: D25612288
fbshipit-source-id: 5fa7f2d000fb7ab3e1b5c5a4fc8cc1f209252f41
Summary: There were 3 pages describing how to obtain a plugin instance, public, ios and android. iOS didn't differ from the public one, and android only in the fact that internally DI is available. So combined the pages with just an optional section for DI inside FB on Android.
Reviewed By: jknoxville
Differential Revision: D25588057
fbshipit-source-id: 3a54ae699130a4c5ba018220708f844a35a8d6a9
Summary: There was one public page for testing client plugins, and two internal ones. Combined it into a one pager, that has tabs per target, with separate content for internal versus external (didn't combine those as the testing frameworks recommended differ)
Reviewed By: nikoant
Differential Revision: D25588058
fbshipit-source-id: afa151ec0c3a5de26142938d3d389627716f1ff7
Summary: send data was documented twice, in the general client API, and in the internal docs where it was specifically combined with obtaining a plugin instance. However, that is a proper public API as well, so combined those two.
Reviewed By: nikoant
Differential Revision: D25588059
fbshipit-source-id: 7135a74b64a87d0c8c3f8f20f7f260469f52d41c
Summary:
Previously we used <Link/> everywhere with useBaseUrl to avoid link destinations depending on the current url of the page.
This isn't necessary if you instead link to the **file name**, rather than the **url path**.
Then the links are resolved at build time, and work across imported markdown files etc.
This diff just does the pages under Features, because other ones will get conflicts. I'll do those later.
Reviewed By: nikoant
Differential Revision: D25589707
fbshipit-source-id: 35ca986e19fc2af1054b81d7253eeb3827947ab8
Summary: Seems that all tabs were broken after migration to Docusaurus 2.
Reviewed By: jknoxville
Differential Revision: D25586214
fbshipit-source-id: 31a8da4e13fbac01911a03f1f4bab0d2837c9c9a
Summary:
This diff restructures the 'extending' section of the docs, and rebrands it to 'creating plugins'. It then restructures this section into 4 top-level items
* Tutorial
* Desktop plugin APIs
* Client plugin APIs
* Workflow
Pages are put under the relevant sections, including pages which were before under internal. Some pages that didn't relate directly to plugin development have been moved to other top level sections (e.g. testing RN).
I didn't do de-duplication between pages yet, that will be done in the next diff.
Overview of changes:
* Extending -> Creating Plugins
* Moved Extending > Other platforms to Setup > Other platforms (as this is about clients, not plugins)
* Moved Internal FB plugin development stuff into Creating Plugins
* Separated Creating Plugins into ‘Tutorial’, Desktop API Reference, Cient API Reference, Workflow
* Remove TypeScript strict page, we are already strict
* Moved QPL linters to api docs and named id QPL lints
* Grouped the different pages on extending Layout plugin (needs deduping still)
* Warning about avoiding custom styling in general
* Moved internal index page to the top of the navigation of FB Internal, rather than at the bottom
Reviewed By: passy
Differential Revision: D25585172
fbshipit-source-id: ba2aa891395097d6aa101809084b915f115ee69d
Summary:
Now in public, the setup page remains unchanged, well, the headings are one level smaller.
In internal, the page is divided into two sections: for buck based apps, and non-buck based ones.
Reviewed By: mweststrate
Differential Revision: D25565953
fbshipit-source-id: abf4316a28970cd93d0cc9b56dd707f00a674a48
Summary:
Putting both iOS setup guides next to each other.
I'm not sure what to call the oss one. It applies to cocoapods, swift, and pure objc.
Reviewed By: passy
Differential Revision: D25563988
fbshipit-source-id: a7ee2a0ae04e5753a74939b1c170d9a2f2ace1a9
Summary: Puts both the "Adding flipper to android apps" page next to each other, one for buck and one for gradle. The buck one is only internal.
Reviewed By: passy
Differential Revision: D25563688
fbshipit-source-id: 1937cfdd0d5129b54a8635efe6294ba39a26be8e
Summary: The 'extending flipper' introduction page didn't contain anything meaty, so collapsed it into the tutorial introduction, cleaning up the top level navigation.
Reviewed By: passy
Differential Revision: D25531718
fbshipit-source-id: ca0f98186e889e13cb97be8818db3588738e5039
Summary:
Introduced API to replace the deprecated `selectPlugin` in Sandy.
The API can be used to navigate from `device plugin -> device plugin`, or` client plugin -> device / client plugin`
Introduced `isPluginAvailable` as well, so that the user interaction an be fine tuned in case the plugin is not disabled.
Reviewed By: jknoxville
Differential Revision: D25422370
fbshipit-source-id: c6c603f1c68e6291280b3d0883e474448754ded1
Summary: When exposing new top-level APIs from `flipper-plugin`, they should be documented. Added a unit test to enforce this and added documentation for all missing APIs.
Reviewed By: passy
Differential Revision: D25421401
fbshipit-source-id: f5cafc1881de846c8a5dd86e5d094ebd27a66f2a
Summary: In the Flipper chrome there is a lot of `logger={logger}` prop drilling. Let's not do that anymore in the future by using a proper hook, which is exposed from `flipper-plugin`.
Reviewed By: passy
Differential Revision: D25421304
fbshipit-source-id: 01ec8563c67f7e2fac359c2f8216eba722bff8d9
Summary:
This replaces the existing "FB Internals" troubleshooting" page with a redirect to the now single troubleshooting page, to make sure no links break.
It copies the content of that internal page into an internal-troubleshooting.mdx file, that isn't in any sidebars.
And it gets the main troubleshooting page to include that page, when doing an internal build. So now we only have one troubleshooting page.
Reviewed By: passy
Differential Revision: D25372552
fbshipit-source-id: 1a310ca1a4a21683d6074d480e819e5af40c8af2
Summary: Make sure that GKs can be used in pure sandy plugins.
Reviewed By: jknoxville
Differential Revision: D25368358
fbshipit-source-id: c7c6aa4ecf0443cb3b5d90e22e8aca9a73a69389
Summary:
Set up basic primitives for user interaction tracking. I hope the docs and unit tests in this diff are self explanatory :)
In upcoming diffs:
* Wire up to scuba events
* Annotate all important parts of Flipper Chrome
* Investigate if we can wrap important interactions of ANT by default
Reviewed By: jknoxville
Differential Revision: D25120234
fbshipit-source-id: 9849d565d7be27e498cc2b4db33e7d6e6938ee06
Summary: This updates the docs of Flipper to use Sandy, rather than `FlipperPlugin` class. Restructured the docs a bit as a result.
Reviewed By: passy
Differential Revision: D24991285
fbshipit-source-id: 66d5760c25cf9cf3983515433dfd64348d51db3d
Summary: Updated the scarf template to fix some urls, at `antd` by default, and avoid depending on `flipper-plugin`.
Reviewed By: cekkaewnumchai
Differential Revision: D24949452
fbshipit-source-id: 56b6628309d3cdf6c30acddf83dab6e493cd7c0e
Summary: expose `appName`, `appId` and `device` to Sandy plugins. Will be used in next diff to migrate navigation plugin
Reviewed By: cekkaewnumchai
Differential Revision: D24857253
fbshipit-source-id: 03ac3d376d5d1950bcf3d78386a65ce167b517e3
Summary: Moved docs outside of FBInternal docs. Will make Sandy APIs the default in the docs soon, and move the links to the proper location, but this at least makes sure we can already link to the correct place in WP announcements
Reviewed By: jknoxville
Differential Revision: D24829287
fbshipit-source-id: 913f2db65a7cdd04bd1be47aebc48ece7a6cef04