Script to list all plugins included into Flipper desktop workspaces

Summary: Script to list all plugins included into Flipper desktop workspaces.

Reviewed By: passy

Differential Revision: D22256917

fbshipit-source-id: a3d8a0f9faea6e462a2f22be155d99eb22eb59d8
This commit is contained in:
Anton Nikolaev
2020-06-26 09:05:49 -07:00
committed by Facebook GitHub Bot
parent 5d033204e8
commit dcd909779b
3 changed files with 30 additions and 4 deletions

View File

@@ -0,0 +1,21 @@
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
*/
import {getWorkspaces} from './workspaces';
getWorkspaces()
.then((workspaces) => {
workspaces.packages
.filter((x) => x.isPlugin)
.forEach((x) => console.log(x.dir));
})
.catch((err: any) => {
console.error(err);
process.exit(1);
});

View File

@@ -20,6 +20,7 @@ const glob = promisify(globImport);
export interface Package {
dir: string;
json: any;
isPrivate: boolean;
isPlugin: boolean;
}
@@ -50,7 +51,11 @@ async function getWorkspacesByRoot(
return {
dir,
json,
isPlugin: dir.startsWith(pluginsDir),
isPrivate: json.private || dir.startsWith(pluginsDir),
isPlugin:
json.keywords &&
Array.isArray(json.keywords) &&
json.keywords.includes('flipper-plugin'),
};
},
);
@@ -58,6 +63,7 @@ async function getWorkspacesByRoot(
rootPackage: {
dir: rootDir,
json: rootPackageJson,
isPrivate: true,
isPlugin: false,
},
packages,
@@ -195,9 +201,7 @@ export async function publishPackages({
if (proxy) {
cmd += ` --http-proxy ${proxy} --https-proxy ${proxy}`;
}
const publicPackages = workspaces.packages.filter(
(pkg) => !pkg.json.private && !pkg.isPlugin,
);
const publicPackages = workspaces.packages.filter((pkg) => !pkg.isPrivate);
for (const pkg of publicPackages) {
if (dryRun) {
console.log(`DRYRUN: Skipping npm publishing for ${pkg.json.name}`);