You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.8 KiB
68 lines
1.8 KiB
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.installCustomExitHook = installCustomExitHook;
|
|
exports.installExitHooks = installExitHooks;
|
|
function _xdl() {
|
|
const data = require("xdl");
|
|
_xdl = function () {
|
|
return data;
|
|
};
|
|
return data;
|
|
}
|
|
function _log() {
|
|
const data = _interopRequireDefault(require("../../log"));
|
|
_log = function () {
|
|
return data;
|
|
};
|
|
return data;
|
|
}
|
|
function _ora() {
|
|
const data = require("../../utils/ora");
|
|
_ora = function () {
|
|
return data;
|
|
};
|
|
return data;
|
|
}
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
function installExitHooks(projectRoot) {
|
|
const killSignals = ['SIGINT', 'SIGTERM'];
|
|
for (const signal of killSignals) {
|
|
process.on(signal, () => {
|
|
const currentSpinner = _log().default.getSpinner();
|
|
if (currentSpinner) {
|
|
currentSpinner.fail();
|
|
_log().default.setSpinner(null);
|
|
}
|
|
const currentProgress = _log().default.getProgress();
|
|
if (currentProgress) {
|
|
currentProgress.terminate();
|
|
_log().default.setBundleProgressBar(null);
|
|
}
|
|
const spinner = (0, _ora().ora)({
|
|
text: 'Stopping server',
|
|
color: 'white'
|
|
}).start();
|
|
_log().default.setSpinner(spinner);
|
|
_xdl().Project.stopAsync(projectRoot).then(() => {
|
|
spinner.stopAndPersist({
|
|
text: 'Stopped server',
|
|
symbol: `\u203A`
|
|
});
|
|
process.exit();
|
|
}).catch(error => {
|
|
spinner.fail('Failed to stop server');
|
|
_log().default.error(error);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
function installCustomExitHook(listener) {
|
|
const killSignals = ['SIGINT', 'SIGTERM'];
|
|
for (const signal of killSignals) {
|
|
process.on(signal, listener);
|
|
}
|
|
}
|
|
//# sourceMappingURL=installExitHooks.js.map
|