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

@@ -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}`);