Plugin Marketplace API
Summary: Extracted plugin marketplace API to a separate file and updated it to load full plugin manifests. Reviewed By: passy Differential Revision: D25181759 fbshipit-source-id: a63f9ce16249ccc170df148cef5c209fdc6d4d6d
This commit is contained in:
committed by
Facebook GitHub Bot
parent
658b3e8a91
commit
5b26f36672
@@ -9,15 +9,10 @@
|
||||
|
||||
import fs from 'fs-extra';
|
||||
import path from 'path';
|
||||
import PluginDetails from './PluginDetails';
|
||||
import {pluginCacheDir} from './pluginPaths';
|
||||
import {PluginDetails} from './PluginDetails';
|
||||
import {getPluginInstallationDir, pluginCacheDir} from './pluginPaths';
|
||||
|
||||
export default async function (
|
||||
pluginDir: string,
|
||||
packageJson?: any,
|
||||
): Promise<PluginDetails> {
|
||||
packageJson =
|
||||
packageJson || (await fs.readJson(path.join(pluginDir, 'package.json')));
|
||||
export async function getPluginDetails(pluginDir: string, packageJson: any) {
|
||||
const specVersion =
|
||||
packageJson.$schema &&
|
||||
packageJson.$schema ===
|
||||
@@ -34,6 +29,31 @@ export default async function (
|
||||
}
|
||||
}
|
||||
|
||||
export async function getPluginDetailsFromDir(
|
||||
pluginDir: string,
|
||||
): Promise<PluginDetails> {
|
||||
const packageJson = await fs.readJson(path.join(pluginDir, 'package.json'));
|
||||
return await getPluginDetails(pluginDir, packageJson);
|
||||
}
|
||||
|
||||
export async function getPluginDetailsFromPackageJson(packageJson: any) {
|
||||
const pluginDir = getPluginInstallationDir(packageJson.name);
|
||||
return await getPluginDetails(pluginDir, packageJson);
|
||||
}
|
||||
|
||||
export async function getDownloadablePluginDetails(
|
||||
packageJson: any,
|
||||
downloadUrl: string,
|
||||
lastUpdated: Date,
|
||||
) {
|
||||
const details = await getPluginDetailsFromPackageJson(packageJson);
|
||||
return {
|
||||
...details,
|
||||
downloadUrl,
|
||||
lastUpdated,
|
||||
};
|
||||
}
|
||||
|
||||
// Plugins packaged using V1 are distributed as sources and compiled in run-time.
|
||||
async function getPluginDetailsV1(
|
||||
pluginDir: string,
|
||||
|
||||
Reference in New Issue
Block a user