extremum-cli
Version:
Extremum CLI
54 lines (53 loc) • 2.14 kB
JavaScript
;
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;