UNPKG

@manuth/generator-wsc-package

Version:

A Generator for WoltLab Suite Core Packages.

76 lines (75 loc) 2.72 kB
/// <reference types="yeoman-generator" /> import { ComponentCollection, FileMappingCollectionEditor, GeneratorOptions, IComponentCollection, IFileMapping, ObjectCollectionEditor } from "@manuth/extended-yo-generator"; import { ITSProjectSettings } from "@manuth/generator-ts-project"; import { InstructionComponent } from "../../Components/InstructionComponent.js"; import { IWoltLabSettings } from "../../Settings/IWoltLabSettings.js"; import { WoltLabGenerator } from "../../WoltLabGenerator.js"; import { EntryPointFileMapping } from "./FileMappings/EntryPointFileMapping.js"; import { WoltLabPackageFileMapping } from "./FileMappings/WoltLabPackageFileMapping.js"; /** * Provides the functionality to generate WoltLab-packages. * * @template TSettings * The type of the generator-settings. * * @template TOptions * The type of the generator-options. */ export declare class WoltLabPackageGenerator<TSettings extends IWoltLabSettings = IWoltLabSettings, TOptions extends GeneratorOptions = GeneratorOptions> extends WoltLabGenerator<TSettings, TOptions> { /** * @inheritdoc */ get TemplateRoot(): string; /** * Gets all {@see InstructionComponent `InstructionComponent<TSettings, TOptions, TComponentOptions>`} provided by this generator. */ get InstructionComponents(): Array<InstructionComponent<TSettings, TOptions, any>>; /** * Gets a collection containing all {@see InstructionComponent `InstructionComponent<TSettings, TOptions, TComponentOptions>`} provided by this generator. */ get InstructionComponentCollection(): ObjectCollectionEditor<InstructionComponent<TSettings, TOptions, any>>; /** * @inheritdoc */ get Components(): IComponentCollection<TSettings, TOptions>; /** * @inheritdoc */ protected get BaseComponents(): ComponentCollection<ITSProjectSettings, GeneratorOptions>; /** * @inheritdoc */ protected get BaseFileMappings(): FileMappingCollectionEditor; /** * Gets the file-mapping for the woltlab-package. */ get WoltLabPackageFileMapping(): WoltLabPackageFileMapping<TSettings, TOptions>; /** * Gets the file-mapping for the entry-point file. */ get EntryPointFileMapping(): EntryPointFileMapping<TSettings, TOptions>; /** * @inheritdoc */ get FileMappings(): Array<IFileMapping<TSettings, TOptions>>; /** * @inheritdoc */ prompting(): Promise<void>; /** * @inheritdoc */ writing(): Promise<void>; /** * @inheritdoc */ install(): Promise<void>; /** * @inheritdoc */ cleanup(): Promise<void>; /** * @inheritdoc */ end(): Promise<void>; }