๐Ÿ“ฆ facebook / react-native

๐Ÿ“„ chrome-launcher_v0.15.x.js ยท 53 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow strict
 * @format
 */

declare module 'chrome-launcher' {
  import typeof fs from 'fs';
  import typeof childProcess from 'child_process';
  import type {ChildProcess} from 'child_process';

  declare export type Options = {
    startingUrl?: string,
    chromeFlags?: Array<string>,
    prefs?: unknown,
    port?: number,
    handleSIGINT?: boolean,
    chromePath?: string,
    userDataDir?: string | boolean,
    logLevel?: 'verbose' | 'info' | 'error' | 'warn' | 'silent',
    ignoreDefaultFlags?: boolean,
    connectionPollInterval?: number,
    maxConnectionRetries?: number,
    envVars?: {[key: string]: ?string},
  };

  declare export type LaunchedChrome = {
    pid: number,
    port: number,
    process: ChildProcess,
    kill: () => void,
  };

  declare export type ModuleOverrides = {
    fs?: fs,
    spawn?: childProcess['spawn'],
  };

  declare class Launcher {
    getChromePath(): string;
    launch(options: Options): Promise<LaunchedChrome>;
    Launcher: {
      defaultFlags(): Array<string>,
    };
  }

  declare module.exports: Launcher;
}