import { type ExecSyncOptions, type ExecSyncOptionsWithBufferEncoding, type ExecSyncOptionsWithStringEncoding, execSync as nodeExecSync, } from 'child_process' import { slowLogging } from './slowOperations.js' /** * @deprecated Use async alternatives when possible. Sync exec calls block the event loop. * * Wrapped execSync with slow operation logging. * Use this instead of child_process execSync directly to detect performance issues. * * @example * import { execSync_DEPRECATED } from './execSyncWrapper.js' * const result = execSync_DEPRECATED('git status', { encoding: 'utf8' }) */ export function execSync_DEPRECATED(command: string): Buffer export function execSync_DEPRECATED( command: string, options: ExecSyncOptionsWithStringEncoding, ): string export function execSync_DEPRECATED( command: string, options: ExecSyncOptionsWithBufferEncoding, ): Buffer export function execSync_DEPRECATED( command: string, options?: ExecSyncOptions, ): Buffer | string export function execSync_DEPRECATED( command: string, options?: ExecSyncOptions, ): Buffer | string { using _ = slowLogging`execSync: ${command.slice(0, 100)}` return nodeExecSync(command, options) }