xpm
Version:
The xPack project manager command line tool
51 lines • 2.29 kB
TypeScript
import { Liquid, LiquidOptions } from 'liquidjs';
import { Logger } from '@xpack/logger';
import { InitTemplatePropertiesDefinitions, InitTemplateSubstitutionsVariables } from '../types/xpm-init-template.js';
import { Context } from '../types/xpm.js';
import type { Policies } from './policies.js';
export interface InitTemplateConstructorParameters {
context: Context;
__dirname: string;
templatesPath: string;
propertiesDefinitions: InitTemplatePropertiesDefinitions;
process?: NodeJS.Process;
options?: LiquidOptions;
policies: Policies;
}
export declare abstract class InitTemplateBase {
readonly context: Context;
readonly log: Logger;
readonly propertiesDefinitions: InitTemplatePropertiesDefinitions;
readonly __dirname: string;
readonly templatesPath: string;
readonly engine: Liquid;
substitutionsVariables?: InitTemplateSubstitutionsVariables;
isInteractive: boolean;
readonly process: NodeJS.Process;
policies: Policies;
constructor({ context, __dirname, templatesPath, propertiesDefinitions, process: _process, options, policies, }: InitTemplateConstructorParameters);
run(): Promise<number>;
abstract generate(): Promise<void>;
isPlatformSupported(platforms: string[] | undefined): boolean;
copyFile({ sourceFileRelativePath, destinationFilePath, }: {
sourceFileRelativePath: string;
destinationFilePath?: string;
}): Promise<void>;
copyFolder({ sourceFolderRelativePath, destinationFolderPath, }: {
sourceFolderRelativePath: string;
destinationFolderPath?: string;
}): Promise<void>;
render({ sourceFilePath, destinationFilePath, substitutionsVariables, }: {
sourceFilePath: string;
destinationFilePath: string;
substitutionsVariables?: InitTemplateSubstitutionsVariables;
}): Promise<void>;
validatePropertyValue(name: string, value: string): string | boolean | number;
protected _askForMoreValues(): Promise<void>;
protected _copyFolderRecursively({ sourceFolderPath, destinationFolderPath, }: {
sourceFolderPath: string;
destinationFolderPath: string;
}): Promise<void>;
protected _validatePropertiesDefinitions(): void;
}
//# sourceMappingURL=init-template-base.d.ts.map