n8n
Version:
n8n Workflow Automation Tool
41 lines (40 loc) • 2.5 kB
TypeScript
import { type PublicInstalledPackage } from 'n8n-workflow';
import { InstanceSettings } from 'n8n-core';
import type { PackageDirectoryLoader } from 'n8n-core';
import { InstalledPackagesRepository } from '../databases/repositories/installedPackages.repository';
import type { InstalledPackages } from '../databases/entities/InstalledPackages';
import type { CommunityPackages } from '../Interfaces';
import { LoadNodesAndCredentials } from '../LoadNodesAndCredentials';
import { Logger } from '../Logger';
export declare class CommunityPackagesService {
private readonly instanceSettings;
private readonly logger;
private readonly installedPackageRepository;
private readonly loadNodesAndCredentials;
missingPackages: string[];
constructor(instanceSettings: InstanceSettings, logger: Logger, installedPackageRepository: InstalledPackagesRepository, loadNodesAndCredentials: LoadNodesAndCredentials);
get hasMissingPackages(): boolean;
findInstalledPackage(packageName: string): Promise<InstalledPackages | null>;
isPackageInstalled(packageName: string): Promise<boolean>;
getAllInstalledPackages(): Promise<InstalledPackages[]>;
removePackageFromDatabase(packageName: InstalledPackages): Promise<InstalledPackages>;
persistInstalledPackage(packageLoader: PackageDirectoryLoader): Promise<InstalledPackages>;
parseNpmPackageName(rawString?: string): CommunityPackages.ParsedPackageName;
executeNpmCommand(command: string, options?: {
doNotHandleError?: boolean;
}): Promise<string>;
matchPackagesWithUpdates(packages: InstalledPackages[], updates?: CommunityPackages.AvailableUpdates): InstalledPackages[] | PublicInstalledPackage[];
matchMissingPackages(installedPackages: PublicInstalledPackage[]): PublicInstalledPackage[];
checkNpmPackageStatus(packageName: string): Promise<CommunityPackages.PackageStatusCheck | {
status: string;
}>;
hasPackageLoaded(packageName: string): boolean;
removePackageFromMissingList(packageName: string): void;
setMissingPackages({ reinstallMissingPackages }: {
reinstallMissingPackages: boolean;
}): Promise<void>;
installNpmModule(packageName: string, version?: string): Promise<InstalledPackages>;
updateNpmModule(packageName: string, installedPackage: InstalledPackages): Promise<InstalledPackages>;
removeNpmModule(packageName: string, installedPackage: InstalledPackages): Promise<void>;
private installOrUpdateNpmModule;
}