import type VersionedPluginRepository from "../../api/plugin_repository/VersionedPluginRepository.ts"; import type ExtensionDescriptor from "../../api/plugin/ExtensionDescriptor.ts"; import type ExtensionEntry from "../../api/plugin_repository/ExtensionEntry.ts"; import type VersionedPluginDescriptor from "../../api/plugin_repository/VersionedPluginDescriptor.ts"; export interface NpmPluginRepositoryConfig { nodeModulesPath: string; packageJsonNamespace: string; } /** * {@link VersionedPluginRepository} backed by a local `node_modules` directory. * * Discovers installed plugins by scanning `nodeModulesPath` for packages that contain a * `packageJsonNamespace` key in their `package.json`. That key's value provides extension points, * dependencies, and pluginData. Used as the local installation target by {@link NpmPluginInstaller}. */ export default class NpmPluginRepository implements VersionedPluginRepository { readonly nodeModulesPath: string; readonly packageJsonNamespace: string; constructor(config: NpmPluginRepositoryConfig); private getPluginsAsyncIterable; private readPackageDescriptor; getPlugins(): AsyncIterable>; getPlugin(pluginId: string): Promise | undefined>; private scanForExtensionsAsyncIterable; scanForExtensions(extensionPoint: string): AsyncIterable>; getExtensionDescriptorFromExtensionEntry(extensionEntry: ExtensionEntry): Promise>; } //# sourceMappingURL=NpmPluginRepository.d.ts.map