lhl 6ff0e96ad3 8-4-1 | 1 year ago | |
---|---|---|
.. | ||
node_modules | 1 year ago | |
index.d.ts | 1 year ago | |
index.js | 1 year ago | |
license | 1 year ago | |
package.json | 1 year ago | |
readme.md | 1 year ago |
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()
.
Returns Promise<string[]>
with the deleted paths.
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.