@ebuka_dev/git-branch-cleaner
Version:
A CLI tool to help manage and clean up Git branches
35 lines (34 loc) • 1.53 kB
JavaScript
;
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);
}
}