UNPKG

@tylertech/forge-build-tools

Version:
54 lines (53 loc) 1.94 kB
import { FileTemplateData } from './file-template-data.js'; export declare enum OS { Unknown = "unknown", Mac = "mac", Windows = "windows", Linux = "linux" } export declare enum InstallType { Template = 0, Copy = 1 } export interface InstallFileDescriptor { type: InstallType; path: string; outputPath: string; } /** * Reads in a file template and returns the resulting file contents. * @param {string} filePath The path the file template. * @param {Record<string, never>} values The template values. */ export declare function templateFile<T extends FileTemplateData>(filePath: string, values: T, templateOptions?: any): Promise<string>; /** * Installs files to the destination directory. * @param files * @param dest * @param templateValues */ export declare function installFiles<T extends FileTemplateData>(files: InstallFileDescriptor[], templateData?: T, templateOptions?: any): Promise<void>; /** * Forms an absolute path from either an absolute or relative path. * @param path The path to convert. * @param cwd The root directory to start in to form an absolute path from relative. */ export declare function absolutify(path: string, cwd: string): string; /** Executes a terminal command. */ export declare function runCommand(command: string, cwd?: string, live?: boolean): Promise<string>; /** * Executes an async function with a progress display. * @param title The title of the task to display in the console. * @param fn The async task function execute. * @param quiet Whether to execute the task with output status messaging. */ export declare function runTask<T>(title: string, fn: () => Promise<T>, quiet?: boolean): Promise<T>; /** * Formats hrtime. * @param hrtime */ export declare function formatHrTime(hrtime: any): string; /** * Determines if there are any glob characters within the provided string. */ export declare function isGlob(str: string): boolean;