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

79 lines 2.84 kB
import { logging } from '@angular-devkit/core'; import type { CategoryDescription } from '@o3r/core'; import { ComponentInformation } from './component-class.extractor'; import { ConfigurationInformationWrapper } from './component-config.extractor'; /** Output of a file parsing */ export interface FileParserOutput { /** Path to the file parsed */ file: string; /** Component extracted for the file */ component?: ComponentInformation; /** Configuration extracted for the file */ configuration?: ConfigurationInformationWrapper; } /** @inheritdoc */ export interface FileParserOutputComponent extends FileParserOutput { /** @inheritdoc */ component: ComponentInformation; } /** @inheritdoc */ export interface FileParserOutputConfiguration extends FileParserOutput { /** @inheritdoc */ configuration: ConfigurationInformationWrapper; } /** Output of the parser */ export interface ParserOutput { /** List of components parsed */ components: { [file: string]: FileParserOutputComponent; }; /** List of configuration parsed */ configurations: { [file: string]: FileParserOutputConfiguration; }; } /** * Component extractor parser. */ export declare class ComponentParser { private readonly libraryName; private readonly tsconfigPath; private readonly logger; private readonly strictMode; private readonly libraries; private readonly globalConfigCategories; private readonly globalConfigCategoriesMap; /** * Component extractor parser constructor * @param libraryName * @param tsconfigPath Path to the tsconfig defining the list of path to parse * @param logger Logger * @param strictMode * @param libraries * @param globalConfigCategories */ constructor(libraryName: string, tsconfigPath: string, logger: logging.LoggerApi, strictMode?: boolean, libraries?: string[], globalConfigCategories?: CategoryDescription[]); /** Get the list of patterns from tsconfig.json */ private getPatternsFromTsConfig; /** Get the list of file from tsconfig.json */ private getFilesFromTsConfig; /** * Extract a component of a given file * @param file Path to the file to extract the component from * @param source Typescript SourceFile node of the file */ private getComponent; /** * Extract a configuration of a given file * @param file Path to the file to extract the configuration from * @param source Typescript SourceFile node of the file * @param checker Typescript TypeChecker of the program */ private getConfiguration; /** * Extract the Components and Configurations implemented in each files from tsconfig * */ parse(): Promise<ParserOutput>; } //# sourceMappingURL=component.parser.d.ts.map