UNPKG

pr-sizewise

Version:

A CLI tool that measures and reports pull request sizes for GitHub and GitLab, helping teams maintain manageable code changes.

34 lines 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseDiff = parseDiff; exports.globToRegex = globToRegex; /** * Parses a git diff string and counts the number of lines added and removed. * Ignores diff metadata lines (like @@ and +++ lines). */ function parseDiff(diff) { const lines = diff.split('\n'); let additions = 0; let deletions = 0; for (const line of lines) { if (line.startsWith('+') && !line.startsWith('+++')) { additions++; } else if (line.startsWith('-') && !line.startsWith('---')) { deletions++; } } return { additions, deletions }; } /** * Converts a glob pattern to a RegExp object. * Handles common glob patterns like * and ?. */ function globToRegex(pattern) { const regexStr = pattern .replace(/[.+^${}()|[\]\\]/g, '\\$&') // Escape special regex chars .replace(/\*/g, '.*') // Convert * to .* .replace(/\?/g, '.'); // Convert ? to . return new RegExp(regexStr); } //# sourceMappingURL=diff-parser.js.map