Skip to content

Commit 1754edc

Browse files
committed
feat: major TUI improvements and new cleaners
New Cleaners: - System cleaner (Trash, Downloads, Temp files, Time Machine) - Misc tools (Vagrant, Git LFS, Go, Ruby, Maven, Gradle, SBT) - Test browsers (Playwright, Cypress, Puppeteer, Selenium) TUI Improvements: - Added 16 scan modes (All, Projects, Caches, System, Docker, etc.) - Added permanent delete option with [p] toggle in confirmation - Fixed scrolling to follow selection with padding - Changed Enter to select, Space to expand/collapse - Added progress bar to cleaning screen - Fixed Docker deletion using proper docker CLI commands with -f flag - Added clean_command support for items that need shell commands - Allow quit (q/Esc) during cleaning state - Error handling improvements with panic recovery Dependency Updates: - Updated all major dependencies to latest versions - ratatui 0.26 -> 0.30, crossterm 0.27 -> 0.29 - gix 0.58 -> 0.77, trash 3.3 -> 5.2 - dashmap 5.5 -> 6.1, dirs 5.0 -> 6.0 Bug Fixes: - Fixed Trash detection threshold (100MB -> 1MB) - Default scan path now uses home directory - Docker commands now use -f flag for non-interactive mode
1 parent dfeb712 commit 1754edc

19 files changed

Lines changed: 3520 additions & 646 deletions

File tree

Cargo.lock

Lines changed: 1233 additions & 527 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ version = "0.1.0"
44
edition = "2021"
55
authors = ["us"]
66
description = "🤖 null-e: The friendly disk cleanup robot - Send your cruft to /dev/null"
7-
license = "MIT"
7+
license = "WTFPL"
88
repository = "https://github.com/us/null-e"
99
homepage = "https://github.com/us/null-e"
1010
keywords = ["cleanup", "disk-space", "developer-tools", "cache", "cli"]
@@ -13,7 +13,7 @@ readme = "README.md"
1313

1414
[dependencies]
1515
# Error handling
16-
thiserror = "1.0"
16+
thiserror = "2.0"
1717
anyhow = "1.0"
1818

1919
# Serialization
@@ -22,49 +22,49 @@ serde_json = "1.0"
2222
toml = "0.8"
2323

2424
# Async/Parallel processing
25-
rayon = "1.8"
25+
rayon = "1.11"
2626
crossbeam-channel = "0.5"
2727
parking_lot = "0.12"
28-
dashmap = "5.5"
28+
dashmap = "6.1"
2929

3030
# Filesystem operations
3131
jwalk = "0.8"
32-
walkdir = "2.4"
32+
walkdir = "2.5"
3333
ignore = "0.4"
3434
globset = "0.4"
35-
dirs = "5.0"
35+
dirs = "6.0"
3636
fs_extra = "1.3"
3737

3838
# Git integration
39-
gix = { version = "0.58", default-features = false, features = ["max-performance", "status"] }
39+
gix = { version = "0.77", default-features = false, features = ["max-performance", "status"] }
4040

4141
# Trash support (cross-platform)
42-
trash = "3.3"
42+
trash = "5.2"
4343

4444
# TUI (Terminal User Interface)
45-
ratatui = "0.26"
46-
crossterm = "0.27"
45+
ratatui = "0.30"
46+
crossterm = "0.29"
4747

4848
# CLI
49-
clap = { version = "4.4", features = ["derive", "env", "color"] }
49+
clap = { version = "4.5", features = ["derive", "env", "color"] }
5050

5151
# Utilities
52-
uuid = { version = "1.6", features = ["v4"] }
52+
uuid = { version = "1.19", features = ["v4"] }
5353
humansize = "2.1"
5454
chrono = { version = "0.4", features = ["serde"] }
55-
colored = "2.1"
55+
colored = "3.0"
5656
indicatif = "0.17"
57-
console = "0.15"
58-
num_cpus = "1.16"
59-
once_cell = "1.19"
60-
regex = "1.10"
57+
console = "0.16"
58+
num_cpus = "1.17"
59+
once_cell = "1.21"
60+
regex = "1.12"
6161

6262
# Logging
6363
tracing = "0.1"
6464
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
6565

6666
# Docker (optional)
67-
bollard = { version = "0.16", optional = true }
67+
bollard = { version = "0.20", optional = true }
6868

6969
[dev-dependencies]
7070
tempfile = "3.9"

LICENSE

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
2+
Version 2, December 2004
3+
4+
Copyright (C) 2024 us <rahmetsaritekin@gmail.com>
5+
6+
Everyone is permitted to copy and distribute verbatim or modified
7+
copies of this license document, and changing it is allowed as long
8+
as the name is changed.
9+
10+
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
11+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
12+
13+
0. You just DO WHAT THE FUCK YOU WANT TO.

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# null-e 🤖
1+
# null-e - Disk Cleanup Tool for Developers 🤖
22

33
```
44
.---.
@@ -9,14 +9,16 @@
99
/| |\
1010
```
1111

12+
> **Clean node_modules, target, .venv, Docker images, Xcode DerivedData, and 50+ cache types. Reclaim 100+ GB of disk space.**
13+
1214
**The Friendly Disk Cleanup Robot** - Inspired by Wall-E, powered by Rust.
1315

14-
null-e helps developers reclaim disk space by finding and cleaning development artifacts, caches, and unused files. It can detect and clean **100+ GB** of reclaimable space across your system.
16+
null-e is a fast, cross-platform disk cleanup CLI tool that helps developers reclaim disk space by finding and cleaning development artifacts, build caches, and unused files. Works on **macOS**, **Linux**, and **Windows**.
1517

1618
[![Crates.io](https://img.shields.io/crates/v/null-e.svg)](https://crates.io/crates/null-e)
1719
[![Downloads](https://img.shields.io/crates/d/null-e.svg)](https://crates.io/crates/null-e)
1820
![Rust](https://img.shields.io/badge/rust-1.75+-orange.svg)
19-
![License](https://img.shields.io/badge/license-MIT-blue.svg)
21+
![License](https://img.shields.io/badge/license-WTFPL-brightgreen.svg)
2022
![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey.svg)
2123

2224
## Why "null-e"?

dist/aur/.SRCINFO

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ pkgbase = null-e
55
url = https://github.com/us/null-e
66
arch = x86_64
77
arch = aarch64
8-
license = MIT
8+
license = WTFPL
99
makedepends = rust
1010
makedepends = cargo
1111
depends = gcc-libs

dist/aur/PKGBUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ pkgrel=1
55
pkgdesc="The friendly disk cleanup robot - send your cruft to /dev/null"
66
arch=('x86_64' 'aarch64')
77
url="https://github.com/us/null-e"
8-
license=('MIT')
8+
license=('WTFPL')
99
depends=('gcc-libs')
1010
makedepends=('rust' 'cargo')
1111
source=("$pkgname-$pkgver.tar.gz::https://github.com/us/null-e/archive/v$pkgver.tar.gz")

dist/homebrew/null-e.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ class NullE < Formula
55
desc "The friendly disk cleanup robot - send your cruft to /dev/null"
66
homepage "https://github.com/us/null-e"
77
version "0.1.0"
8-
license "MIT"
8+
license "WTFPL"
99

1010
on_macos do
1111
on_arm do

dist/scoop/null-e.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"version": "0.1.0",
44
"description": "The friendly disk cleanup robot - send your cruft to /dev/null",
55
"homepage": "https://github.com/us/null-e",
6-
"license": "MIT",
6+
"license": "WTFPL",
77
"architecture": {
88
"64bit": {
99
"url": "https://github.com/us/null-e/releases/download/v0.1.0/null-e-windows-x86_64.zip",

snap/snapcraft.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ description: |
1414
- Parallel scanning for speed
1515
- Analysis tools for stale projects and duplicates
1616
17+
license: WTFPL
1718
grade: stable
1819
confinement: classic # Needs filesystem access
1920

0 commit comments

Comments
 (0)