UNPKG

extremum-cli

Version:
54 lines (53 loc) 2.14 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.addNewApp = void 0; var os_1 = __importDefault(require("os")); var fs_1 = __importDefault(require("fs")); var path_1 = __importDefault(require("path")); var commander_1 = require("commander"); var child_process_1 = require("child_process"); var helpers_1 = require("../helpers"); var addNewApp = function (appName) { var _a, _b; if (os_1.default.platform() === 'linux' || os_1.default.platform() === 'darwin') { var executable = process.argv[1]; var alias = path_1.default.join(path_1.default.dirname(executable), appName); var linkCommand = "ln -s ".concat(executable, " ").concat(alias); try { (0, child_process_1.execSync)(linkCommand); } catch (e) { if ((_b = (_a = e.message) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.includes('permission denied')) { (0, child_process_1.execSync)("sudo ".concat(linkCommand)); } else { throw e; } } (0, helpers_1.writeConfigFile)(appName); } else if (os_1.default.platform() === 'win32') { var text = "@ECHO off\nextremum.cmd --app-name=".concat(appName, " %*"); // check: npm list -g - path to global packages try { fs_1.default.writeFileSync(path_1.default.join(os_1.default.homedir(), 'AppData', 'Roaming', 'npm', "".concat(appName, ".cmd")), text); (0, helpers_1.writeConfigFile)(appName); } catch (err) { console.error(err); } } else { console.log('Adding new application is not supported for your OS'); return; } }; exports.addNewApp = addNewApp; var add = new commander_1.Command() .command('add <app_name>') .description('add application') .action((0, helpers_1.actionRunner)(exports.addNewApp)); exports.default = add;