UNPKG

@angular-devkit/schematics

Version:
43 lines (42 loc) 2.04 kB
/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.dev/license */ import { JsonObject } from '@angular-devkit/core'; import { Collection, CollectionDescription, Engine, EngineHost, RuleFactory, Schematic, SchematicDescription, TypedSchematicContext } from '../src'; export interface FileSystemCollectionDescription { readonly name: string; readonly path: string; readonly version?: string; readonly schematics: { [name: string]: FileSystemSchematicDesc; }; readonly encapsulation?: boolean; } export interface FileSystemSchematicJsonDescription { readonly aliases?: string[]; readonly factory: string; readonly name: string; readonly collection: FileSystemCollectionDescription; readonly description: string; readonly schema?: string; readonly extends?: string; } export interface FileSystemSchematicDescription extends FileSystemSchematicJsonDescription { readonly path: string; readonly schemaJson?: JsonObject; readonly factoryFn: RuleFactory<{}>; } /** * Used to simplify typings. */ export declare type FileSystemEngine = Engine<FileSystemCollectionDescription, FileSystemSchematicDescription>; export declare type FileSystemEngineHost = EngineHost<FileSystemCollectionDescription, FileSystemSchematicDescription>; export declare type FileSystemCollection = Collection<FileSystemCollectionDescription, FileSystemSchematicDescription>; export declare type FileSystemSchematic = Schematic<FileSystemCollectionDescription, FileSystemSchematicDescription>; export declare type FileSystemCollectionDesc = CollectionDescription<FileSystemCollectionDescription>; export declare type FileSystemSchematicDesc = SchematicDescription<FileSystemCollectionDescription, FileSystemSchematicDescription>; export declare type FileSystemSchematicContext = TypedSchematicContext<FileSystemCollectionDescription, FileSystemSchematicDescription>;