This is a playground
to test code. It runs a full Node.js
environment and already has all of npm
’s 400,000 packages pre-installed, including space-hogs
with all npm
packages installed. Try it out:
require()
any package directly from npmawait
any promise instead of using callbacks (example)This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.
Discover surprisingly large directories from the command line.
~/projects/npm $ space-hogs
151 MB ~/projects/npm
Largest children directories, each larger than 9 MB
├── 31 MB [▒ ] /.git
├── 9 MB [▒ ] /node_modules/npm-registry-couchapp/node_modules
├── 12 MB [▒ ] /node_modules/tap/node_modules/nyc/node_modules
├── 20 MB [▒ ] /node_modules/standard/node_modules/standard-engine/node_modules/eslint/node_modules
├── 17 MB [▒ ] /node_modules/standard/node_modules/standard-format/node_modules/esformatter-jsx/node_modules/babel-core/node_modules
└── 62 MB [▒▒ ] (everything else)
151 MB Total
~/projects/npm $ space-hogs node_modules 5 --depth=0
114 MB ~/projects/npm/node_modules
Largest children directories, each larger than 5 MB
├── 6 MB [▒ ] /node-gyp
├── 11 MB [▒ ] /npm-registry-couchapp
├── 27 MB [▒ ] /tap
├── 56 MB [▒▒ ] /standard
└── 13 MB [▒ ] (everything else)
114 MB Total
$ npm i -g space-hogs
$ space-hogs --help
Usage
space-hogs [path] [size] [--depth=number]
Options
directory Directory to scan. Defaults to the current directory.
size Minimum size in MB. Defaults to 6% of the total MB.
--depth=number Number of sub-directories to dive into. 0 = none. Defaults to all.
Examples
$ space-hogs
$ space-hogs node_modules 5 --depth=0
$ space-hogs 1000
I'm happy to take contributions.
Here's some ideas:
du
for calculating disk usage. This won't work in Windows.du
using native code. Ideas?/usr/
.--debug
and to get some debug info that will be helpful for creating tickets.Super awesome and prolific node module creator Sindre Sorhus has a repo for sharing ideas for new modules. On Feb 10, 2016, I submitted a proposal for space-hogs: cli for discovering surprisingly large directories. There was a lot of interest, but nobody else created it, so I decided to see if I could.
Hi! My name is Dylan Greene. When not overwhelmed with my two young kids I enjoy contributing
to the open source community. I'm also a tech lead at Opower.
MIT © Dylan Greene