diff --git a/packages/xarc-app-dev/lib/dev-admin/admin-server.js b/packages/xarc-app-dev/lib/dev-admin/admin-server.js index 8f8912673..2efdeb7ea 100644 --- a/packages/xarc-app-dev/lib/dev-admin/admin-server.js +++ b/packages/xarc-app-dev/lib/dev-admin/admin-server.js @@ -16,6 +16,7 @@ const { fork } = require("child_process"); const ConsoleIO = require("./console-io"); const makeDefer = require("@xarc/defer"); const logger = require("@xarc/app/lib/logger"); +const xaa = require("xaa"); const APP_SERVER_NAME = "your app server"; const DEV_SERVER_NAME = "Electrode webpack dev server"; @@ -103,14 +104,14 @@ class AdminServer { const info = this.getServer(name); info._cancelled = true; if (info._startDefer) { - await info._startDefer.promise; + await xaa.try(() => xaa.runTimeout(info._startDefer.promise, 1000)); } const child = info._child; if (child) { const defer = makeDefer(); child.once("close", () => defer.resolve()); child.kill(sig); - await defer.promise; + await xaa.try(() => xaa.runTimeout(defer.promise, 5000)); child.kill("SIGKILL"); info._child = undefined; info._starting = false; diff --git a/packages/xarc-app-dev/package.json b/packages/xarc-app-dev/package.json index 285452d57..08991e220 100644 --- a/packages/xarc-app-dev/package.json +++ b/packages/xarc-app-dev/package.json @@ -74,7 +74,6 @@ "fs-extra": "^0.26.5", "identity-obj-proxy": "^3.0.0", "isomorphic-loader": "^3.0.0", - "nyc": "^14.1.1", "jsonfile": "^2.2.2", "loader-utils": "^1.1.0", "lodash": "^4.13.1", @@ -82,6 +81,7 @@ "mini-css-extract-plugin": "^0.7.0", "mkdirp": "^0.5.1", "nix-clap": "^1.3.7", + "nyc": "^14.1.1", "offline-plugin": "^4.6.1", "optimize-css-assets-webpack-plugin": "^5.0.1", "optional-require": "^1.0.0", @@ -104,6 +104,7 @@ "webpack-hot-middleware": "^2.22.2", "webpack-stats-plugin": "^0.2.1", "winston": "^2.3.1", + "xaa": "^1.2.2", "xclap": "^0.2.38", "xenv-config": "^1.3.0", "xsh": "^0.4.4"