fix: skip migrations and version check when called as git hook

Move isHookCalled() check before runMigrations() and
checkIsLatestVersion() so that during git rebase, each pick commit
exits immediately without expensive I/O and network calls.

Also adds missing await on prepareCommitMessageHook() to properly
handle async errors.

Closes #493

Signed-off-by: majiayu000 <1835304752@qq.com>
This commit is contained in:
majiayu000
2026-03-21 10:55:47 +08:00
parent 40182f26b3
commit bc608e97bd
3 changed files with 47 additions and 34 deletions

View File

@@ -67277,8 +67277,8 @@ var MLXEngine = class {
var DeepseekEngine = class extends OpenAiEngine {
constructor(config7) {
super({
...config7,
baseURL: "https://api.deepseek.com/v1"
baseURL: "https://api.deepseek.com/v1",
...config7
});
// Identical method from OpenAiEngine, re-implemented here
this.generateCommitMessage = async (messages) => {
@@ -69561,7 +69561,13 @@ Z2(
{
version: package_default.version,
name: "opencommit",
commands: [configCommand, hookCommand, commitlintConfigCommand, setupCommand, modelsCommand],
commands: [
configCommand,
hookCommand,
commitlintConfigCommand,
setupCommand,
modelsCommand
],
flags: {
fgm: {
type: Boolean,
@@ -69585,23 +69591,23 @@ Z2(
help: { description: package_default.description }
},
async ({ flags }) => {
if (await isHookCalled()) {
await prepareCommitMessageHook();
return;
}
await runMigrations();
await checkIsLatestVersion();
if (await isHookCalled()) {
prepareCommitMessageHook();
} else {
if (isFirstRun()) {
const setupComplete = await runSetup();
if (!setupComplete) {
process.exit(1);
}
}
const hasApiKey = await promptForMissingApiKey();
if (!hasApiKey) {
if (isFirstRun()) {
const setupComplete = await runSetup();
if (!setupComplete) {
process.exit(1);
}
commit(extraArgs, flags.context, false, flags.fgm, flags.yes);
}
const hasApiKey = await promptForMissingApiKey();
if (!hasApiKey) {
process.exit(1);
}
commit(extraArgs, flags.context, false, flags.fgm, flags.yes);
},
extraArgs
);

View File

@@ -88062,8 +88062,8 @@ var MLXEngine = class {
var DeepseekEngine = class extends OpenAiEngine {
constructor(config6) {
super({
...config6,
baseURL: "https://api.deepseek.com/v1"
baseURL: "https://api.deepseek.com/v1",
...config6
});
// Identical method from OpenAiEngine, re-implemented here
this.generateCommitMessage = async (messages) => {