npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

rimraf-noglob

v2.5.4

Published

rimraf wrapper with globbing disabled by default

Downloads

81

Readme

Which is easier?

Vanilla rimraf:

var rimraf = require('rimraf');

rimraf(untrustedPath, { glob: false, });
rimraf('/path/to/file?', { glob: false, });
// Passing a trusted string and relying on cwd.
rimraf('tmp/*.o');

A wrapper, rimraf-noglob:

var rimraf = require('rimraf-noglob');

rimraf(untrustedPath);
rimraf('/path/to/file?');
// Passing a trusted string and relying on cwd, explicitly turn on globbing.
rimraf('tmp/*.o', { glob: {}, });

Usage

rimraf(f, [opts], callback)

Same as rimraf() except that opts.glob defaults to false.

rimraf.sync(f, [opts])

Same as rimraf.sync() except that opts.glob defaults to false.

CLI

This command will be available as rimraf-noglob <path> [<path> …]. It will handle parameter expansion similarly to your favorite CLI utility. Note that your shell may perform glob expansion for you unless if you are using Windows, in which case the libc of the exec()d node process will perform shell expansion based on CommandLine. If you want to be safe, either be certain that you’re using an Operating System that has POSIX-style processes or invoke the function via JavaScript directly.

In my opinion, rimraf-noglob has less surprising behavior than rimraf:

$ touch test\* test1 test2
$ rimraf test\*
$ ls | grep -e test
test1
test2
$ rimraf test\*
$ ls | grep -e test
$

What? It removed the exact match the first time but did glob expansion the second time?

$ touch test\* test1 test2
$ rimraf-noglob test\*
$ ls | grep -e test
test1
test2
$ rimraf-noglob test\*
$ ls | grep -e test
test1
test2
$

rimraf-noglob, especially in a POSIX shell, unconditionally exhibits the behavior expected of CLI programs. It lets the shell (or, on Windows, libc) handle globbing for normal arguments.

Version

For simplicity, this package’s MAJOR.MINOR will reflect the MAJOR.MINOR of the version of rimraf it depends on and is tested against. However, if changes to this project’s API are necessary, exceptions may have to be made in the future. Those will be documented here if that is ever the case.

Please open an issue if a new version of rimraf is missing or a backport is necessary.