Summary:
Created a test that snapshots the generated files, so that we can capture accidental regressions when generating files.
Also made the package id to package name a bit more robust
Reviewed By: jknoxville
Differential Revision: D21619633
fbshipit-source-id: 88ffb127e050d840df9ccd4b15ba29a71f341975
Summary:
Added a watch mode to the bundle command of flipper plugins. This makes it easy to test develop plugins locally, even when you are using a production build of flipper, which lowers the barrier of developing / fixing plugins.
opted for `fs.watch` over watchman to avoid some overengineering:
1. pkg / pkg-lib don't have the watchman utilities that would be needed for this. I wasn't sure if I could move those over from `static` without breaking the bootstrapping process
2. watchman is often a nuisance on non FB machines that aren't set up for it. fs.watch in contrast doesn't have any further dependencies or setup requirements, and is much more likely to work ootb.
3. since we watch only the `src` folder we don't really need the watchman optimizations. (so for a package.json change people would have to restart, but I don't think that is much of a problem).
Reviewed By: jknoxville
Differential Revision: D21523814
fbshipit-source-id: b1de72b7d01c6fc50cb8ce5709f54f8019eb89e4
Summary: See previous diff, should have merged those two diffs
Reviewed By: jknoxville
Differential Revision: D21523815
fbshipit-source-id: 3db91d06d845f0764e28f0dbf3020e77812cde53
Summary: When opening a freshly generated plugin in VScode the IDE would be full of errors, even though it can bundle correctly thanks to the defaults used by bundle. This is fixed by diff by correctly setting up a tsconfig.
Reviewed By: jknoxville
Differential Revision: D21523817
fbshipit-source-id: 8f6b58fbfb704460ddb5b845ddfb137b28d37187
Summary: By adding a build command the flipper plugin can be picked up, even when using a production build of Flipper, as we don't require Flipper's own infrastructure anymore to compile plugins.
Reviewed By: jknoxville
Differential Revision: D21523819
fbshipit-source-id: eed935ee95a7e3bff2ace629836b4b2450b5d1ad
Summary:
As soon as any data was send to a freshly generated plugin, the plugin would crash as React doesn't support directly rendering data. Replaced it with a poor mans rendering that simply dumps all the data we received.
Also made sure the view is scrollable now which wasn't the case before.
Reviewed By: jknoxville
Differential Revision: D21523816
fbshipit-source-id: 3e04799facdf8b66ce9d66217a47fc7826d58d43
Summary:
This stack contains a bunch of improvements I made to smoothen the demo of plugin creating in the Flipper + React Native talk.
With 98% likelihood people will manage the source code of their Flipper plugins in git. This will make sure the `.gitignore` is configured properly ootb
Reviewed By: nikoant
Differential Revision: D21523818
fbshipit-source-id: b2ed769edc8fb9fd320464b05686e817e438f21e