UNPKG

@ebuka_dev/git-branch-cleaner

Version:

A CLI tool to help manage and clean up Git branches

35 lines (34 loc) 1.53 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.listStaleBranches = listStaleBranches; const GitService_1 = require("../services/GitService"); const spinner_1 = require("../utils/spinner"); const console_1 = require("../utils/console"); const chalk_1 = __importDefault(require("chalk")); async function listStaleBranches(verbose) { spinner_1.spinner.start("Fetching stale branches..."); try { const branches = await GitService_1.gitService.getAllBranches(); spinner_1.spinner.stop(); // Filter out current branch and find branches whose remote is gone const staleBranches = Object.entries(branches.branches).filter(([_, branch]) => branch.name !== branches.current && branch.label.includes(": gone")); if (staleBranches.length === 0) { (0, console_1.logSuccess)("No stale branches found!"); return; } (0, console_1.logWarning)("Stale branches:"); staleBranches.forEach(([name, branch]) => { console.log(` - ${chalk_1.default.red(name)}`); if (verbose) { console.log(` ${chalk_1.default.gray(branch.label)}`); } }); } catch (error) { spinner_1.spinner.fail("Failed to fetch stale branches!"); (0, console_1.logError)("Error fetching stale branches:", error); } }