UNPKG

commiter-cli

Version:

A CLI tool to standardize and translate Git commit messages

35 lines (29 loc) 1.24 kB
import { readdirSync } from "node:fs"; import { program } from "commander"; import localPath from "./utils/localPath.js"; import config from "./utils/config.js"; import prompt from "./utils/prompt.js"; import logger from "./utils/logger.js"; import command from "./utils/cmd.js"; import json from "./utils/json.js"; const project = json.load('../package.json'); program.version(project.version); const commandDirectories = readdirSync(localPath.absolutePath('./commands')); (async () => { for (const dir of commandDirectories) { const cmds = readdirSync(localPath.absolutePath(`./commands/${dir}`)).filter(file => file.endsWith('.js')); for (const file of cmds) { let cmd = await import(`./commands/${dir}/${file}`); cmd = cmd?.default ? cmd.default : cmd; if (cmd?.name) { program .command(cmd?.usage ? cmd.usage : cmd.name) .description(cmd?.description || "") .action((...args) => cmd.run({ program, json, logger, config, prompt, cmd: command }, {...args}) ); } else { continue; } } } program.parse(process.argv); })();