UNPKG

@altostra/core

Version:

Core library for shared types and logic

36 lines (35 loc) 1.52 kB
import type { BlueprintHelper } from "../../blueprint/Helpers/BlueprintHelper"; import type { DefaultSeverity, Logger, OperationSeverity } from "../../common/Logging"; import type { Project } from "../Types"; import type { CreateProjectParams } from "./ProjectFromTemplate"; export interface ProjectOptions { userConsole?: Logger<DefaultSeverity | OperationSeverity>; logger?: Logger; } export declare const defaultProjectOptions: ProjectOptions; /** * Creates a project-api, that used to control deployments and manage all project * related tasks. \ * Nowadays this API is mostly used for loading the project from the disk. */ export interface ProjectClass { new (project: Project, options?: Partial<ProjectOptions>): ProjectInstance; get(options?: Partial<ProjectOptions>): Promise<ProjectInstance>; fromTemplate(params: CreateProjectParams, options?: Partial<ProjectOptions>): Promise<ProjectInstance>; } export interface ProjectInstance extends Readonly<Project> { readonly rootDir: string; userConsole: Logger<DefaultSeverity | OperationSeverity>; logger: Logger; readonly blueprintHelpers: BlueprintHelper[]; readonly project: Readonly<Project>; } export interface GetExtraDataOptions { successfulDeployOnly: boolean; } export declare const defaultGetExtraDataOptions: GetExtraDataOptions; export interface GetLastVersionOptions { successfullyDeployed: boolean; hasExtraData: boolean; } export declare const defaultGetLastVersionOptions: GetLastVersionOptions;