skorbaz-updater
Version:
A CLI tool to handle Skorbaz App hot updates
67 lines (66 loc) • 2.35 kB
JavaScript
#!/usr/bin/env node
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const commander_1 = require("commander");
const inquirer_1 = __importDefault(require("inquirer"));
const figlet_1 = __importDefault(require("figlet"));
const child_process_1 = require("child_process");
const chalk_1 = __importDefault(require("chalk"));
commander_1.program
.version("1.0.0")
.description("A CLI tool to handle Skorbaz App hot updates.")
.action(async (options) => {
console.log("\n");
console.log(figlet_1.default.textSync("Skorbaz", {
font: "Big",
horizontalLayout: "default",
verticalLayout: "default"
}));
const inputs = await inquirer_1.default.prompt([
{
name: "platform",
type: "list",
message: "Select platform to update",
choices: [{ value: "android", name: "Android" }, { value: "ios", name: "iOS" }]
},
{
name: "force",
type: "confirm",
message: "Is this a force update?",
default: false
},
{
name: "packageManager",
type: "list",
message: "Select package manager to bundle app",
choices: [{ value: "bunx", name: "Bun" }, { value: "npx", name: "Npm" }]
}
]);
console.log("\n");
console.log(chalk_1.default.green("Starting update process for " + inputs.platform + "..."));
console.log("\n");
const args = [
"hot-updater",
"deploy",
"-p", inputs.platform,
...(inputs.force ? ["-f"] : [])
];
const cmd = (0, child_process_1.spawn)(inputs.packageManager, args, {
stdio: "inherit",
shell: true
});
cmd.on("exit", (code) => {
if (code === 0) {
// console.log(chalk.green("Update deployed successfully!"));
// console.log(chalk.green("Platform: " + inputs.platform));
// console.log(chalk.green("Command: bunx " + args.join(" ")));
}
else {
console.error(chalk_1.default.red("Komut hata ile sonlandı. Çıkış kodu: " + code));
}
});
});
commander_1.program.parse(process.argv);