node/tools/eslint/node_modules/del
Michaël Zasso 2d441493a4 tools: update eslint to v1.10.3
PR-URL: https://github.com/nodejs/io.js/pull/2286
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-01-13 23:15:39 +01:00
..
index.js tools: update eslint to v1.10.3 2016-01-13 23:15:39 +01:00
license tools: update eslint to v1.10.3 2016-01-13 23:15:39 +01:00
package.json tools: update eslint to v1.10.3 2016-01-13 23:15:39 +01:00
readme.md tools: update eslint to v1.10.3 2016-01-13 23:15:39 +01:00

del Build Status

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.

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.

options

Type: object

See the node-glob options.

force

Type: boolean Default: false

Allow deleting the current working directory and files/folders outside it.

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 trash-cli.

License

MIT © Sindre Sorhus