UNPKG

@build-script/heft-esbuild-plugin

Version:

lowlevel esbuild plugin for [heft]

35 lines 1.57 kB
import type { HeftConfiguration, IScopedLogger } from '@rushstack/heft'; import type ESBuild from 'esbuild'; import type { FilterdBuildOptions } from './config.js'; export type ESBuildPublicApi = typeof ESBuild; export interface IGlobalSession { /** see type define */ readonly logger: IScopedLogger; /** name in heft.json */ readonly taskName: string; /** directory contains project package.json */ readonly rootDir: string; /** options in heft.json task define */ readonly options: string; /** a temp dir, will delete when --clean */ readonly tempFolderPath: string; /** @see @rushstack/rig-package */ readonly rigConfig: HeftConfiguration['rigConfig']; /** resolve dependency package from project and rig, return absolute path */ resolve(packageName: string): PromiseLike<string>; /** define globs to watch, relative to rootDir */ watchFiles(files: string[]): void; /** require('esbuild') */ readonly esbuild: ESBuildPublicApi; } /** * you can `export function onEmit() {}` to modify file content before write disk * * don't write file by your self in this function. * * @param files all files will be write to disk, this array can be add, remove, or modify. * @param options is what you defined in options. * @return value will be passed to next onEmit (undefined on first run), only have meaning in watch mode **/ export type IOutputModifier<T = any> = (files: ESBuild.OutputFile[], options: FilterdBuildOptions, lastReturn?: T) => T | PromiseLike<T>; //# sourceMappingURL=type.d.ts.map