#!/usr/bin/env node import yargs from "yargs" import { hideBin } from "yargs/helpers" import { handleBuild, handleCreate, handleUpdate, handleRestore, handleSync, } from "./cli/handlers.js" import { CommonArgv, BuildArgv, CreateArgv, SyncArgv } from "./cli/args.js" import { version } from "./cli/constants.js" yargs(hideBin(process.argv)) .scriptName("quartz") .version(version) .usage("$0 [args]") .command("create", "Initialize Quartz", CreateArgv, async (argv) => { await handleCreate(argv) }) .command("update", "Get the latest Quartz updates", CommonArgv, async (argv) => { await handleUpdate(argv) }) .command( "restore", "Try to restore your content folder from the cache", CommonArgv, async (argv) => { await handleRestore(argv) }, ) .command("sync", "Sync your Quartz to and from GitHub.", SyncArgv, async (argv) => { await handleSync(argv) }) .command("build", "Build Quartz into a bundle of static HTML files", BuildArgv, async (argv) => { await handleBuild(argv) }) .showHelpOnFail(false) .help() .strict() .demandCommand().argv