Rebuild all plugins if a shared lib changed

Summary: Some plugins import from shared directories. These directories are not plugins themselves, therefore the current plugin root searching mechanism does nto work for them. To support plugin reloading for this scenario, we start re-building all plugins if we fail to find a plugin root.

Reviewed By: lblasa

Differential Revision: D39693820

fbshipit-source-id: 33dd7de4121bd5665a39b0ea96adce4603dc7df0
This commit is contained in:
Andrey Goncharov
2022-09-22 04:17:24 -07:00
committed by Facebook GitHub Bot
parent 6889446bc5
commit fd811db12b
9 changed files with 165 additions and 115 deletions

View File

@@ -403,10 +403,9 @@ function checkDevServer() {
}
(async () => {
const isInsidersBuild = process.env.FLIPPER_RELEASE_CHANNEL === 'insiders';
checkDevServer();
await prepareDefaultPlugins(
process.env.FLIPPER_RELEASE_CHANNEL === 'insiders',
);
await prepareDefaultPlugins(isInsidersBuild);
await ensurePluginFoldersWatchable();
const port = await detect(DEFAULT_PORT);
const {app, server} = await startAssetServer(port);
@@ -414,7 +413,7 @@ function checkDevServer() {
await startMetroServer(app, server);
outputScreen(socket);
await compileMain();
await startWatchPlugins((changedPlugins) => {
await startWatchPlugins(isInsidersBuild, (changedPlugins) => {
socket.emit('plugins-source-updated', changedPlugins);
});
if (dotenv && dotenv.parsed) {