Persist uninstalled plugins list

Summary: This diff changes uninstallation procedure for plugins. Instead of deleting plugin files immediately we are keeping them, but mark them as "uninstalled". This makes it possible to re-install plugins quickly in case when user clicked "delete" by mistake.

Reviewed By: mweststrate

Differential Revision: D25493479

fbshipit-source-id: 9ff29d717cdd5401c55388f24d479599579c8dd3
This commit is contained in:
Anton Nikolaev
2020-12-15 09:28:58 -08:00
committed by Facebook GitHub Bot
parent df03ccbeab
commit c3d61cc32d
9 changed files with 81 additions and 93 deletions

View File

@@ -12,7 +12,7 @@ import {PluginDetails} from 'flipper-plugin-lib';
test('reduce empty registerInstalledPlugins', () => {
const result = reducer(undefined, registerInstalledPlugins([]));
expect(result).toEqual({installedPlugins: [], removedPlugins: []});
expect(result.installedPlugins).toEqual([]);
});
const EXAMPLE_PLUGIN = {
@@ -31,11 +31,7 @@ const EXAMPLE_PLUGIN = {
test('reduce registerInstalledPlugins, clear again', () => {
const result = reducer(undefined, registerInstalledPlugins([EXAMPLE_PLUGIN]));
expect(result).toEqual({
installedPlugins: [EXAMPLE_PLUGIN],
removedPlugins: [],
});
expect(result.installedPlugins).toEqual([EXAMPLE_PLUGIN]);
const result2 = reducer(result, registerInstalledPlugins([]));
expect(result2).toEqual({installedPlugins: [], removedPlugins: []});
expect(result2.installedPlugins).toEqual([]);
});