install dependencies

Summary:
In the previous implementation plugins were downloaded from npm, but dependencies weren't. This diff uses the `live-plugin-manager` which does mostly what we want. It install a package from NPM with all its dependencies.
live-plugin-manager puts the plugin and its dependencies in the same folder. We expect the plugins to be in `node_modules`. For this reason, we are installing the plugin into `$pluginName/node_modules` and move the plugin after the installation out of the `node_modules` folder.

* Fixed plugin loading path for thirdparty plugins.
* Disabled hot reloading for plugins in the flipper folder to prevent reloads when moving around files and installing dependencies here.
* an empty `.watchmanconfig` is created, because metro requires it
* tsx files are added to the list of supported extensions for metro

Reviewed By: passy

Differential Revision: D17570413

fbshipit-source-id: ecbedc60841b36188fec9c83da41ef1f27e5e155
This commit is contained in:
Daniel Büchele
2019-09-26 07:56:23 -07:00
committed by Facebook Github Bot
parent f72e6e0f5e
commit 2c66e3d4d0
8 changed files with 238 additions and 309 deletions

View File

@@ -74,7 +74,7 @@ const {config, configPath, flipperDir} = setup(argv);
const pluginPaths = config.pluginPaths
.concat(
path.join(configPath, 'thirdparty'),
path.join(configPath, '..', 'thirdparty'),
path.join(__dirname, '..', 'src', 'plugins'),
path.join(__dirname, '..', 'src', 'fb', 'plugins'),
)