gh-manager-cli 1.32.0 → 1.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +8 -0
- package/dist/index.js +36 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# [1.34.0](https://github.com/wiiiimm/gh-manager-cli/compare/v1.33.0...v1.34.0) (2025-09-06)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* add in-app sponsorship prompts and reminders ([#28](https://github.com/wiiiimm/gh-manager-cli/issues/28)) ([443aa4b](https://github.com/wiiiimm/gh-manager-cli/commit/443aa4bcaf2eb18dc4d4abef1ebe3f14652912bd))
|
|
7
|
+
|
|
8
|
+
# [1.33.0](https://github.com/wiiiimm/gh-manager-cli/compare/v1.32.0...v1.33.0) (2025-09-06)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* add Buy Me a Coffee sponsorship support ([#27](https://github.com/wiiiimm/gh-manager-cli/issues/27)) ([76ed5dd](https://github.com/wiiiimm/gh-manager-cli/commit/76ed5ddf8a6ec4dd5c2110250858967e7f63b96f))
|
|
14
|
+
|
|
1
15
|
# [1.32.0](https://github.com/wiiiimm/gh-manager-cli/compare/v1.31.2...v1.32.0) (2025-09-05)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -516,6 +516,14 @@ Highlights on deck:
|
|
|
516
516
|
- Bulk selection and actions
|
|
517
517
|
- Repository renaming
|
|
518
518
|
|
|
519
|
+
## Support & Sponsorship
|
|
520
|
+
|
|
521
|
+
If you find gh-manager-cli useful, consider supporting its development:
|
|
522
|
+
|
|
523
|
+
☕ **[Buy Me a Coffee](https://buymeacoffee.com/wiiiimm)** - Support with coffee donations
|
|
524
|
+
|
|
525
|
+
Your support helps maintain and improve this project. Thank you! 🙏
|
|
526
|
+
|
|
519
527
|
## License
|
|
520
528
|
|
|
521
529
|
MIT
|
package/dist/index.js
CHANGED
|
@@ -31,7 +31,7 @@ var require_package = __commonJS({
|
|
|
31
31
|
"package.json"(exports, module) {
|
|
32
32
|
module.exports = {
|
|
33
33
|
name: "gh-manager-cli",
|
|
34
|
-
version: "1.
|
|
34
|
+
version: "1.34.0",
|
|
35
35
|
private: false,
|
|
36
36
|
description: "TUI terminal app to manage GitHub repos. Clean up your account in 5 minutes. Archive, delete, rename repos with keyboard shortcuts. Alternative to clicking through github.com",
|
|
37
37
|
license: "MIT",
|
|
@@ -1697,6 +1697,8 @@ function RepoList({ token, maxVisibleRows, onLogout, viewerLogin, onOrgContextCh
|
|
|
1697
1697
|
const [ownerContext, setOwnerContext] = useState13("personal");
|
|
1698
1698
|
const [ownerAffiliations, setOwnerAffiliations] = useState13(["OWNER"]);
|
|
1699
1699
|
const [orgSwitcherOpen, setOrgSwitcherOpen] = useState13(false);
|
|
1700
|
+
const [operationCount, setOperationCount] = useState13(0);
|
|
1701
|
+
const [showSponsorReminder, setShowSponsorReminder] = useState13(false);
|
|
1700
1702
|
const [searchItems, setSearchItems] = useState13([]);
|
|
1701
1703
|
const [searchEndCursor, setSearchEndCursor] = useState13(null);
|
|
1702
1704
|
const [searchHasNextPage, setSearchHasNextPage] = useState13(false);
|
|
@@ -1769,6 +1771,14 @@ function RepoList({ token, maxVisibleRows, onLogout, viewerLogin, onOrgContextCh
|
|
|
1769
1771
|
}
|
|
1770
1772
|
})();
|
|
1771
1773
|
}, [initialOrgSlug2, token, prefsLoaded, client, addDebugMessage]);
|
|
1774
|
+
function trackSuccessfulOperation() {
|
|
1775
|
+
const newCount = operationCount + 1;
|
|
1776
|
+
setOperationCount(newCount);
|
|
1777
|
+
if (newCount % 5 === 0) {
|
|
1778
|
+
setShowSponsorReminder(true);
|
|
1779
|
+
setTimeout(() => setShowSponsorReminder(false), 5e3);
|
|
1780
|
+
}
|
|
1781
|
+
}
|
|
1772
1782
|
function closeArchiveModal() {
|
|
1773
1783
|
setArchiveMode(false);
|
|
1774
1784
|
setArchiveTarget(null);
|
|
@@ -1856,6 +1866,7 @@ function RepoList({ token, maxVisibleRows, onLogout, viewerLogin, onOrgContextCh
|
|
|
1856
1866
|
const updateRepo = (r) => r.id === id ? { ...r, isArchived: !isArchived } : r;
|
|
1857
1867
|
setItems((prev) => prev.map(updateRepo));
|
|
1858
1868
|
setSearchItems((prev) => prev.map(updateRepo));
|
|
1869
|
+
trackSuccessfulOperation();
|
|
1859
1870
|
closeArchiveModal();
|
|
1860
1871
|
} catch (e) {
|
|
1861
1872
|
setArchiving(false);
|
|
@@ -1993,6 +2004,7 @@ function RepoList({ token, maxVisibleRows, onLogout, viewerLogin, onOrgContextCh
|
|
|
1993
2004
|
if (searchActive) {
|
|
1994
2005
|
setSearchTotalCount((c) => Math.max(0, c - 1));
|
|
1995
2006
|
}
|
|
2007
|
+
trackSuccessfulOperation();
|
|
1996
2008
|
setDeleteMode(false);
|
|
1997
2009
|
setDeleteTarget(null);
|
|
1998
2010
|
setTypedCode("");
|
|
@@ -2829,6 +2841,11 @@ function RepoList({ token, maxVisibleRows, onLogout, viewerLogin, onOrgContextCh
|
|
|
2829
2841
|
}
|
|
2830
2842
|
return /* @__PURE__ */ jsxs16(Box16, { flexDirection: "column", height: availableHeight, children: [
|
|
2831
2843
|
headerBar,
|
|
2844
|
+
showSponsorReminder && /* @__PURE__ */ jsx17(Box16, { marginX: 1, marginBottom: 1, children: /* @__PURE__ */ jsx17(Box16, { borderStyle: "single", borderColor: "yellow", paddingX: 2, paddingY: 1, children: /* @__PURE__ */ jsxs16(Box16, { flexDirection: "column", alignItems: "center", children: [
|
|
2845
|
+
/* @__PURE__ */ jsx17(Text17, { color: "yellow", children: "\u{1F49A} Thanks for using gh-manager-cli!" }),
|
|
2846
|
+
/* @__PURE__ */ jsx17(Text17, { color: "gray", children: "Your support helps craft more open-source tools" }),
|
|
2847
|
+
/* @__PURE__ */ jsx17(Text17, { color: "cyan", children: "\u2615 buymeacoffee.com/wiiiimm" })
|
|
2848
|
+
] }) }) }),
|
|
2832
2849
|
/* @__PURE__ */ jsx17(Box16, { borderStyle: "single", borderColor: modalOpen ? "gray" : "yellow", paddingX: 1, paddingY: 1, marginX: 1, height: contentHeight + containerPadding + 2, flexDirection: "column", children: deleteMode && deleteTarget ? (
|
|
2833
2850
|
// Centered modal; hide list content while modal is open
|
|
2834
2851
|
/* @__PURE__ */ jsx17(Box16, { height: contentHeight, alignItems: "center", justifyContent: "center", children: /* @__PURE__ */ jsxs16(Box16, { flexDirection: "column", borderStyle: "round", borderColor: "red", paddingX: 3, paddingY: 2, width: Math.min(terminalWidth - 8, 80), children: [
|
|
@@ -3287,7 +3304,8 @@ function RepoList({ token, maxVisibleRows, onLogout, viewerLogin, onOrgContextCh
|
|
|
3287
3304
|
/* @__PURE__ */ jsx17(Box16, { width: terminalWidth, justifyContent: "center", children: /* @__PURE__ */ jsx17(Text17, { color: "gray", dimColor: modalOpen ? true : void 0, children: "\u2191\u2193 Navigate \u2022 Ctrl+G Top \u2022 G Bottom \u2022 \u23CE/O Open \u2022 R Refresh" }) }),
|
|
3288
3305
|
/* @__PURE__ */ jsx17(Box16, { width: terminalWidth, justifyContent: "center", children: /* @__PURE__ */ jsx17(Text17, { color: "gray", dimColor: modalOpen ? true : void 0, children: "/ Search \u2022 S Sort \u2022 D Direction \u2022 T Density \u2022 F Fork Status \u2022 V Visibility" }) }),
|
|
3289
3306
|
/* @__PURE__ */ jsx17(Box16, { width: terminalWidth, justifyContent: "center", children: /* @__PURE__ */ jsx17(Text17, { color: "gray", dimColor: modalOpen ? true : void 0, children: "I Info \u2022 C Copy URL \u2022 Ctrl+R Rename \u2022 Ctrl+A Un/Archive \u2022 Ctrl+V Change Visibility \u2022 Ctrl+S Sync Fork" }) }),
|
|
3290
|
-
/* @__PURE__ */ jsx17(Box16, { width: terminalWidth, justifyContent: "center", children: /* @__PURE__ */ jsx17(Text17, { color: "gray", dimColor: modalOpen ? true : void 0, children: "K Cache Info \u2022 W Org Switch \u2022 Del/Backspace Delete \u2022 Ctrl+L Logout \u2022 Q Quit" }) })
|
|
3307
|
+
/* @__PURE__ */ jsx17(Box16, { width: terminalWidth, justifyContent: "center", children: /* @__PURE__ */ jsx17(Text17, { color: "gray", dimColor: modalOpen ? true : void 0, children: "K Cache Info \u2022 W Org Switch \u2022 Del/Backspace Delete \u2022 Ctrl+L Logout \u2022 Q Quit" }) }),
|
|
3308
|
+
/* @__PURE__ */ jsx17(Box16, { width: terminalWidth, justifyContent: "center", marginTop: 1, children: /* @__PURE__ */ jsx17(Text17, { color: "yellow", dimColor: modalOpen ? true : void 0, children: "\u{1F49A} Support the project: buymeacoffee.com/wiiiimm" }) })
|
|
3291
3309
|
] }),
|
|
3292
3310
|
process.env.GH_MANAGER_DEBUG === "1" && /* @__PURE__ */ jsxs16(Box16, { marginTop: 1, borderStyle: "single", borderColor: "yellow", paddingX: 1, flexDirection: "column", children: [
|
|
3293
3311
|
/* @__PURE__ */ jsx17(Text17, { bold: true, color: "yellow", children: "Debug Messages:" }),
|
|
@@ -3905,9 +3923,25 @@ var handleShutdown = (signal) => {
|
|
|
3905
3923
|
});
|
|
3906
3924
|
process.exit(0);
|
|
3907
3925
|
};
|
|
3926
|
+
var showSponsorshipMessage = () => {
|
|
3927
|
+
console.log("\n" + "\u2500".repeat(60));
|
|
3928
|
+
console.log("\n\u{1F49A} Thank you for using gh-manager-cli!\n");
|
|
3929
|
+
console.log("If this app saved you time, please consider supporting");
|
|
3930
|
+
console.log("the development of more open-source projects like this:\n");
|
|
3931
|
+
console.log(" \u2615 Buy Me a Coffee: https://buymeacoffee.com/wiiiimm");
|
|
3932
|
+
console.log(" \u{1F680} Visit my site: https://wiiiimm.codes");
|
|
3933
|
+
console.log(" \u{1F4AC} Leave feedback: https://github.com/wiiiimm/gh-manager-cli");
|
|
3934
|
+
console.log("\nYour support and contributions make a difference! \u{1F64F}\n");
|
|
3935
|
+
console.log("\u2500".repeat(60) + "\n");
|
|
3936
|
+
};
|
|
3908
3937
|
process.on("SIGINT", () => handleShutdown("SIGINT"));
|
|
3909
3938
|
process.on("SIGTERM", () => handleShutdown("SIGTERM"));
|
|
3910
3939
|
process.on("exit", (code) => {
|
|
3940
|
+
const isNormalExit = code === 0;
|
|
3941
|
+
const isInteractiveSession = !argv.includes("--version") && !argv.includes("-v") && !argv.includes("--help") && !argv.includes("-h");
|
|
3942
|
+
if (isNormalExit && isInteractiveSession) {
|
|
3943
|
+
showSponsorshipMessage();
|
|
3944
|
+
}
|
|
3911
3945
|
logger.info("gh-manager-cli exited", {
|
|
3912
3946
|
exitCode: code,
|
|
3913
3947
|
uptime: process.uptime()
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gh-manager-cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.34.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "TUI terminal app to manage GitHub repos. Clean up your account in 5 minutes. Archive, delete, rename repos with keyboard shortcuts. Alternative to clicking through github.com",
|
|
6
6
|
"license": "MIT",
|