New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

node-remove

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-remove

Delete files and directories

latest
Source
npmnpm
Version
1.0.2
Version published
Weekly downloads
4
100%
Maintainers
1
Weekly downloads
 
Created
Source

node-remove

npm version  https://img.shields.io/npm/dm/node-remove.svg

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'));
})();
  • make-dir - Make a directory and its parents if needed
  • globby - User-friendly glob matching

Keywords

delete

FAQs

Package last updated on 24 Jul 2021

Did you know?

Socket

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.

Install

Related posts