@decaf-ts/fabric-weaver
Version:
template for ts projects
33 lines (32 loc) • 1.7 kB
TypeScript
/**
* @module build-scripts
* @description Custom build scripts for the fabric-weaver project.
* @summary This module extends the BuildScripts class from @decaf-ts/utils to provide custom build functionality for the fabric-weaver project. It includes utilities for building command-line interfaces and handling different module formats (CommonJS and ES Modules).
*/
import { BuildScripts } from "@decaf-ts/utils";
/**
* @description Custom build scripts for the fabric-weaver project.
* @summary Extends the BuildScripts class to provide project-specific build functionality, including command bundling and file manipulation.
* @class BuildScriptsCustom
* @extends BuildScripts
*/
export declare class BuildScriptsCustom extends BuildScripts {
/**
* @description Builds command-line interfaces for the project.
* @summary Processes each command in the Commands array, bundling the TypeScript files, adding a shebang line, and setting appropriate permissions.
* @return {Promise<void>}
* @mermaid
* sequenceDiagram
* participant BuildScriptsCustom
* participant FileSystem
* loop For each command
* BuildScriptsCustom->>BuildScriptsCustom: bundle(Modes.CJS, true, true, `src/bin/${cmd}.ts`, cmd)
* BuildScriptsCustom->>FileSystem: readFile(`bin/${cmd}.cjs`)
* FileSystem-->>BuildScriptsCustom: file content
* BuildScriptsCustom->>BuildScriptsCustom: Add shebang to file content
* BuildScriptsCustom->>FileSystem: writeFile(`bin/${cmd}.cjs`, modified content)
* BuildScriptsCustom->>FileSystem: chmodSync(`bin/${cmd}.cjs`, "755")
* end
*/
buildCommands(): Promise<void>;
}