readme.md 3.09 KB

del Build Status XO code style

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.

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