///
import type { SpawnOptions as ChildProcessSpawnOptions } from 'node:child_process';
import type { UserEnv } from '../../config/types';
export interface ToolConstraint {
toolName: string;
constraint?: string | null;
}
export interface ToolConfig {
datasource: string;
extractVersion?: string;
packageName: string;
hash?: boolean;
versioning: string;
}
export type Opt = T | null | undefined;
export type VolumesPair = [string, string];
export type VolumeOption = Opt;
export interface DockerOptions {
volumes?: Opt;
envVars?: Opt[]>;
cwd?: Opt;
}
export interface RawExecOptions extends ChildProcessSpawnOptions {
/**
* @deprecated renovate uses utf8, encoding property is ignored.
*/
encoding: string;
maxBuffer?: number | undefined;
cwd?: string;
}
export interface ExecResult {
stdout: string;
stderr: string;
}
export type ExtraEnv = Record;
export interface ExecOptions {
cwd?: string;
cwdFile?: string;
env?: Opt;
userConfiguredEnv?: UserEnv;
extraEnv?: Opt;
docker?: Opt;
toolConstraints?: Opt;
preCommands?: Opt;
ignoreStdout?: boolean;
maxBuffer?: number | undefined;
timeout?: number | undefined;
}