Delete files and directories
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.editorconfig Meta tweaks May 11, 2017
.gitattributes Require Node.js 6 Nov 26, 2018
.gitignore Require Node.js 6 Nov 26, 2018
.npmrc Require Node.js 6 Nov 26, 2018
.travis.yml Require Node.js 6 Nov 26, 2018
index.js Require Node.js 6 Nov 26, 2018
license Meta tweaks Jun 9, 2017
package.json Require Node.js 6 Nov 26, 2018
readme.md Fix readme typo (#78) Jan 24, 2019
test.js Require Node.js 6 Nov 26, 2018

readme.md

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