@manuth/woltlab-compiler
Version:
A compiler for generating WoltLab-Package `.tar` Archives and other WoltLab-Package Components
57 lines (56 loc) • 1.97 kB
TypeScript
import { ILocalization } from "../Globalization/ILocalization.js";
import { IComponentOptions } from "./IComponentOptions.js";
import { IConflictingPackageDescriptorOptions } from "./IConflictingPackageDescriptorOptions.js";
import { IFileDescriptorOptions } from "./IFileDescriptorOptions.js";
import { IInstructionSetOptions } from "./Instructions/IInstructionSetOptions.js";
import { IUpdateInstructionSetOptions } from "./Instructions/IUpdateInstructionSetOptions.js";
import { IPackageFileDescriptorOptions } from "./IPackageFileDescriptorOptions.js";
import { IRequiredPackageDescriptorOptions } from "./IRequiredPackageDescriptorOptions.js";
import { VersionNumber } from "./VersionNumber.js";
/**
* Provides options for the {@link Package `Package`} class.
*/
export interface IPackageOptions extends Partial<IComponentOptions> {
/**
* The identifier of the package.
*/
Identifier: string;
/**
* @inheritdoc
*/
DisplayName: ILocalization;
/**
* @inheritdoc
*/
Version: VersionNumber;
/**
* The API-Version of the package.
*
* @deprecated
*/
APIVersion?: string;
/**
* A set of files which will be added to the package.
*/
AdditionalFiles?: IFileDescriptorOptions[];
/**
* A set of packages which are required by this package.
*/
RequiredPackages?: IRequiredPackageDescriptorOptions[];
/**
* A set of packages which cause a conflict with this package.
*/
ConflictingPackages?: IConflictingPackageDescriptorOptions[];
/**
* A set of packages which can be installed additionally.
*/
OptionalPackages?: Array<Required<IPackageFileDescriptorOptions>>;
/**
* A set of instructions for installing the package.
*/
InstallSet: IInstructionSetOptions;
/**
* A set of instructions to execute when updating from a specific version.
*/
UpdateSets?: IUpdateInstructionSetOptions[];
}