An open API service indexing awesome lists of open source software.

https://github.com/hyperse-io/delete-empty-folders

Recursively delete all empty folders in a directory and child directories.
https://github.com/hyperse-io/delete-empty-folders

del delete delete-empty-folders empty hyperse

Last synced: about 2 months ago
JSON representation

Recursively delete all empty folders in a directory and child directories.

Awesome Lists containing this project

README

        

# @hyperse/delete-empty-folders



build


stable version


GitHub top language


Licence

> Recursively delete all empty folders in a directory and child directories.

- [Install](#install)
- [Usage](#usage)
- [API](#api)
- [async-await (promise)](#async-await-promise)
- [async callback](#async-callback)
- [sync](#sync)
- [examples](#examples)

## Install

Install with [npm](https://www.npmjs.com/):

```sh
$ npm install --save @hyperse/delete-empty-folders
```

## Usage

```ts
import { deleteEmpty, deleteEmptySync } from '@hyperse/delete-empty-folders';
```

## API

Given the following directory structure, the **highlighted directories** would be deleted.

```diff
foo/
└─┬ a/
- ├── aa/
├── bb/
│ └─┬ bbb/
│ │ ├── one.txt
│ │ └── two.txt
- ├── cc/
- ├ b/
- └ c/
```

### async-await (promise)

If no callback is passed, a promise is returned. Returns the array of deleted directories.

```ts
(async () => {
let deleted = await deleteEmpty('foo');
console.log(deleted); //=> ['foo/aa/', 'foo/a/cc/', 'foo/b/', 'foo/c/']
})();

// or
deleteEmpty('foo/')
.then((deleted) => console.log(deleted)) //=> ['foo/aa/', 'foo/a/cc/', 'foo/b/', 'foo/c/']
.catch(console.error);
```

### sync

Returns the array of deleted directories.

```js
console.log(deleteEmptySync('foo/')); //=> ['foo/aa/', 'foo/a/cc/', 'foo/b/', 'foo/c/']
```