1
0
mirror of https://github.com/tw93/Mole.git synced 2026-03-22 20:50:06 +00:00
Commit Graph

22 Commits

Author SHA1 Message Date
Tw93
42cc50d0fd test(purge): cover empty menu options path 2026-03-07 20:36:47 +08:00
tw93
241e6a7a34 fix(purge): avoid counting failed dry-run removals 2026-03-01 20:35:49 +08:00
陳德生
05446e0847 Add dry-run support across destructive commands (#516)
* chore: update contributors [skip ci]

* Add dry-run support across destructive commands

Implement dry-run for uninstall, purge, installer, touchid, completion, and remove flows.\nGuard side effects in uninstall path (launchctl, defaults writes, kill/brew actions), update help/README, and add coverage in CLI/Bats tests.\n\nValidation: ./scripts/check.sh and ./scripts/test.sh (452 tests, 0 failures, 8 skipped).

* test(purge): keep dev-compatible purge coverage

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Tw93 <hitw93@gmail.com>
2026-03-01 20:03:22 +08:00
tw93
a9433e4acd fix: preserve interrupt semantics and restore purge traps 2026-02-27 11:18:53 +08:00
tw93
d13c0927a6 feat(purge): add confirm dialog, two-pass column alignment, adaptive footer
- Add confirm_purge_cleanup() to show item count + size and require
  explicit Enter/y confirmation before any deletion
- Two-pass layout in clean_project_artifacts: pass 1 collects data,
  pre-scan finds max path and artifact widths, pass 2 formats with
  consistent column alignment across all rows
- Adaptive footer hints in select_purge_categories degrade gracefully
  on narrow terminals (full → reduced → minimal)
- Use printf '\033[J' to clear stale content when list height shrinks
- Guard empty-array expansions with ${arr[*]-} for set -u safety
- Add BATS tests for confirm_purge_cleanup (Enter confirm, ESC cancel)
2026-02-26 19:42:42 +08:00
tw93
8f5b70457e fix(purge): normalize search roots for scan filtering (#478) 2026-02-22 22:06:19 +08:00
tw93
894c81bb9a fix(purge): detect artifacts when search path is project root 2026-02-22 10:08:20 +08:00
tw93
0597021fd4 fix(purge): save and restore caller traps to prevent state leak
- Save caller's INT/TERM traps before installing local cleanup trap
- Restore original traps after clean_project_artifacts completes
- Add test to verify trap restoration behavior

Fixes P3 issue: project.sh (line 825, 870)
2026-02-21 20:21:54 +08:00
tw93
7c974bf351 fix(purge): prevent hangs during size calculation 2026-02-19 22:52:27 +08:00
Tw93
5d77001a72 Optimize the effect and speed of scanning 2026-01-12 17:49:51 +08:00
Tw93
fc4d94f7c7 Merge pull request #247 from JackPhallen/feat/more-purge-support
feat(purge): C# bin purge support
2026-01-04 16:16:59 +08:00
Jack Phallen
aabee42344 feat(purge): C# bin purge support 2026-01-03 23:24:25 -08:00
Jack Phallen
5fa0ea403b chore: Skip tests that require timeout 2026-01-03 22:17:28 -08:00
Tw93
c4df04ff4f test: remove obsolete environment variable tests 2026-01-03 13:44:55 +08:00
Tw93
4aef2de0fc refactor: Consolidate and refactor test suite by removing redundant files and simplifying test execution. 2026-01-03 12:04:57 +08:00
Tw93
64a9946483 feat: add unit tests for project root detection and vendor directory protection logic 2026-01-02 00:07:10 +08:00
Tw93
a671c63401 feat: smart vendor directory handling in purge
- Only clean PHP Composer vendor (regeneratable)
  - Protect Rails, Go, and unknown vendor directories
  - Enhanced test coverage for all scenarios

  Builds on PR #229 with improved multi-language support
2026-01-02 00:03:17 +08:00
Jalen Yan
9e84883de5 fix: skip Rails vendor during purge 2026-01-01 23:37:02 +08:00
Tw93
592f02e6e2 feat: overhaul quality checks and expand test suite for clean and optimize features 2025-12-31 18:13:37 +08:00
Tw93
72ec18ad8c fix: source common utilities in purge tests and remove temporary clean list artifact 2025-12-26 14:36:56 +08:00
Tw93
af03452f6d feat: Enhance clean and optimize operations with new configuration constants 2025-12-18 17:02:04 +08:00
Tw93
9d72eab95a feat: add interactive purge command with comprehensive tests 2025-12-18 14:16:56 +08:00