2015-10-20 18:46:37 +00:00
|
|
|
/**
|
|
|
|
* 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';
|
|
|
|
|
|
|
|
const fetch = require('node-fetch');
|
|
|
|
|
|
|
|
/**
|
2016-06-03 09:32:30 +00:00
|
|
|
* Indicates whether or not the packager is running. It returns a promise that
|
2015-10-20 18:46:37 +00:00
|
|
|
* 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.
|
2016-06-03 09:32:30 +00:00
|
|
|
* - `unrecognized`: one other process is running on the port we expect the
|
2015-10-20 18:46:37 +00:00
|
|
|
* packager to be running.
|
|
|
|
*/
|
2018-01-05 04:02:37 +00:00
|
|
|
function isPackagerRunning(packagerPort = (process.env.RCT_METRO_PORT || 8081)) {
|
|
|
|
return fetch(`http://localhost:${packagerPort}/status`).then(
|
2015-10-20 18:46:37 +00:00
|
|
|
res => res.text().then(body =>
|
|
|
|
body === 'packager-status:running' ? 'running' : 'unrecognized'
|
|
|
|
),
|
|
|
|
() => 'not_running'
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = isPackagerRunning;
|