2.4 KiB
del
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.
🔥 Want to strengthen your core JavaScript skills and master ES6?
I would personally recommend this awesome ES6 course by Wes Bos.
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 outside.
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 del-cli for a CLI for this module and trash-cli for a safe version that is suitable for running by hand.
License
MIT © Sindre Sorhus