del

> Delete files and folders using globs

Similar to rimraf, but with a Promise API and support for multiple files and globbing. It also protects you against deleting the current working directory and above.

🐶

Support this project and improve your JavaScript skills with this great ES6 course by Wes Bos.
Try his free JavaScript 30 course for a taste of what to expect. You might also like his React and Sublime course.

# Install

$ npm install del

# Usage

const del = require('del');
(async () => {
const deletedPaths = await del(['tmp/*.js', '!tmp/unicorn.js']);
console.log('Deleted files and folders:\n', deletedPaths.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` `string[]`

See supported minimatch patterns.

- Pattern examples with expected matches
- Quick globbing pattern overview

### options

Type: `Object`

See the `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');
(async () => {
const deletedPaths = await del(['tmp/*.js'], {dryRun: true});
console.log('Files and folders that would be deleted:\n', deletedPaths.join('\n'));
})();

#### concurrency

Type: `number`
Default: `Infinity`
Minimum: `1`

Concurrency limit.

# CLI

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

# Related

- make-dir - Make a directory and its parents if needed
- globby - User-friendly glob matching

# License

MIT © Sindre Sorhus