UNPKG

@o3r/components

Version:

This module contains component-related features (Component replacement, CMS compatibility, helpers, pipes, debugging developer tools...) It comes with an integrated ng builder to help you generate components compatible with Otter features (CMS integration

94 lines 3.22 kB
import { logging } from '@angular-devkit/core'; import type { ComponentExtractorBuilderSchema } from '../../index'; import { ParserOutput } from './component.parser'; import type { ComponentOutput } from '@o3r/components'; /** * Extracts components metadata */ export declare class ComponentExtractor { private readonly libraryName; private readonly logger; private readonly workspaceRoot; private readonly strictMode; /** List of libraries to extract component metadata from */ private readonly libraries; /** List of loaded libraries configurations */ private libConfigurations?; /** List of the loaded libraries component outputs*/ private libComponentClassOutputs?; /** * Extracts components metadata constructor * @param libraryName The name of the library/app on which the extractor is run * @param libraries List of libraries to extract metadata from * @param logger * @param workspaceRoot * @param strictMode */ constructor(libraryName: string, libraries: string[], logger: logging.LoggerApi, workspaceRoot: string, strictMode?: boolean); /** * Load configuration files from libraries. * */ private loadLibraryConfigurations; /** * Load component classes files from libraries. * */ private loadLibraryComponentClassOutputs; /** * Indicates if the given component is referencing configuration from a library. * @param component */ private isLibConfigRef; /** * Returns a ComponentConfigOutput model built using the given ConfigurationInformation, filePath and type as well as the library being processed. * @param configuration * @param filePath * @param type */ private createComponentConfigOutput; /** * Return a hash of the config output without the path * @param config */ private hashConfiguration; /** * Add NestedConfiguration to map * @param nestedConfigurations Map * @param configurationInformationWrapper configurations to be added * @param filePath */ private addNestedConfigToMap; /** * Consolidate the configuration data to the final format. * @param parsedData Data extracted from the source code */ private consolidateConfig; /** * Consolidate the components data to the final format * @param parsedData Data extracted from the source code * @param placeholdersMetadataFile */ private consolidateComponents; /** * Merge placeholders metadata information into the components metadata * @param componentClassOutputs * @param placeholdersMetadata * @private */ private addPlaceholdersToComponent; /** * Filters out config not supported by CMS * @param configs * @param options * @private */ private filterIncompatibleConfig; /** * Extract components metadata from a parser output * @param parserOutput Data extracted from the source code * @param options */ extract(parserOutput: ParserOutput, options: ComponentExtractorBuilderSchema): Promise<ComponentOutput>; } //# sourceMappingURL=component.extractor.d.ts.map