aboutsummaryrefslogtreecommitdiff
path: root/packages/web-util/src/cli.ts
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-12-06 09:21:17 -0300
committerSebastian <sebasjm@gmail.com>2022-12-06 09:21:17 -0300
commite382b022030db96b8282337b304ec5e599a5f405 (patch)
tree6ba9afb72a1b3e5ce35f37a987d74286b0e45c92 /packages/web-util/src/cli.ts
parent219e48f35196e54361dc17d6ca7de6e095c46eeb (diff)
downloadwallet-core-e382b022030db96b8282337b304ec5e599a5f405.tar.xz
web-util: utils for developing webapps
Diffstat (limited to 'packages/web-util/src/cli.ts')
-rw-r--r--packages/web-util/src/cli.ts59
1 files changed, 59 insertions, 0 deletions
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();
+}
+
+