30 lines
986 B
JavaScript
30 lines
986 B
JavaScript
/**
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
'use strict';
|
|
|
|
const fetch = require('node-fetch');
|
|
|
|
/**
|
|
* Indicates whether or not the packager is running. It returns a promise that
|
|
* when fulfilled can returns one out of these possible values:
|
|
* - `running`: the packager is running
|
|
* - `not_running`: the packager nor any process is running on the expected
|
|
* port.
|
|
* - `unrecognized`: one other process is running on the port we expect the
|
|
* packager to be running.
|
|
*/
|
|
function isPackagerRunning(packagerPort = (process.env.RCT_METRO_PORT || 8081)) {
|
|
return fetch(`http://localhost:${packagerPort}/status`).then(
|
|
res => res.text().then(body =>
|
|
body === 'packager-status:running' ? 'running' : 'unrecognized'
|
|
),
|
|
() => 'not_running'
|
|
);
|
|
}
|
|
|
|
module.exports = isPackagerRunning;
|