@teambit/workspace
Version:
37 lines (36 loc) • 1.74 kB
TypeScript
import type { AspectList, ResolveComponentIdFunc } from '@teambit/component';
import { ComponentID } from '@teambit/component';
import { ExtensionDataList } from '@teambit/legacy.extension-data';
import type { PathOsBasedAbsolute } from '@teambit/legacy.utils';
import { JsonVinyl } from '@teambit/component.sources';
interface ComponentConfigFileOptions {
indent: string;
newLine: '\r\n' | '\n' | undefined;
}
interface WriteConfigFileOptions {
override?: boolean;
}
interface ComponentConfigFileJson {
componentId: any;
extensions: any;
propagate: boolean;
defaultScope?: string;
}
export declare class ComponentConfigFile {
componentId: ComponentID;
aspects: AspectList;
private componentDir;
propagate: boolean;
private options;
defaultScope?: string | undefined;
constructor(componentId: ComponentID, aspects: AspectList, componentDir: PathOsBasedAbsolute, propagate?: boolean, options?: ComponentConfigFileOptions, defaultScope?: string | undefined);
static load(componentDir: PathOsBasedAbsolute, aspectListFactory: (extensionDataList: ExtensionDataList) => Promise<AspectList>): Promise<ComponentConfigFile | undefined>;
static composePath(componentRootFolder: string): string;
toVinylFile(options?: WriteConfigFileOptions): Promise<JsonVinyl>;
write(options?: WriteConfigFileOptions): Promise<void>;
addAspect(aspectId: string, config: any, resolveComponentId: ResolveComponentIdFunc, shouldMergeConfig?: boolean): Promise<void>;
removeAspect(aspectId: string, markWithMinusIfNotExist: boolean, resolveComponentId: ResolveComponentIdFunc): Promise<void>;
private aspectEntryFromConfigObject;
toJson(): ComponentConfigFileJson;
}
export {};