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

wipe-modules

v1.2.0

Published

A little agent that removes the node_modules folder of non-active projects

Downloads

28

Readme

wipe-modules Build Status

A little agent that removes the node_modules folder of non-active projects 🗑️

Why

If you're a Javascript developer, you know the node_modules directory holds thousands or even millions of files, resulting in taking a lot of space in your hard disk.

Enter wipe-modules, a little agent that wipes (eats, literally) that big node_modules directory of non-active projects.

Why in Earth would you want to have those monster-sized node_modules folders on inactive projects? You got your package.json to recreate it whenever you want, right?

Watch wipe-modules in action! 📺

Inspiration

I got the idea when I saw this Wes Bos tweet.

6 hours into a time machine restore - node_modules with millions of files is killing me pic.twitter.com/2KirOXF2v2

-- Wes Bos (@wesbos) May 1, 2017

Problem solved now! 🎉🎊

Install

Can be installed with npm, bpkg or curl.

npm

$ npm install --global wipe-modules

That's it! 😄

bpkg

$ bpkg install -g bntzio/wipe-modules

Done! 😃

curl

$ curl -L https://raw.githubusercontent.com/bntzio/wipe-modules/master/wipe-modules.sh -o ~/bin/wipe-modules && chmod +x ~/bin/wipe-modules

All set! 🙂

If you're using zsh or a different shell, make sure to have ~/bin in your $PATH.

Usage

$ wipe-modules --help

  Usage: wipe-modules [path] [days] [options]

  Path:
    The full path of your code directory

  Days:
    The days you want to set to mark projects as inactive

  Options:
    -D, --dry      Only show node_modules to be removed

  Example: wipe-modules ~/code 30

  That will remove the node_modules of your ~/code projects
  whose been inactive for 30 days or more.

Using cron

wipe-modules can be executed as a background job using using cron

To set a cron job, download the cron-file file included in the repo.

$ curl -L https://raw.githubusercontent.com/bntzio/wipe-modules/master/cron-file -o ~/Desktop/cron-file

This will download the cron-file and put it in your ~/Desktop location.

The default cron-file holds the following syntax:

0 11 * * * $HOME/bin/wipe-modules ~/code_dir 30

That is the crontab (cron table) file, it instructs cron to run the wipe-modules ~/code_dir 30 script everyday at 11:00 am.

Edit the cron-file to match your own needs, see how to set up a crontab for more info.

Note: depending on how you installed wipe-modules you need to set the correct path of the wipe-modules.sh shell script in your cron-file for cron to find and execute the script.

Now set the cron-file crontab file in cron using:

$ crontab ~/Desktop/cron-file

And you're done! 👏

To check if you've successfully added your crontab type:

$ crontab -l

It should display your crontab.

To edit a crontab, use crontab -e and to delete all crontabs use crontab -r.

Note that crontab -r will destroy all your crontabs, that's why it's a good idea to keep your crontab commands in a cron-file.

Cron is only supported in unix operating systems.

wipe-modules in action!

Watch this screencast to learn how to use wipe-modules and see what it does.

asciicast

License

MIT © Enrique Benitez