@onboardbase/cli
Version:
[](https://www.npmjs.com/package/@onboardbase/cli) [](https://www.npmjs.com/package/@onboardbase/cli) [ • 2.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = require("path");
const command_1 = require("@oclif/command");
const fs_1 = require("fs");
const os_1 = require("os");
const utils_1 = require("../utils");
const onboardbase_application_plist_1 = require("./onboardbase.application.plist");
const onboardbase_service_1 = require("./onboardbase.service");
const onboardbase_timer_1 = require("./onboardbase.timer");
const chalk = require("chalk");
/**
* This command was excluded from the commands folder so it wont be
* visible to users... It's expected to be run programmatically.
*/
class CreateService extends command_1.Command {
async run() {
/**
* Only Run Unix Based OS
*/
if ((0, utils_1.isUnix)()) {
const serviceFileContents = process.platform === "darwin"
? (0, onboardbase_application_plist_1.default)((0, path_1.join)(this.config.root, "lib"), (0, path_1.join)("service", "daemon.js"))
: (0, onboardbase_service_1.default)((0, path_1.join)(this.config.root, "lib"), (0, path_1.join)("service", "daemon.js"));
const serviceFile = (0, utils_1.getPathToServiceFiles)();
if (!(0, fs_1.existsSync)(serviceFile)) {
(0, fs_1.writeFileSync)(serviceFile, serviceFileContents, "utf8");
/**
* write the onboardbase.timer file to the systemd directory if
* platform is Linux
*/
if (process.platform === "linux") {
(0, fs_1.writeFileSync)((0, path_1.join)("/etc", "systemd", "system", "onboardbase.timer"), (0, onboardbase_timer_1.default)());
}
// && launchctl unload onboardbase.application.plist && launchctl load onboardbase.application.plist
const serviceLaunchCommand = process.platform === "darwin"
? `cd ${(0, path_1.join)((0, os_1.homedir)(), "/Library/LaunchAgents")} && launchctl bootstrap gui/501 onboardbase.application.plist && launchctl kickstart -k gui/501/onboardbase.application`
: `systemctl enable onboardbase.service && systemctl start onboardbase.service && systemctl enable onboardbase.timer && systemctl start onboardbase.timer && systemctl daemon-reload`;
(0, utils_1.executeCommand)(serviceLaunchCommand, {}, false, { stdio: false }).on("exit", () => {
console.log(chalk.greenBright("Onboardbase services created successfuly"));
});
}
else {
console.log(chalk.greenBright("Onboardbase services already installed"));
}
}
}
}
exports.default = CreateService;
CreateService.description = "The Command that creates onboardbase service in the background";