del

> Delete files and folders using globs

Pretty much rimraf with a Promise API and support for multiple files and globbing. It also protects you against deleting the current working directory and above.

🔥 Want to strengthen your core JavaScript skills and master ES6?
I would personally recommend this awesome ES6 course by Wes Bos.

# Install

$ npm install --save del

# Usage

const del = require('del');
del(['tmp/*.js', '!tmp/unicorn.js']).then(paths => {
console.log('Deleted files and folders:\n', paths.join('\n'));
});

# Beware

The glob pattern `**` matches all children and the parent.

So this won't work:

del.sync(['public/assets/**', '!public/assets/goat.png']);

You have to explicitly ignore the parent directories too:

del.sync(['public/assets/**', '!public/assets', '!public/assets/goat.png']);

Suggestions on how to improve this welcome!

# API

## del(patterns, [options])

Returns a promise for an array of deleted paths.

## del.sync(patterns, [options])

Returns an array of deleted paths.

### patterns

Type: `string`, `array`

See supported minimatch patterns.

- Pattern examples with expected matches
- Quick globbing pattern overview

### options

Type: `object`

See the `node-glob` options.

#### force

Type: `boolean`
Default: `false`

Allow deleting the current working directory and outside.

#### dryRun

Type: `boolean`
Default: `false`

See what would be deleted.

const del = require('del');
del(['tmp/*.js'], {dryRun: true}).then(paths => {
console.log('Files and folders that would be deleted:\n', paths.join('\n'));
});

# CLI

See del-cli for a CLI for this module and trash-cli for a safe version that is suitable for running by hand.

# License

MIT © Sindre Sorhus