coryd.dev/cli/bin/index.js
Cory Dransfeldt efe701f939
feat(*.liquid): apply prettier to liquid templates
- offer to create tag when none is found while adding a link from cli
- fix tag display in search
2025-06-16 14:41:29 -07:00

45 lines
1.6 KiB
JavaScript
Executable file

#!/usr/bin/env node
import { program } from "commander";
import chalk from "chalk";
import figlet from "figlet";
import { loadConfig } from "../lib/config.js";
import { handleExitError } from "../lib/handlers.js";
import { runRootScript } from "../lib/runScript.js";
import { runJobsMenu } from "../lib/jobs.js";
import { runTasksMenu } from "../lib/tasks/index.js";
process.on("unhandledRejection", (err) => handleExitError(err, "Unhandled rejection"));
process.on("uncaughtException", (err) => handleExitError(err, "Uncaught exception"));
program
.name("coryd")
.description("🪄 Handle tasks, run commands or jobs, download things and have fun.")
.version("3.2.5");
program
.command("init")
.description("Initialize CLI and populate required config.")
.action(async () => {
const { initConfig } = await import("../lib/config.js");
await initConfig();
});
program.command("run [script]").description("Run site scripts and commands.").action(runRootScript);
program.command("tasks").description("Handle repeated tasks.").action(runTasksMenu);
program.command("jobs").description("Trigger jobs and scripts.").action(runJobsMenu);
program
.command("download")
.description("Download, name and store image assets.")
.action(async () => {
const { downloadAsset } = await import("../lib/download.js");
await downloadAsset();
});
if (process.argv.length <= 2) {
const ascii = figlet.textSync("coryd.dev", { horizontalLayout: "default" });
console.log(chalk.hex("#3364ff")(ascii));
console.log();
program.outputHelp();
process.exit(0);
}
program.parse(process.argv);