diff options
| author | hachem <im@hachem.wtf> | 2026-08-29 02:17:12 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-08-29 02:17:12 +0200 |
| commit | e56d21fa04450d118f76347a96a12d1d5477958f (patch) | |
| tree | 06d590ef64153e2ab92306a4a7cc63d6fef47286 /cli/app.js | |
| parent | 43d92fd60d75c4a1260757c75b1e1eefc0ea8952 (diff) | |
setup: prepare go workspace
Diffstat (limited to 'cli/app.js')
| -rw-r--r-- | cli/app.js | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/cli/app.js b/cli/app.js deleted file mode 100644 index 1252358..0000000 --- a/cli/app.js +++ /dev/null @@ -1,138 +0,0 @@ -#!/usr/bin/env node - -const readline = require("readline") - -const { LoadConfig } = require("../lib/config") - -const { Check } = require("./commands/check") -const { Generate } = require("./commands/generate") -const { Merge } = require("./commands/merge") -const { CleanGenerated, CleanLatest, CleanAll } = require("./commands/clean") -const { ListMods } = require("./commands/list") - -const pkg = require("../package.json") -const config = LoadConfig() -const { minecraft_version } = config - -const ShowHelp = () => -{ - console.log(` - Commands: - - list-mods List configured mods - check Check if all mods are compatible before generating - generate Download mods + server, run to generate files - merge Backup server, move generated files to server location - clean generated Remove server directory - clean latest Remove latest backup zip - clean all Remove both generated and latest backup - help Show this help - exit Exit -`) -} - -const ProcessCommand = async (input, rl) => -{ - const parts = input.trim().toLowerCase().split(/\s+/) - const cmd = parts[0] - const arg = parts[1] - - switch (cmd) - { - case "list-mods": - ListMods() - break - - case "check": - await Check() - break - - case "generate": - await Generate(rl) - break - - case "merge": - await Merge() - break - - case "clean": - if (arg === "generated") - await CleanGenerated() - else if (arg === "latest") - await CleanLatest() - else if (arg === "all") - await CleanAll() - else - console.log(" Usage: clean generated | clean latest | clean all") - break - - case "help": - case "?": - ShowHelp() - break - - case "exit": - case "quit": - case "q": - console.log(" Goodbye!\n") - process.exit(0) - - case "": - break - - default: - console.log(` Unknown command: ${cmd}. Type 'help' for commands.`) - } -} - -const DrawBox = (lines) => -{ - const maxLen = Math.max(...lines.map(l => l.length)) - const pad = (str) => str + " ".repeat(maxLen - str.length) - - const top = "╔" + "═".repeat(maxLen + 2) + "╗" - const bot = "╚" + "═".repeat(maxLen + 2) + "╝" - const mid = lines.map(l => "║ " + pad(l) + " ║").join("\n ") - - return ` ${top}\n ${mid}\n ${bot}` -} - -const Main = () => -{ - const title = `BENSON CLI v${pkg.version}` - const subtitle = `Fabric Server for MC ${minecraft_version}` - - const box = DrawBox([title, subtitle]) - - console.log(` -${box} - - Type 'help' for commands. -`) - - const rl = readline.createInterface - ({ - input: process.stdin, - output: process.stdout - }) - - const Prompt = () => - { - rl.question("benson> ", async (input) => - { - await ProcessCommand(input, rl) - Prompt() - }) - } - - rl.on("close", () => - { - console.log("\n Goodbye!\n") - process.exit(0) - }) - - Prompt() -} - -Main() - |
