Skip to content

A fast, reliable utility to check if a directory is empty or contains only files you want to ignore. Built with modern JavaScript and performance optimizations.

License

Notifications You must be signed in to change notification settings

opensly/is-empty-dir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

is-empty-dir

A fast, reliable utility to check if a directory is empty or contains only files you want to ignore. Built with modern JavaScript and performance optimizations.

Features

  • Fast: Early exit optimization for large directories
  • Flexible: Ignore files by name, RegExp, or custom function
  • Sync & Async: Use in both callback and promise-based code
  • Cross-platform: Works on Linux, macOS, and Windows
  • Supports CommonJS and ES Modules

Installation

npm install is-empty-dir

Usage

CommonJS

const isEmptyDir = require('is-empty-dir');

(async () => {
  const empty = await isEmptyDir('/path/to/dir');
  console.log(empty); // true or false
})();

// Synchronous
const { isEmptyDirSync } = require('is-empty-dir');
const emptySync = isEmptyDirSync('/path/to/dir');
console.log(emptySync); // true or false

ES Modules

import isEmptyDir, { isEmptyDirSync } from 'is-empty-dir';

const empty = await isEmptyDir('/path/to/dir');
const emptySync = isEmptyDirSync('/path/to/dir');

API

isEmptyDir(dirPath, options?)

  • dirPath (string): Path to the directory
  • options (object, optional):
    • ignore (Array<string|RegExp|Function>): Patterns or functions to ignore files (default: [])
    • followSymlinks (boolean): Whether to follow symbolic links (default: false)
  • Returns: Promise<boolean>

isEmptyDirSync(dirPath, options?)

  • Same as above, but synchronous. Returns boolean.

Ignore Patterns

  • String: Exact filename to ignore
  • RegExp: Pattern to match filenames
  • Function: (filename) => boolean custom logic

Example: Ignore dotfiles and node_modules

const empty = await isEmptyDir('/dir', {
  ignore: [/^\./, 'node_modules']
});

Error Handling

  • Throws if the path does not exist or is not a directory
  • Throws on permission errors

License

MIT © 2025 opensly

Contributing

If you find a bug or have a feature request, please raise an issue.

Want to contribute? Fork the repository and create a pull request with your proposed changes!

About

A fast, reliable utility to check if a directory is empty or contains only files you want to ignore. Built with modern JavaScript and performance optimizations.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published