@tylertech/forge-build-tools
Version:
Node utilities for building and packaging libraries.
54 lines (53 loc) • 1.94 kB
TypeScript
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;