/** * 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;