function bootstrap(files, {parent: options}) {
  let cmd = 'npx --package jscodeshift';

  let npxVersion = execSync('npx -v');
  if (parseInt(npxVersion.toString().split('.').shift(), 10) > 6) {
    cmd = `${cmd} --yes`;
  }

  // Bootstrap jscodeshift and rerun this script as a jscodeshift transform.
  let args = ['run'];
  if (options.cleanup) args.push('--cleanup');
  if (options.dryRun) args.push('--dry-run');
  if (options.verbose) args.push('--verbose');
  if (options.yes) args.push('--yes');
  if (options.keep) args = args.concat(options.keep.map(k => `--keep "${k}"`));
  if (options.grep) args = args.concat(options.grep.map(g => `--grep "${g}"`));
  args.push('--');
  args = args.concat(files);
  args = args.join(' ');

  if (options.verbose) {
    console.log(chalk.dim(`${cmd} -c '${__filename} ${args}'`));
  }
  return execAsync(`${cmd} -c '${__filename} ${args}'`);
}
Bootstraps jscodeshift and runs the transform.