/// 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; }