del Build Status XO code style

Delete files and directories 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.


$ npm install del


const del = require('del');

(async () => {
	const deletedPaths = await del(['temp/*.js', '!temp/unicorn.js']);

	console.log('Deleted files and directories:\n', deletedPaths.join('\n'));


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!


Note that glob patterns can only contain forward-slashes, not backward-slashes. Windows file paths can use backward-slashes as long as the path does not contain any glob-like characters, otherwise use path.posix.join() instead of path.join().

del(patterns, options?)

Returns Promise<string[]> with the deleted paths.

del.sync(patterns, options?)

Returns string[] with the deleted paths.


Type: string | string[]

See the supported glob patterns.


Type: object

You can specify any of the globby options in addition to the below options. In contrast to the globby defaults, expandDirectories, onlyFiles, and followSymbolicLinks are false by default.


Type: boolean
Default: false

Allow deleting the current working directory and outside.


Type: boolean
Default: false

See what would be deleted.

const del = require('del');

(async () => {
	const deletedPaths = await del(['temp/*.js'], {dryRun: true});

	console.log('Files and directories that would be deleted:\n', deletedPaths.join('\n'));

Type: number
Default: Infinity
Minimum: 1

Concurrency limit.


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


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

Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.