Package Exports
- node-remove
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (node-remove) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
node-remove
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.
Install
npm install node-remove
// Or
yarn add node-remove
Usage
const nodeRemove = require('node-remove');
(async () => {
const deletedFilePaths = await nodeRemove['temp/*.js', '!temp/unicorn.js']);
const deletedDirectoryPaths = await nodeRemove['temp', 'public']);
console.log('Deleted files:\n', deletedFilePaths.join('\n'));
console.log('\n\n');
console.log('Deleted directories:\n', deletedDirectoryPaths.join('\n'));
})();Beware
The glob pattern ** matches all children and the parent.
So this won't work:
nodeRemove.sync(['public/assets/**', '!public/assets/goat.png']);You have to explicitly ignore the parent directories too:
nodeRemove.sync(['public/assets/**', '!public/assets', '!public/assets/goat.png']);To delete all subdirectories inside public/, you can do:
nodeRemove.sync(['public/*/']);Suggestions on how to improve this welcome!
API
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().
nodeRemove patterns, options?)
Returns Promise<string[]> with the deleted paths.
nodeRemove.sync(patterns, options?)
Returns string[] with the deleted paths.
patterns
Type: string | string[]
See the supported glob patterns.
options
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.
force
Type: boolean
Default: false
Allow deleting the current working directory and outside.
dryRun
Type: boolean
Default: false
See what would be deleted.
const nodeRemove = require('node-remove');
(async () => {
const deletedPaths = await nodeRemove['temp/*.js'], {dryRun: true});
console.log('Files and directories that would be deleted:\n', deletedPaths.join('\n'));
})();