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
@@ -251,6 +251,7 @@
|
|||||||
"lint": "yarn lint:eslint && yarn lint:flow && yarn lint:tsc",
|
"lint": "yarn lint:eslint && yarn lint:flow && yarn lint:tsc",
|
||||||
"bump-versions": "./ts-node scripts/bump-versions.ts",
|
"bump-versions": "./ts-node scripts/bump-versions.ts",
|
||||||
"publish-packages": "./ts-node scripts/publish-packages.ts",
|
"publish-packages": "./ts-node scripts/publish-packages.ts",
|
||||||
|
"list-plugins": "./ts-node scripts/list-plugins.ts",
|
||||||
"everything": "yarn reset && yarn install && yarn lint && yarn test && yarn test-electron && yarn build --mac --mac-dmg --win --linux --linux-deb && yarn build-headless --mac --linux && yarn start"
|
"everything": "yarn reset && yarn install && yarn lint && yarn test && yarn test-electron && yarn build --mac --mac-dmg --win --linux --linux-deb && yarn build-headless --mac --linux && yarn start"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
|
|||||||
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 {
|
export interface Package {
|
||||||
dir: string;
|
dir: string;
|
||||||
json: any;
|
json: any;
|
||||||
|
isPrivate: boolean;
|
||||||
isPlugin: boolean;
|
isPlugin: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,7 +51,11 @@ async function getWorkspacesByRoot(
|
|||||||
return {
|
return {
|
||||||
dir,
|
dir,
|
||||||
json,
|
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: {
|
rootPackage: {
|
||||||
dir: rootDir,
|
dir: rootDir,
|
||||||
json: rootPackageJson,
|
json: rootPackageJson,
|
||||||
|
isPrivate: true,
|
||||||
isPlugin: false,
|
isPlugin: false,
|
||||||
},
|
},
|
||||||
packages,
|
packages,
|
||||||
@@ -195,9 +201,7 @@ export async function publishPackages({
|
|||||||
if (proxy) {
|
if (proxy) {
|
||||||
cmd += ` --http-proxy ${proxy} --https-proxy ${proxy}`;
|
cmd += ` --http-proxy ${proxy} --https-proxy ${proxy}`;
|
||||||
}
|
}
|
||||||
const publicPackages = workspaces.packages.filter(
|
const publicPackages = workspaces.packages.filter((pkg) => !pkg.isPrivate);
|
||||||
(pkg) => !pkg.json.private && !pkg.isPlugin,
|
|
||||||
);
|
|
||||||
for (const pkg of publicPackages) {
|
for (const pkg of publicPackages) {
|
||||||
if (dryRun) {
|
if (dryRun) {
|
||||||
console.log(`DRYRUN: Skipping npm publishing for ${pkg.json.name}`);
|
console.log(`DRYRUN: Skipping npm publishing for ${pkg.json.name}`);
|
||||||
|
|||||||
Reference in New Issue
Block a user