//#region src/builders/web/webPluginManifest.d.ts /** * The doompiWeb manifest vocabulary: how a package declares its web plugin in * package.json, validated and ordered without touching the filesystem. The * scan adapter feeds this from real manifests; the sync bundler feeds it from * the installed composition's package roots. * * Plugins are independent: a manifest names no other plugin, and the order * plugins install in is only a tiebreak (registrationOrder, then pluginId), * because every relation between two plugins resolves by name once all of * them are installed. A collision between two packages is a notice for the * sync log and the first package keeps the name; only a malformed block is an * error, which the scanner turns into a notice for that package alone. */ /** The order a plugin installs at when its manifest names none. */ export declare const DEFAULT_REGISTRATION_ORDER = 1000; export interface WebPluginEntryDeclaration { /** Package-relative ./path to the source entry. */ entry: string; } export interface DeclaredWebPlugin { pluginId: string; registrationOrder: number; packageDir: string; packageName: string; isHost: boolean; client: WebPluginEntryDeclaration; scopes: readonly ('global' | 'workspace' | 'session')[]; } export declare class WebPluginManifestError extends Error { constructor(packageDir: string, message: string); } /** The doompiWeb value normalized to a list: one plugin object or an array of them. */ export declare function pluginBlocksOf(manifest: Record): unknown[]; /** Validates one manifest's blocks into declared plugins; throws WebPluginManifestError on bad shape. */ export declare function declaredPluginsOf(packageDir: string, manifest: Record, isHost: boolean): DeclaredWebPlugin[]; /** * The deterministic install order, (registrationOrder, pluginId), with the * cross-package collisions resolved by the browser client registry: the first * plugin keeps a shared pluginId and the later package is dropped with a notice. */ export declare function orderDeclaredPlugins(plugins: readonly DeclaredWebPlugin[], onNotice?: (message: string) => void): DeclaredWebPlugin[]; //#endregion //# sourceMappingURL=webPluginManifest.d.cts.map