hunk.code_window:   process.on('SIGINT', () => {});
     process.on('SIGTERM', () => {});
     await spawnAsync('expo', [command, ...args, '--config', appJsonPath], {
       cwd: rootDir,
       stdio: 'inherit',
       env: {
         ...process.env,
         EXPO_NO_DOCTOR: 'true',
       },
  
hunk.labels: keep keep keep replace replace keep keep keep keep keep
hunk.after_edit:   await spawnAsync('expo', [command, ...args, ...configArgs], {
       cwd: options.root || process.cwd(),
  
hunk.file_path: tools/expotools/src/ExpoCLI.ts
hunk.type: replace
file: import path from 'path';
  import process from 'process';
  import spawnAsync from '@expo/spawn-async';
  
  type Options = {
    root?: string;
    useUnversioned: boolean;
  };
  
  export async function runExpoCliAsync(
    command: string,
    args: string[] = [],
    options: Options = { useUnversioned: true }
  ): Promise<void> {
    let rootDir = options.root || process.cwd();
    let appJsonPath = path.resolve(rootDir, 'app.json');
  
    // // Don't handle SIGINT/SIGTERM in this process...defer to exp
    process.on('SIGINT', () => {});
    process.on('SIGTERM', () => {});
  
    await spawnAsync('expo', [command, ...args, '--config', appJsonPath], {
      cwd: rootDir,
      stdio: 'inherit',
      env: {
        ...process.env,
        EXPO_NO_DOCTOR: 'true',
      },
    });
  }
  