@teambit/harmony
Version:
abstract extension system
42 lines (41 loc) • 941 B
TypeScript
import { ProviderFn } from '../types';
import { SlotProvider } from '../slots';
export type ExtensionManifest = {
/**
* extension name.
*/
name: string;
/**
* extension unique ID.
*/
id?: string;
/**
* version of the extension
*/
/**
* array of extension dependencies.
* these other extensions will be installed and resolved prior to this extension activation.
*/
dependencies?: ExtensionManifest[];
/**
* reference to the extension factory function.
*/
provider?: ProviderFn;
/**
*
* default config of the extension.
*/
defaultConfig?: object;
/**
* alias to provider.
*/
provide?: ProviderFn;
/**
* array of slots the extension is exposing.
*/
slots?: SlotProvider<unknown>[];
/**
* any further keys which might be expected by other extensions.
*/
[]: any;
};