Fix search by query in Plugin Manager

Summary: I accidently broke search by query in a previous diff, so fixing it here

Reviewed By: passy

Differential Revision: D23842187

fbshipit-source-id: 9fcc7a46048ff99e1bf26c8a70ef0240b38018cb
This commit is contained in:
Anton Nikolaev
2020-09-22 10:33:52 -07:00
committed by Facebook GitHub Bot
parent e7fdd8332d
commit dfbf66408a
2 changed files with 13 additions and 4 deletions

View File

@@ -16,6 +16,7 @@ import getPluginDetails from './getPluginDetails';
import {getPluginInstallationDir} from './pluginInstaller';
import pmap from 'p-map';
import {notNull} from './typeUtils';
const npmApi = new NpmApi();
export type UpdateResult =
| {kind: 'not-installed'; version: string}
@@ -30,8 +31,9 @@ export type UpdatablePlugin = {
export type UpdatablePluginDetails = PluginDetails & UpdatablePlugin;
export async function getUpdatablePlugins(): Promise<UpdatablePluginDetails[]> {
const npmApi = new NpmApi();
export async function getUpdatablePlugins(
query?: string,
): Promise<UpdatablePluginDetails[]> {
const installedPlugins = await getInstalledPlugins();
const npmHostedPlugins = new Map<string, NpmPackageDescriptor>(
(await getNpmHostedPlugins()).map((p) => [p.name, p]),
@@ -119,5 +121,12 @@ export async function getUpdatablePlugins(): Promise<UpdatablePluginDetails[]> {
...annotatedNotInstalledPlugins
.filter(notNull)
.sort((p1, p2) => p1.name.localeCompare(p2.name)),
];
].filter(
(p) =>
!query ||
p.name.includes(query) ||
p.id.includes(query) ||
p.description?.includes(query) ||
p.title?.includes(query),
);
}