Support Gitmoji Format in Commit Messages (#249)
* 📝 docs(prompts.ts): update prompt message to include information about GitMoji convention and descriptions of changes 📝 docs(prompts.ts): update prompt message to include information about GitMoji convention and descriptions of changes * 🎨 (prompts.ts): import `removeConventionalCommitWord` function to remove conventional commit word from commit prompts 🐛 (prompts.ts): remove conventional commit word from `commitFix` and `commitFeat` prompts to improve clarity 📝 (removeConventionalCommitWord.ts): add `removeConventionalCommitWord` function to remove conventional commit word from commit message * 📝 (package.json): update version from 3.0.3 to 3.0.0 to align with the latest release * 🔧 (cli.ts): add a new flag 'fgm' to the 'flags' object to support the '--fgm' flag in the CLI command 🔧 (commit.ts): pass the value of the 'fgm' flag to the 'commit' function to enable or disable full GitMoji specification ♻️ (commit.ts): refactor the 'commit' function to accept the 'fullGitMojiSpec' parameter and pass it to the 'commit' function recursively ♻️ (generateCommitMessageFromGitDiff.ts): refactor the 'generateCommitMessageByDiff' function to accept the 'fullGitMojiSpec' parameter and pass it to the 'generateCommitMessageChatCompletionPrompt' function ♻️ (generateCommitMessageFromGitDiff.ts): refactor the 'generateCommitMessageChatCompletionPrompt' function to accept the 'fullGitMojiSpec' parameter and pass it to the 'getMainCommitPrompt' function ♻️ (generateCommitMessageFromGitDiff.ts): refactor the 'getCommitMsgsPromisesFromFileDiffs' function to accept the 'fullGitMojiSpec' parameter and pass it to the 'getMessagesPromisesByChangesInFile' function ♻️ (generateCommitMessageFromGitDiff.ts): refactor the 'getMessagesPromisesByChangesInFile' function to accept the 'fullGitMojiSpec' parameter and pass it to the 'generateCommitMessageChatCompletionPrompt' function ♻️ (prompts.ts): refactor the 'getMainCommitPrompt' function to accept the 'fullGitMojiSpec' parameter and pass it to the 'INIT_MAIN_PROMPT' function * 📝 (README.md): add documentation for the `--fgm` flag in the `oco` command to enable the use of the full GitMoji specification * 📝 (README.md): update flag description for using full GitMoji specification 📝 (README.md): add link to the GitMoji specification for reference * 🔧 (README.md): fix a typo in the description of the `Use Full GitMoji Specification` flag 🔧 (api.ts): update the default value of the `apiKey` variable to a placeholder value for testing purposes * Revert "🔧 (README.md): fix a typo in the description of the `Use Full GitMoji Specification` flag" This reverts commit 230a4aa449b4718063db22f7aa835bbb68dc1a88. * 🔧 (README.md): fix a typo in the description of the `Use Full GitMoji Specification` flag * 📝 (prompts.ts): update INIT_MAIN_PROMPT content to include information about the fullGitMojiSpec flag and provide instructions on how to choose the right emoji for the commit message --------- Co-authored-by: GPT10 <57486732+di-sukharev@users.noreply.github.com>
This commit is contained in:
@@ -40,14 +40,15 @@ const checkMessageTemplate = (extraArgs: string[]): string | false => {
|
||||
|
||||
const generateCommitMessageFromGitDiff = async (
|
||||
diff: string,
|
||||
extraArgs: string[]
|
||||
extraArgs: string[],
|
||||
fullGitMojiSpec: boolean
|
||||
): Promise<void> => {
|
||||
await assertGitRepo();
|
||||
const commitSpinner = spinner();
|
||||
commitSpinner.start('Generating the commit message');
|
||||
|
||||
try {
|
||||
let commitMessage = await generateCommitMessageByDiff(diff);
|
||||
let commitMessage = await generateCommitMessageByDiff(diff, fullGitMojiSpec);
|
||||
|
||||
const messageTemplate = checkMessageTemplate(extraArgs);
|
||||
if (
|
||||
@@ -154,7 +155,8 @@ ${chalk.grey('——————————————————')}`
|
||||
|
||||
export async function commit(
|
||||
extraArgs: string[] = [],
|
||||
isStageAllFlag: Boolean = false
|
||||
fullGitMojiSpec: boolean = false,
|
||||
isStageAllFlag: Boolean = false,
|
||||
) {
|
||||
if (isStageAllFlag) {
|
||||
const changedFiles = await getChangedFiles();
|
||||
@@ -194,7 +196,7 @@ export async function commit(
|
||||
isStageAllAndCommitConfirmedByUser &&
|
||||
!isCancel(isStageAllAndCommitConfirmedByUser)
|
||||
) {
|
||||
await commit(extraArgs, true);
|
||||
await commit(extraArgs, true, fullGitMojiSpec);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
@@ -212,7 +214,7 @@ export async function commit(
|
||||
await gitAdd({ files });
|
||||
}
|
||||
|
||||
await commit(extraArgs, false);
|
||||
await commit(extraArgs, false, fullGitMojiSpec);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
@@ -225,7 +227,8 @@ export async function commit(
|
||||
const [, generateCommitError] = await trytm(
|
||||
generateCommitMessageFromGitDiff(
|
||||
await getDiff({ files: stagedFiles }),
|
||||
extraArgs
|
||||
extraArgs,
|
||||
fullGitMojiSpec
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user