UNPKG

@onboardbase/cli

Version:

[![Version](https://img.shields.io/npm/v/@onboardbase/cli.svg)](https://www.npmjs.com/package/@onboardbase/cli) [![Downloads/week](https://img.shields.io/npm/dw/@onboardbase/cli.svg)](https://www.npmjs.com/package/@onboardbase/cli) [![License](https://img

51 lines (50 loc) 2.85 kB
"use strict"; 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";