react-scripts.js 1.59 KB
Newer Older
Dan Abramov's avatar
Dan Abramov committed
1
#!/usr/bin/env node
2
3
4
5
6
7
8
9
10
11
12
/**
 * Copyright (c) 2015-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 */

'use strict';

Danil Shashkov's avatar
Danil Shashkov committed
13
14
15
const spawn = require('cross-spawn');
const script = process.argv[2];
const args = process.argv.slice(3);
Dan Abramov's avatar
Dan Abramov committed
16
17

switch (script) {
18
19
20
  case 'build':
  case 'eject':
  case 'start':
Danil Shashkov's avatar
Danil Shashkov committed
21
22
  case 'test': {
    const result = spawn.sync(
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
      'node',
      [require.resolve('../scripts/' + script)].concat(args),
      { stdio: 'inherit' }
    );
    if (result.signal) {
      if (result.signal === 'SIGKILL') {
        console.log(
          'The build failed because the process exited too early. ' +
            'This probably means the system ran out of memory or someone called ' +
            '`kill -9` on the process.'
        );
      } else if (result.signal === 'SIGTERM') {
        console.log(
          'The build failed because the process exited too early. ' +
            'Someone might have called `kill` or `killall`, or the system could ' +
            'be shutting down.'
        );
      }
      process.exit(1);
42
    }
43
44
    process.exit(result.status);
    break;
Danil Shashkov's avatar
Danil Shashkov committed
45
  }
46
47
48
49
50
51
52
  default:
    console.log('Unknown script "' + script + '".');
    console.log('Perhaps you need to update react-scripts?');
    console.log(
      'See: https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#updating-to-new-releases'
    );
    break;
Dan Abramov's avatar
Dan Abramov committed
53
}