mono/packages/discourse/dist/lib/git/index.js
2025-12-30 20:21:59 +01:00

34 lines
1.2 KiB
JavaScript

import { logger } from '../../index';
const GIT_CHANGELOG_MESSAGE_PREFIX = '';
import * as simpleGit from 'simple-git/promise';
import * as moment from 'moment';
export async function git_status(cwd, dir) {
const git = simpleGit(cwd);
let statusSummary = null;
try {
statusSummary = await git.log(['--stat', dir]);
}
catch (e) {
logger.error('Error Git', e);
}
return statusSummary;
}
export async function git_log(cwd, dir) {
const stats = await git_status(cwd, dir);
logger.info(`Reading Git log at ${cwd}/${dir}`);
let changelogs = stats.all.filter((e) => e.message.trim().toLowerCase().startsWith(GIT_CHANGELOG_MESSAGE_PREFIX.toLowerCase()));
if (!changelogs.length) {
return { files: [], last: stats.latest };
}
let pretty = changelogs.map((e) => {
return {
files: e.diff.files.map((f) => { return { path: f.file }; }),
msg: e.message.toLowerCase().replace(GIT_CHANGELOG_MESSAGE_PREFIX.toLowerCase(), '').trim(),
hash: e.hash,
date: moment(e.date).format('LLLL')
};
});
return { files: pretty, last: stats.latest };
}
;
//# sourceMappingURL=index.js.map