From 894af5533443e934ca23bdde25bb00364b7e3754 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 1 Apr 2025 19:11:40 +0200 Subject: [PATCH 1/2] fix: handle repos without git gracefully --- .../utils/src/lib/git/git.commits-and-tags.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/utils/src/lib/git/git.commits-and-tags.ts b/packages/utils/src/lib/git/git.commits-and-tags.ts index 42099f8f5..590dbdd7c 100644 --- a/packages/utils/src/lib/git/git.commits-and-tags.ts +++ b/packages/utils/src/lib/git/git.commits-and-tags.ts @@ -1,16 +1,23 @@ import { type LogOptions as SimpleGitLogOptions, simpleGit } from 'simple-git'; import { type Commit, commitSchema } from '@code-pushup/models'; +import { stringifyError } from '../errors.js'; +import { ui } from '../logging.js'; import { isSemver } from '../semver.js'; export async function getLatestCommit( git = simpleGit(), ): Promise { - const log = await git.log({ - maxCount: 1, - // git log -1 --pretty=format:"%H %s %an %aI" - See: https://git-scm.com/docs/pretty-formats - format: { hash: '%H', message: '%s', author: '%an', date: '%aI' }, - }); - return commitSchema.parse(log.latest); + try { + const log = await git.log({ + maxCount: 1, + // git log -1 --pretty=format:"%H %s %an %aI" - See: https://git-scm.com/docs/pretty-formats + format: { hash: '%H', message: '%s', author: '%an', date: '%aI' }, + }); + return commitSchema.parse(log.latest); + } catch (e) { + ui().logger.error(stringifyError(e)); + return null; + } } export async function getCurrentBranchOrTag( From 3189eb8582e935b15baa45f9766e33d039e7f9eb Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 1 Apr 2025 19:42:43 +0200 Subject: [PATCH 2/2] fix: lint --- packages/utils/src/lib/git/git.commits-and-tags.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/utils/src/lib/git/git.commits-and-tags.ts b/packages/utils/src/lib/git/git.commits-and-tags.ts index 590dbdd7c..8acf41a03 100644 --- a/packages/utils/src/lib/git/git.commits-and-tags.ts +++ b/packages/utils/src/lib/git/git.commits-and-tags.ts @@ -14,8 +14,8 @@ export async function getLatestCommit( format: { hash: '%H', message: '%s', author: '%an', date: '%aI' }, }); return commitSchema.parse(log.latest); - } catch (e) { - ui().logger.error(stringifyError(e)); + } catch (error) { + ui().logger.error(stringifyError(error)); return null; } }