@altostra/core
Version:
Core library for shared types and logic
36 lines (35 loc) • 1.52 kB
TypeScript
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;