
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
node-remove
Advanced tools
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 node-remove
// Or
yarn add node-remove
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'));
})();
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!
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 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'));
})();
FAQs
Delete files and directories
The npm package node-remove receives a total of 4 weekly downloads. As such, node-remove popularity was classified as not popular.
We found that node-remove demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.