iobroker.js-controller
Version:
Updated by reinstall.js on 2018-06-11T15:19:56.688Z
83 lines (82 loc) • 3.55 kB
JavaScript
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var restart_exports = {};
__export(restart_exports, {
default: () => restart
});
module.exports = __toCommonJS(restart_exports);
var __import_meta_url = typeof document === "undefined" ? new (require("url".replace("", ""))).URL("file:" + __filename).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
var import_node_child_process = require("node:child_process");
var import_node_os = __toESM(require("node:os"), 1);
var import_tools = require("@iobroker/js-controller-common-db/tools");
var import_node_path = __toESM(require("node:path"), 1);
var import_node_url = __toESM(require("node:url"), 1);
async function restart(callback) {
let cmd;
let args;
if (import_node_os.default.platform() === "win32") {
const envPath = import_node_path.default.join((0, import_tools.getRootDir)(), ".env").replaceAll("\\", "\\\\");
cmd = `powershell -Command "$envPath = \\"${envPath}\\";
$iobServiceName = \\"ioBroker\\";
if (Test-Path $envPath) {
foreach ($line in Get-Content $envPath) {
$line = $line.Trim();
if ($line -match \\"^\\s*iobservicename\\s*=\\s*(.+)\\s*$\\") {
$iobServiceName = $matches[1].Trim(); break;
}
}
}
Write-Output \\"Restarting service $iobServiceName.exe\\";Restart-Service \\"$iobServiceName.exe\\" -Force"`;
cmd = cmd.replace(/[\r\n]+/gm, " ");
try {
await (0, import_tools.execAsync)(cmd);
} catch (e) {
console.error(`Restart failed: ${e.message}`);
}
} else {
cmd = "iobroker";
args = ["restart"];
const child = (0, import_node_child_process.spawn)(cmd, args, {
detached: true,
stdio: ["ignore", "ignore", "ignore"],
windowsHide: true
});
child.unref();
}
if (typeof callback === "function") {
setTimeout(() => callback(), 500);
} else {
setTimeout(() => process.exit(), 500);
}
}
const modulePath = import_node_url.default.fileURLToPath(__import_meta_url || `file://${__filename}`);
if (process.argv[1] === modulePath) {
restart();
}
//# sourceMappingURL=restart.js.map
;