npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

empty-folder-manager

v1.1.0

Published

Interactive CLI tool for analyzing and removing empty folders from filesystem with .gitignore support and custom glob patterns

Readme

🗂️ Empty Folder Manager

An interactive CLI tool for analyzing and removing empty folders from your filesystem efficiently and safely, with support for .gitignore files and custom glob patterns. Now includes a web UI for enhanced usability!

npm version License: MIT

Features

  • 🔧 Configure Path: Set the directory to analyze
  • Configure Speed: Choose from 5 speed presets (Turbo to Ultra Gentle)
  • 🎯 Configure Filters: Set up .gitignore support and custom ignore patterns
  • 🔍 Run Analysis: Find all empty folders recursively with intelligent filtering
  • 📊 Show Stats: Display detailed analysis results including ignored folders
  • 🗑️ Remove Folders: Clean up empty folders with dry-run option
  • 💾 Persistent Storage: Analysis results are saved and can be reused
  • 🚀 Disk-Friendly: Gentle on your disk with built-in delays and batch processing
  • 🎨 Beautiful Interface: Native emojis and clean CLI design
  • 🌐 Web UI: Modern web interface for enhanced usability
  • 🖥️ Multiple Interfaces: CLI, Web UI, and Desktop app

Installation

Using npx (Recommended)

# Run CLI directly without installation
npx empty-folder-manager

# Run Web UI directly without installation
npx empty-folder-manager --ui

# Or install globally
npm install -g empty-folder-manager

Using npm

# Install globally
npm install -g empty-folder-manager

# Run the CLI tool
empty-folder-manager

# Run the Web UI
empty-folder-manager --ui

Local Installation

# Clone or download the script
git clone https://github.com/your-username/empty-folder-manager.git
cd empty-folder-manager

# Make executable and run CLI
chmod +x remove-empty-folders.js
./remove-empty-folders.js

# Or run Web UI
node remove-empty-folders.js --ui

# Or with npm scripts
npm run ui

Quick Start

CLI Interface

# Run with npx (no installation needed)
npx empty-folder-manager

# Follow the interactive prompts to:
# 1. Configure the path to analyze
# 2. Set up filtering options (optional)
# 3. Run analysis to find empty folders
# 4. Review results and remove folders

Web UI Interface

# Launch web UI directly
npx empty-folder-manager --ui

# Or use short form
npx empty-folder-manager -u

# Or via npm script
npm run ui

# The web interface will open at http://localhost:3000

From CLI Menu

# Start CLI normally
npx empty-folder-manager

# Then select option 7 "Launch Web UI" from the menu
# The CLI will automatically install dependencies and launch the web interface.
# After closing the Web UI (e.g., with Ctrl+C in its terminal output), you will be returned to the CLI menu.

Interface Options

🖥️ Command Line Interface (CLI)

  • Interactive menu: Step-by-step guided experience
  • Keyboard-driven: Perfect for terminal users and automation
  • Lightweight: No additional dependencies required
  • Cross-platform: Works on Windows, macOS, and Linux

🌐 Web User Interface

  • Modern design: Clean, responsive web interface
  • Real-time progress: Live updates during analysis
  • Visual feedback: Progress bars and status indicators
  • Browser-based: Works in any modern web browser
  • Persistent settings: Configuration saved in browser storage

🖥️ Desktop Application (Tauri)

  • Native performance: Built with Rust and Tauri
  • File system integration: Native file dialogs and permissions
  • Cross-platform: Windows, macOS, and Linux binaries
  • Standalone: No browser or Node.js required

Command Line Options

# Show help
empty-folder-manager --help
empty-folder-manager -h

# Launch web UI
empty-folder-manager --ui
empty-folder-manager -u

# Run interactive CLI (default)
empty-folder-manager

NPM Scripts

# Start CLI interface
npm start

# Launch web UI
npm run ui
npm run web

# Install and run locally
npm install
npm start

Filtering Features

🔍 GitIgnore Support

  • Automatic Detection: Finds and loads .gitignore files from the target directory and parent directories
  • Standard Patterns: Respects all standard .gitignore syntax including negation patterns (!)
  • Hierarchical Loading: Loads .gitignore files from current directory up to the analysis root

🎯 Custom Glob Patterns

  • Flexible Patterns: Add your own ignore patterns using glob syntax
  • Common Patterns: Built-in patterns for .git, node_modules, .DS_Store, etc.
  • Pattern Testing: Test patterns against specific paths before running analysis

📋 Supported Pattern Examples

node_modules/          # Ignore node_modules directories
*.log                  # Ignore all .log files
.git/                  # Ignore .git directories
build/                 # Ignore build directories
temp*                  # Ignore anything starting with "temp"
!important.log         # Don't ignore important.log (negation)

Speed Presets

Choose the right speed for your system and needs:

  • 🚀 Turbo (Fastest): No delays, 500 folder batches - Maximum speed
  • ⚡ Fast: 10ms delays, 200 folder batches - Good for modern SSDs
  • 🐢 Normal (Balanced): 50ms delays, 100 folder batches - Default, works well everywhere
  • 🌱 Gentle (Disk-friendly): 100ms delays, 50 folder batches - Good for older HDDs
  • 🐌 Ultra Gentle (Very slow, very safe): 250ms delays, 25 folder batches - Maximum safety

Usage Examples

CLI Interface

# Interactive CLI with menu
npx empty-folder-manager

# The tool will guide you through:
# 1. Configure Path: Set the directory you want to analyze
# 2. Configure Speed: Choose your preferred processing speed
# 3. Configure Filters: Set up .gitignore support and custom patterns
# 4. Run Analysis: Scan for empty folders with intelligent filtering
# 5. Show Stats: View analysis results and filtering statistics
# 6. Remove Folders: Choose dry-run or actual removal
# 7. Launch Web UI: Switch to web interface
# 8. Exit: Quit the application

Web UI Interface

# Launch web UI
npx empty-folder-manager --ui

# Features available in web interface:
# - Visual configuration forms
# - Real-time progress tracking
# - Interactive results display
# - Drag-and-drop path selection (where supported)
# - Persistent browser-based settings

Safety Features

  • Dry-run mode: Preview what would be removed without making changes
  • Confirmation prompts: Multiple confirmations before actual deletion
  • Error handling: Graceful handling of permission errors and inaccessible folders
  • Intelligent filtering: Respects .gitignore files and custom patterns
  • Configurable speed: Choose from 5 speed presets to match your system
  • Batch processing: Processes folders in batches for better performance
  • Cross-interface consistency: Same safety features across CLI and Web UI

Configuration Files

The tool creates configuration files in the directory where you run it:

  • .empty-folders-config.json: Stores your configured path, speed settings, and filter preferences
  • .analysis/: Directory containing analysis results
  • analysis-{hash}.json: Analysis data for each configured path including filtering statistics

Requirements

  • Node.js 14.0.0 or higher
  • Read/write permissions for the directories you want to analyze
  • For Web UI: Modern web browser (Chrome, Firefox, Safari, Edge)

Example Output

CLI Interface

╔══════════════════════════════════════════════════════════════╗
║                    🗂️  Empty Folder Manager 🗂️                ║
║                                                              ║
║           Clean up your filesystem efficiently! 🚀          ║
╚══════════════════════════════════════════════════════════════╝

📋 Available Options:

  1️⃣  Configure Path     - Set the directory to analyze
  2️⃣  Configure Speed    - Adjust processing speed
  3️⃣  Configure Filters  - Set up .gitignore and custom patterns
  4️⃣  Run Analysis       - Find all empty folders
  5️⃣  Show Stats         - Display analysis results
  6️⃣  Remove Folders     - Clean up empty folders
  7️⃣  Launch Web UI      - Open web interface
  8️⃣  Exit              - Quit the application

📁 Current Path: /home/user/Documents
⚡ Current Speed: 🐢 Normal (Balanced)
🔍 GitIgnore: ✅ Enabled
🎯 Custom Patterns: 3 pattern(s)

Web UI Launch

$ npx empty-folder-manager --ui
🚀 Launching Empty Folder Manager Web UI...

📦 Installing web UI dependencies...
✅ Dependencies installed successfully!

🌐 Starting web server...
🗂️ Empty Folder Manager Web UI running on http://localhost:3000
📁 Open your browser and navigate to the URL above to get started!

Performance Tips

  • SSD users: Use Turbo or Fast speed for maximum performance
  • HDD users: Use Gentle or Ultra Gentle to avoid overwhelming your disk
  • Network drives: Use Ultra Gentle for best reliability
  • Large directories: Start with Gentle speed to test, then increase if needed
  • Heavy filtering: More ignore patterns may slow down analysis slightly
  • Web UI: Use for visual feedback and easier configuration
  • CLI: Use for automation and scripting scenarios

Common Use Cases

Development Projects

# CLI with automatic .gitignore support
npx empty-folder-manager

# Web UI for visual project cleanup
npx empty-folder-manager --ui

System Cleanup

# CLI for quick system maintenance
npx empty-folder-manager

# Web UI for detailed system analysis
npx empty-folder-manager --ui

Backup Directories

# CLI for automated backup cleanup
npx empty-folder-manager

# Web UI for interactive backup management
npx empty-folder-manager --ui

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - feel free to use and modify as needed!

Support

If you encounter any issues or have questions:

  1. Check the Issues page
  2. Create a new issue with details about your problem
  3. Include your Node.js version and operating system

Made with ❤️ for developers who love clean filesystems!