"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.installExitHooks = installExitHooks;
function _chalk() {
const data = _interopRequireDefault(require("chalk"));
_chalk = function () {
return data;
};
return data;
}
function _xdl() {
const data = require("@expo/xdl");
_xdl = function () {
return data;
};
return data;
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function installExitHooks(projectDir, onStop = _xdl().Project.stopAsync) {
// install ctrl+c handler that writes non-running state to directory
if (process.platform === 'win32') {
require('readline').createInterface({
input: process.stdin,
output: process.stdout
}).on('SIGINT', () => {
process.kill(process.pid, 'SIGINT');
});
}
const killSignals = ['SIGINT', 'SIGTERM'];
for (const signal of killSignals) {
process.on(signal, () => {
console.log(_chalk().default.blue('\nStopping packager...'));
onStop(projectDir).then(() => {
console.log(_chalk().default.green('Packager stopped.'));
process.exit();
});
});
}
}
//# sourceMappingURL=__sourcemaps__/exit.js.map