UNPKG

git-release-manager

Version:

A tool to generate release notes from git commit history

58 lines 3.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createCommitCommand = createCommitCommand; const commander_1 = require("commander"); const configManager_1 = require("../config/configManager"); const CommitController_1 = require("../modules/commit/CommitController"); function createCommitCommand(program) { const commitProgram = program .command("commit") .alias("c") .description("Operations related to git commits"); commitProgram.addCommand(new commander_1.Command() .command("create") .alias("c") .description("Create a new commit with staged changes") .option("-m, --message <message>", "Specify the commit message") .option("-b, --body <lines...>", "Add commit body text") .option("-t, --type <type>", "Specify commit type (e.g., feat, fix, chore)") .option("-s, --scope <scope>", "Specify commit scope (e.g., module or component)") // .option("-a, --all", "Stage all modified and deleted files for commit") // .option( // "-f, --file <files...>", // "Specify individual files to stage and commit" // ) .option('--stage <files...>', 'Files to add or "all"/"empty"', 'all') .option("--dry-run", "Show what would be committed without committing") .option("--no-verify", "Skip pre-commit and commit-msg hooks") .option("-i, --sign", "Sign the commit with a GPG key") .action(async (args, commandOptions) => { const options = { ...program.opts(), ...commandOptions }; const config = await (0, configManager_1.readConfig)(options === null || options === void 0 ? void 0 : options.config, options.environment); const controller = new CommitController_1.CommitController(); await controller.handleCreateCommand(options, config); })); commitProgram.addCommand(new commander_1.Command() .command("list") .alias("l") .description("List recent commits with options to filter") .option("-c, --count <number>", "Number of commits to list") .action(async (args, commandOptions) => { const options = { ...program.opts(), ...commandOptions }; const config = await (0, configManager_1.readConfig)(options === null || options === void 0 ? void 0 : options.config, options.environment); const controller = new CommitController_1.CommitController(); await controller.handleListCommand(options, config); })); commitProgram.addCommand(new commander_1.Command() .command("amend") .alias("a") .description("Amend the previous commit") .action(async (args, commandOptions) => { const options = { ...program.opts(), ...commandOptions }; const config = await (0, configManager_1.readConfig)(options === null || options === void 0 ? void 0 : options.config, options.environment); const controller = new CommitController_1.CommitController(); await controller.handleAmendCommand(options, config); })); return commitProgram; } //# sourceMappingURL=commitCommand.js.map