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:
committed by
Facebook GitHub Bot
parent
5d033204e8
commit
dcd909779b
21
desktop/scripts/list-plugins.ts
Normal file
21
desktop/scripts/list-plugins.ts
Normal 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);
|
||||
});
|
||||
@@ -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}`);
|
||||
|
||||
Reference in New Issue
Block a user