@rushstack/heft
Version:
Build all your JavaScript projects the same way: A way that works.
35 lines • 1.23 kB
TypeScript
import type { HeftConfiguration } from '../configuration/HeftConfiguration';
import type { IHeftTaskPlugin } from '../pluginFramework/IHeftPlugin';
import type { IHeftTaskSession, IHeftTaskRunHookOptions } from '../pluginFramework/HeftTaskSession';
interface IRunScriptPluginOptions {
scriptPath: string;
scriptOptions: Record<string, unknown>;
}
/**
* Options provided to scripts that are run using the RunScriptPlugin.
*
* @beta
*/
export interface IRunScriptOptions {
heftTaskSession: IHeftTaskSession;
heftConfiguration: HeftConfiguration;
runOptions: IHeftTaskRunHookOptions;
scriptOptions: Record<string, unknown>;
}
/**
* Interface used by scripts that are run by the RunScriptPlugin.
*
* @beta
*/
export interface IRunScript {
/**
* The method that is called by the RunScriptPlugin to run the script.
*/
runAsync: (options: IRunScriptOptions) => Promise<void>;
}
export default class RunScriptPlugin implements IHeftTaskPlugin<IRunScriptPluginOptions> {
apply(heftTaskSession: IHeftTaskSession, heftConfiguration: HeftConfiguration, pluginOptions: IRunScriptPluginOptions): void;
private _runScriptAsync;
}
export {};
//# sourceMappingURL=RunScriptPlugin.d.ts.map