Commit Graph

8 Commits

Author SHA1 Message Date
Michel Weststrate
49b4022228 added tests for generated template files
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
2020-05-19 05:33:35 -07:00
Michel Weststrate
080085e788 added simple watch mode
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
2020-05-19 05:33:34 -07:00
Michel Weststrate
1e309abe4f add react types to template
Summary: See previous diff, should have merged those two diffs

Reviewed By: jknoxville

Differential Revision: D21523815

fbshipit-source-id: 3db91d06d845f0764e28f0dbf3020e77812cde53
2020-05-19 05:33:34 -07:00
Michel Weststrate
8d6ad59c52 add tsconfig to template
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
2020-05-19 05:33:33 -07:00
Michel Weststrate
47f72e3332 add build command by default
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
2020-05-19 05:33:33 -07:00
Michel Weststrate
310a76d03f Improve standard view template
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
2020-05-19 05:33:33 -07:00
Michel Weststrate
7536c0e930 Add default .gitignore file
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
2020-05-19 05:33:32 -07:00
Anton Nikolaev
d08dfee018 "init" command for flipper-pkg tool
Summary: Added command "init" to "flipper-pkg" which helps to quickly initialise Flipper desktop plugin.

Reviewed By: passy

Differential Revision: D21253819

fbshipit-source-id: 85a2fbde07ecb63737d180d2a7e5cc2846b4f533
2020-04-27 17:34:12 -07:00