///
///
///
export type BaseExecRequestType = {
cwd: string;
stdout: (data: Buffer) => void;
stderr: (data: Buffer) => void;
onExit: (code: number | null, signal: NodeJS.Signals | null) => void;
};
export type NodeRequestType = BaseExecRequestType & {
env: NodeJS.ProcessEnv;
entry: string;
};
export type NPMInstallRequestType = BaseExecRequestType & {
packages?: Array;
};
type SpawnCallRequestType = {
cwd: string;
env: NodeJS.ProcessEnv;
command: string;
args: Array;
stdout: (data: Buffer) => void;
stderr: (data: Buffer) => void;
onExit: (code: number | null, signal: NodeJS.Signals | null) => void;
};
export declare function spawnCall(options: SpawnCallRequestType): import("child_process").ChildProcessWithoutNullStreams;
/**
* Execute a JavaScript file using node.
*
* Example:
*
* node({
* cwd: '/Users/ben/.srcbook/foo',
* env: {FOO_ENV_VAR: 'foooooooo'},
* entry: 'foo.js',
* stdout(data) {console.log(data.toString('utf8'))},
* stderr(data) {console.error(data.toString('utf8'))},
* onExit(code) {console.log(`Exit code: ${code}`)}
* });
*
*/
export declare function node(options: NodeRequestType): import("child_process").ChildProcessWithoutNullStreams;
export declare function tsc(options: NodeRequestType): import("child_process").ChildProcessWithoutNullStreams;
/**
* Execute a TypeScript file using tsx.
*
* Example:
*
* tsx({
* cwd: '/Users/ben/.srcbook/foo',
* env: {FOO_ENV_VAR: 'foooooooo'},
* entry: 'foo.ts',
* stdout(data) {console.log(data.toString('utf8'))},
* stderr(data) {console.error(data.toString('utf8'))},
* onExit(code) {console.log(`Exit code: ${code}`)}
* });
*
*/
export declare function tsx(options: NodeRequestType): import("child_process").ChildProcessWithoutNullStreams;
/**
* Run npm install.
*
* Install all packages:
*
* npmInstall({
* cwd: '/Users/ben/.srcbook/foo',
* stdout(data) {console.log(data.toString('utf8'))},
* stderr(data) {console.error(data.toString('utf8'))},
* onExit(code) {console.log(`Exit code: ${code}`)}
* });
*
* Install a specific package:
*
* npmInstall({
* cwd: '/Users/ben/.srcbook/foo',
* package: 'marked',
* stdout(data) {console.log(data.toString('utf8'))},
* stderr(data) {console.error(data.toString('utf8'))},
* onExit(code) {console.log(`Exit code: ${code}`)}
* });
*
*/
export declare function npmInstall(options: NPMInstallRequestType): import("child_process").ChildProcessWithoutNullStreams;
export {};
//# sourceMappingURL=exec.d.mts.map