Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gulpjs/empty-dir
Check if a directory is empty.
https://github.com/gulpjs/empty-dir
check directory empty folder is-empty javascript
Last synced: 2 months ago
JSON representation
Check if a directory is empty.
- Host: GitHub
- URL: https://github.com/gulpjs/empty-dir
- Owner: gulpjs
- License: mit
- Created: 2014-05-09T00:34:26.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-12-29T20:12:12.000Z (12 months ago)
- Last Synced: 2024-05-22T22:23:16.063Z (7 months ago)
- Topics: check, directory, empty, folder, is-empty, javascript
- Language: JavaScript
- Size: 25.4 KB
- Stars: 20
- Watchers: 9
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - gulpjs/empty-dir - Check if a directory is empty. (JavaScript)
README
# empty-dir
[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][ci-image]][ci-url] [![Coveralls Status][coveralls-image]][coveralls-url]
Check if a directory is empty.
## Usage
```js
var emptyDir = require('empty-dir');// Using an error-back
emptyDir('./', function (err, result) {
if (err) {
console.error(err);
} else {
console.log('Directory is empty:', result);
}
});// Using a Promise
emptyDir('./').then(function (result) {
console.log('Directory is empty:', result);
});var result = emptyDir.sync('./test/empty');
console.log('Directory is empty:', result);
```## API
### `emptyDir(paths, [filterFunction], [callback])`
Takes a path string or array of path strings and returns a Promise. Checks if the given paths are empty and resolves with a boolean indicating if the paths are empty directories. Optionally takes a filter function to filter out files that cause false positives. Also, can take a node-style callback function instead of returning a Promise.
### `emptyDir.sync(paths, [filterFunction])`
Same as the above API but operates and returns synchronously. An error will be thrown.
#### Filter function
Both async and sync take a filter function as the second argument, to ignore files like `.DS_Store` on mac or `Thumbs.db` on windows from causing false-negatives.
```js
var emptyDir = require('empty-dir');function filter(filepath) {
return /(Thumbs\.db|\.DS_Store)$/i.test(filepath);
}emptyDir('./', filter, function (err, isEmpty) {
if (err) {
console.error(err);
} else {
console.log('Directory is empty:', isEmpty);
}
});var isEmpty = emptyDir.sync('./test/empty', filter);
console.log('Directory is empty:', isEmpty);
```#### Promises
Global promises are required for this module. If you are using a platform that doesn't have promise support, you'll need to polyfill Promise on the global.
```js
global.Promise = require('insert-your-promise-polyfill-here');var emptyDir = require('empty-dir');
emptyDir('./').then(function (result) {
console.log('Directory is empty:', result);
});
```## License
MIT
[downloads-image]: https://img.shields.io/npm/dm/empty-dir.svg?style=flat-square
[npm-url]: https://www.npmjs.com/package/empty-dir
[npm-image]: https://img.shields.io/npm/v/empty-dir.svg?style=flat-square[ci-url]: https://github.com/gulpjs/empty-dir/actions?query=workflow:dev
[ci-image]: https://img.shields.io/github/actions/workflow/status/gulpjs/empty-dir/dev.yml?branch=master&style=flat-square[coveralls-url]: https://coveralls.io/r/gulpjs/empty-dir
[coveralls-image]: https://img.shields.io/coveralls/gulpjs/empty-dir/master.svg?style=flat-square