This commit is contained in:
kuberwastaken 2026-03-31 16:25:52 +05:30
commit ec53fcbe95
1905 changed files with 513762 additions and 0 deletions

38
utils/execSyncWrapper.ts Normal file
View file

@ -0,0 +1,38 @@
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)
}