2015-10-20 18:46:37 +00:00
|
|
|
/**
|
2018-09-11 22:27:47 +00:00
|
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
2015-10-20 18:46:37 +00:00
|
|
|
*
|
2018-02-17 02:24:55 +00:00
|
|
|
* This source code is licensed under the MIT license found in the
|
|
|
|
* LICENSE file in the root directory of this source tree.
|
2018-05-11 19:43:49 +00:00
|
|
|
*
|
|
|
|
* @format
|
2015-10-20 18:46:37 +00:00
|
|
|
*/
|
2018-05-11 19:43:49 +00:00
|
|
|
|
2015-10-20 18:46:37 +00:00
|
|
|
'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-05-11 19:43:49 +00:00
|
|
|
function isPackagerRunning(packagerPort = process.env.RCT_METRO_PORT || 8081) {
|
2018-01-05 04:02:37 +00:00
|
|
|
return fetch(`http://localhost:${packagerPort}/status`).then(
|
2018-05-11 19:43:49 +00:00
|
|
|
res =>
|
|
|
|
res
|
|
|
|
.text()
|
|
|
|
.then(
|
|
|
|
body =>
|
|
|
|
body === 'packager-status:running' ? 'running' : 'unrecognized',
|
|
|
|
),
|
|
|
|
() => 'not_running',
|
2015-10-20 18:46:37 +00:00
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = isPackagerRunning;
|