๐Ÿ“ฆ facebook / react-native

๐Ÿ“„ isGitRepo.js ยท 32 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/**
 * 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-local
 * @format
 */

'use strict';

const childProcess = require('child_process');

function isGitRepo() /*: boolean */ {
  try {
    const result = childProcess.execSync(
      'git rev-parse --is-inside-work-tree',
      {
        encoding: 'utf8',
        stdio: ['ignore', 'pipe', 'ignore'],
      },
    );
    return result.trim() === 'true';
  } catch (error) {
    console.error(`Failed to check git repository status: ${error}`);
  }
  return false;
}

module.exports = isGitRepo;