Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 31 additions & 16 deletions out/cli.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -32893,7 +32893,7 @@ var require_retries = __commonJS({
retryInterval = initialInterval * Math.pow(x5, exponent) + Math.random() * 1e3;
}
const d7 = Math.min(retryInterval, maxInterval);
await delay4(d7);
await delay3(d7);
x5++;
}
}
Expand All @@ -32914,8 +32914,8 @@ var require_retries = __commonJS({
}
return 0;
}
async function delay4(delay5) {
return new Promise((resolve) => setTimeout(resolve, delay5));
async function delay3(delay4) {
return new Promise((resolve) => setTimeout(resolve, delay4));
}
}
});
Expand Down Expand Up @@ -67357,11 +67357,7 @@ var generateCommitMessageByDiff = async (diff, fullGitMojiSpec = false, context
MAX_REQUEST_TOKENS,
fullGitMojiSpec
);
const commitMessages = [];
for (const promise of commitMessagePromises) {
commitMessages.push(await promise);
await delay3(2e3);
}
const commitMessages = await Promise.all(commitMessagePromises);
return commitMessages.join("\n\n");
}
const messages = await generateCommitMessageChatCompletionPrompt(
Expand Down Expand Up @@ -67457,9 +67453,6 @@ var getCommitMsgsPromisesFromFileDiffs = async (diff, maxDiffLength, fullGitMoji
}
return commitMessagePromises;
};
function delay3(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}

// src/utils/git.ts
var import_fs3 = require("fs");
Expand Down Expand Up @@ -67923,9 +67916,15 @@ var prepareCommitMessageHook = async (isStageAllFlag = false) => {
}
const spin = le();
spin.start("Generating commit message");
const commitMessage = await generateCommitMessageByDiff(
await getDiff({ files: staged })
);
let commitMessage;
try {
commitMessage = await generateCommitMessageByDiff(
await getDiff({ files: staged })
);
} catch (error) {
spin.stop("Done");
throw error;
}
spin.stop("Done");
const fileContent = await import_promises4.default.readFile(messageFilePath);
const messageWithComment = `# ${commitMessage}
Expand All @@ -67941,8 +67940,24 @@ ${fileContent.toString()}`;
const message = config7.OCO_HOOK_AUTO_UNCOMMENT ? messageWithoutComment : messageWithComment;
await import_promises4.default.writeFile(messageFilePath, message);
} catch (error) {
ce(`${source_default.red("\u2716")} ${error}`);
process.exit(1);
try {
ce(`${source_default.red("\u2716")} ${error}`);
const fileContent = await import_promises4.default.readFile(messageFilePath);
const commentedError = String(error).replace(new RegExp("^", "gm"), "# ");
const message = `

# ---------- [OpenCommit] ---------- #
# Failed to generate the commit message.
# To cancel the commit, just close this window without making any changes.

${commentedError}

${fileContent.toString()}`;
await import_promises4.default.writeFile(messageFilePath, message);
} catch (error2) {
ce(`${source_default.red("\u2716")} ${error2}`);
process.exit(1);
}
}
};

Expand Down
29 changes: 11 additions & 18 deletions out/github-action.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -1677,9 +1677,9 @@ var require_timers = __commonJS({
}
}
var Timeout = class {
constructor(callback, delay4, opaque) {
constructor(callback, delay3, opaque) {
this.callback = callback;
this.delay = delay4;
this.delay = delay3;
this.opaque = opaque;
this.state = -2;
this.refresh();
Expand All @@ -1698,8 +1698,8 @@ var require_timers = __commonJS({
}
};
module2.exports = {
setTimeout(callback, delay4, opaque) {
return delay4 < 1e3 ? setTimeout(callback, delay4, opaque) : new Timeout(callback, delay4, opaque);
setTimeout(callback, delay3, opaque) {
return delay3 < 1e3 ? setTimeout(callback, delay3, opaque) : new Timeout(callback, delay3, opaque);
},
clearTimeout(timeout) {
if (timeout instanceof Timeout) {
Expand Down Expand Up @@ -10803,7 +10803,7 @@ var require_mock_utils = __commonJS({
if (mockDispatch2.data.callback) {
mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
}
const { data: { statusCode, data, headers, trailers, error }, delay: delay4, persist } = mockDispatch2;
const { data: { statusCode, data, headers, trailers, error }, delay: delay3, persist } = mockDispatch2;
const { timesInvoked, times } = mockDispatch2;
mockDispatch2.consumed = !persist && timesInvoked >= times;
mockDispatch2.pending = timesInvoked < times;
Expand All @@ -10812,10 +10812,10 @@ var require_mock_utils = __commonJS({
handler.onError(error);
return true;
}
if (typeof delay4 === "number" && delay4 > 0) {
if (typeof delay3 === "number" && delay3 > 0) {
setTimeout(() => {
handleReply(this[kDispatches]);
}, delay4);
}, delay3);
} else {
handleReply(this[kDispatches]);
}
Expand Down Expand Up @@ -56089,7 +56089,7 @@ var require_retries = __commonJS({
retryInterval = initialInterval * Math.pow(x2, exponent) + Math.random() * 1e3;
}
const d5 = Math.min(retryInterval, maxInterval);
await delay4(d5);
await delay3(d5);
x2++;
}
}
Expand All @@ -56110,8 +56110,8 @@ var require_retries = __commonJS({
}
return 0;
}
async function delay4(delay5) {
return new Promise((resolve) => setTimeout(resolve, delay5));
async function delay3(delay4) {
return new Promise((resolve) => setTimeout(resolve, delay4));
}
}
});
Expand Down Expand Up @@ -87928,11 +87928,7 @@ var generateCommitMessageByDiff = async (diff, fullGitMojiSpec = false, context2
MAX_REQUEST_TOKENS,
fullGitMojiSpec
);
const commitMessages = [];
for (const promise of commitMessagePromises) {
commitMessages.push(await promise);
await delay3(2e3);
}
const commitMessages = await Promise.all(commitMessagePromises);
return commitMessages.join("\n\n");
}
const messages = await generateCommitMessageChatCompletionPrompt(
Expand Down Expand Up @@ -88028,9 +88024,6 @@ var getCommitMsgsPromisesFromFileDiffs = async (diff, maxDiffLength, fullGitMoji
}
return commitMessagePromises;
};
function delay3(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}

// src/utils/randomIntFromInterval.ts
function randomIntFromInterval(min, max) {
Expand Down
27 changes: 22 additions & 5 deletions src/commands/prepare-commit-msg-hook.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,16 @@ export const prepareCommitMessageHook = async (
const spin = spinner();
spin.start('Generating commit message');

const commitMessage = await generateCommitMessageByDiff(
await getDiff({ files: staged })
);
let commitMessage: string;
try {
commitMessage = await generateCommitMessageByDiff(
await getDiff({ files: staged })
);
} catch (error) {
spin.stop('Done');
throw error;
}

spin.stop('Done');

const fileContent = await fs.readFile(messageFilePath);
Expand All @@ -65,7 +72,17 @@ export const prepareCommitMessageHook = async (

await fs.writeFile(messageFilePath, message);
} catch (error) {
outro(`${chalk.red('✖')} ${error}`);
process.exit(1);
try {
outro(`${chalk.red('✖')} ${error}`);
const fileContent = await fs.readFile(messageFilePath);

const commentedError = String(error).replace(new RegExp('^', 'gm'), '# ');
const message = `\n\n# ---------- [OpenCommit] ---------- #\n# Failed to generate the commit message.\n# To cancel the commit, just close this window without making any changes.\n\n${commentedError}\n\n${fileContent.toString()}`

await fs.writeFile(messageFilePath, message);
} catch (error) {
outro(`${chalk.red('✖')} ${error}`);
process.exit(1);
}
}
};
6 changes: 1 addition & 5 deletions src/generateCommitMessageFromGitDiff.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,7 @@ export const generateCommitMessageByDiff = async (
fullGitMojiSpec
);

const commitMessages = [] as string[];
for (const promise of commitMessagePromises) {
commitMessages.push((await promise) as string);
await delay(2000);
}
const commitMessages = await Promise.all(commitMessagePromises);

return commitMessages.join('\n\n');
}
Expand Down