export async function lintStaged()

in packages/web-scripts/src/Tasks/CommitTasks.ts [73:105]


export async function lintStaged(task: PrecommitTaskDesc): Promise<string> {
  const config = getLintStagedConfig();
  const cmd = 'npx';
  const args = [
    '--no-install',
    'lint-staged',
    ...(config ? ['--config', config] : []),
    ...task.restOptions,
  ];
  dbg('npx args %o', args);

  const env: { [key: string]: string } = {
    ...process.env,
    WEB_SCRIPTS_RUN_TESTS: task.tests.toString(),
  };

  if (task.eslintConfig) {
    env.WEB_SCRIPTS_ESLINT_CONFIG = task.eslintConfig;
  }
  if (task.jestConfig) {
    env.WEB_SCRIPTS_JEST_CONFIG = task.jestConfig;
  }
  if (task.prettierConfig) {
    env.WEB_SCRIPTS_PRETTIER_CONFIG = task.prettierConfig;
  }

  const stdout = await promiseSpawn(cmd, args, {
    stdio: 'inherit',
    env,
  });

  return (stdout || '').toString();
}