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.
$ npm install del
const del = require('del'); (async () => { const deletedPaths = await del(['tmp/*.js', '!tmp/unicorn.js']); console.log('Deleted files and folders:\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!
Returns a promise for an array of deleted paths.
Returns an array of deleted paths.
Type: string
string[]
See supported minimatch patterns.
Type: Object
See the glob
options.
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(['tmp/*.js'], {dryRun: true}); console.log('Files and folders 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.
MIT © Sindre Sorhus