From e382b022030db96b8282337b304ec5e599a5f405 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 6 Dec 2022 09:21:17 -0300 Subject: web-util: utils for developing webapps --- packages/web-util/src/cli.ts | 59 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 packages/web-util/src/cli.ts (limited to 'packages/web-util/src/cli.ts') diff --git a/packages/web-util/src/cli.ts b/packages/web-util/src/cli.ts new file mode 100644 index 000000000..59cfe9989 --- /dev/null +++ b/packages/web-util/src/cli.ts @@ -0,0 +1,59 @@ + +import { + clk, setGlobalLogLevelFromString +} from "@gnu-taler/taler-util"; +import { serve } from "./serve.js"; + + +export const walletCli = clk + .program("wallet", { + help: "Command line interface for the GNU Taler wallet.", + }) + .maybeOption("log", ["-L", "--log"], clk.STRING, { + help: "configure log level (NONE, ..., TRACE)", + onPresentHandler: (x) => { + setGlobalLogLevelFromString(x); + }, + }) + .flag("version", ["-v", "--version"], { + onPresentHandler: printVersion, + }) + .flag("verbose", ["-V", "--verbose"], { + help: "Enable verbose output.", + }) + +walletCli + .subcommand("serve", "serve", { help: "Create a server." }) + .maybeOption("folder", ["-F", "--folder"], clk.STRING, { + help: "should complete", + // default: "./dist" + }) + .maybeOption("port", ["-P", "--port"], clk.INT, { + help: "should complete", + // default: 8000 + }) + .flag("development", ["-D", "--dev"], { + help: "should complete", + }) + .action(async (args) => { + return serve({ + folder: args.serve.folder || "./dist", + port: args.serve.port || 8000, + development: args.serve.development + }) + } + ); + + + +declare const __VERSION__: string; +function printVersion(): void { + console.log(__VERSION__); + process.exit(0); +} + +export function main(): void { + walletCli.run(); +} + + -- cgit v1.2.3