@netlify/content-engine
Version:
80 lines • 2.42 kB
TypeScript
import { LedgerAction } from "./ledger-writer";
import { GatsbyConfig } from "src/types";
type PackageJsonDep = {
name: string;
version: string;
};
type PackageJsonDeps = Array<PackageJsonDep>;
type PluginPackageJson = {
name: string;
dependencies?: PackageJsonDeps;
devDependencies?: PackageJsonDeps;
peerDependencies?: PackageJsonDeps;
};
type PluginActionPayload = {
name: string;
id: string;
nodeAPIs: Array<"createSchemaCustomization" | "onPluginInit" | "sourceNodes">;
pluginFilepath: string;
pluginOptions: Record<string, any>;
version: string;
internal: {
owner: string;
type: string;
};
packageJson: PluginPackageJson;
};
type MaybePluginAction = LedgerAction | {
type?: string;
payload?: PluginActionPayload;
plugin?: PluginActionPayload;
};
export declare class LedgerDependencyManager {
private directory;
private cache;
private pendingPluginInstallPayloads;
private installedPluginPayloads;
private sitePlugin;
private sawAtleastOneGatsbyPlugin;
private dynamicConnectorIds;
constructor(input: {
directory: string;
});
get didInstallPlugins(): boolean;
checkEngineConfigForPluginInstalls(engineConfig: GatsbyConfig): void;
checkLedgerActionForPluginInstall(action: MaybePluginAction): {
isInstallablePlugin: boolean;
};
getEnginePluginsConfig(): {
resolve: string;
options: Record<string, any>;
}[];
private persist;
private restore;
installPendingPluginsForWriter(): Promise<{
totalInstalled: number;
previouslyInstalled: number;
}>;
installPendingPlugins(): Promise<{
totalInstalled: number;
previouslyInstalled: number;
}>;
private removeExtraPendingConnectorInstalls;
private removeUnneededGatsbyPlugins;
private getPnpmAddArguments;
private getPnpmAddArgumentsForWriter;
private getConnectorInstallUrlFromSitePlugin;
private getPluginPnpmInstallString;
private findDependency;
private isUrlInstallablePlugin;
private isLocalPluginOnDisk;
private isInstallablePluginAction;
private isSitePluginAction;
private isGatsbySourcePlugin;
private isGatsbyPluginImage;
private isGatsbyPlugin;
private isDefaultSitePlugin;
private isConnector;
}
export {};
//# sourceMappingURL=ledger-dependency-manager.d.ts.map