UNPKG

repomix

Version:

A tool to pack repository contents to single file for AI consumption

51 lines 2.17 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { logger } from '../../shared/logger.js'; import { execGitLogFilenames, execGitRevParse, execGitVersion } from './gitCommand.js'; export const getFileChangeCount = (directory_1, ...args_1) => __awaiter(void 0, [directory_1, ...args_1], void 0, function* (directory, maxCommits = 100, deps = { execGitLogFilenames, }) { try { const filenames = yield deps.execGitLogFilenames(directory, maxCommits); const fileChangeCounts = {}; for (const filename of filenames) { fileChangeCounts[filename] = (fileChangeCounts[filename] || 0) + 1; } return fileChangeCounts; } catch (error) { logger.trace('Failed to get file change counts:', error.message); return {}; } }); export const isGitRepository = (directory_1, ...args_1) => __awaiter(void 0, [directory_1, ...args_1], void 0, function* (directory, deps = { execGitRevParse, }) { try { yield deps.execGitRevParse(directory); return true; } catch (error) { return false; } }); export const isGitInstalled = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* (deps = { execGitVersion, }) { try { const result = yield deps.execGitVersion(); return !result.includes('error') && result.includes('git version'); } catch (error) { logger.trace('Git is not installed:', error.message); return false; } }); //# sourceMappingURL=gitRepositoryHandle.js.map