extremum-cli
Version:
Extremum CLI
57 lines (56 loc) • 2.2 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var commander_1 = require("commander");
var child_process_1 = require("child_process");
var path_1 = __importDefault(require("path"));
var os_1 = __importDefault(require("os"));
var fs_1 = __importDefault(require("fs"));
var helpers_1 = require("../helpers");
var chalk_1 = __importDefault(require("chalk"));
var renameApp = function (newName) {
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), newName);
var linkCommand = "ln -s ".concat(executable, " ").concat(alias);
try {
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;
}
}
}
catch (e) {
console.log(chalk_1.default.red('Error: cannot rename application'));
}
}
else if (os_1.default.platform() === 'win32') {
var pathToBatCommand = "".concat(path_1.default.dirname(process.argv[1]));
var text = 'extremum-cli';
try {
fs_1.default.writeFileSync("".concat(pathToBatCommand, "/").concat(newName, ".bat"), text);
}
catch (err) {
console.error(err);
}
}
else {
console.log('Command customization is not supported for your OS');
return;
}
};
var rename = new commander_1.Command('rename').description('rename this command');
rename
.command('app <new_name>')
.description('rename this command')
.action((0, helpers_1.actionRunner)(renameApp));
exports.default = rename;