Package Phobia reports the size of an npm package before you install it.
This is useful for inspecting potential dependencies or devDependencies without using up precious disk space or waiting minutes for npm install. Ain't nobody got time for dat.
Results are saved so the first person might wait a bit to view package size, but everyone else gets to see the results instantly!
"
Package Phobia
...as seen on AWS Developer Tools Blog and npm weekly and ponyfoo weekly and habr and rwpod and wolf report and the changelog and all over twitter
What is the purpose?
Package Phobia reports the size of an npm package before you install it.
This is useful for inspecting potential
dependencies
ordevDependencies
without using up precious disk space or waiting minutes fornpm install
. Ain't nobody got time for dat.Results are saved so the first person might wait a bit to view package size, but everyone else gets to see the results instantly!
Demo
A good use case might be comparing test runners, web frameworks, or even bundlers. Click one of the links below to see Package Phobia in action!
API
If you would like to use the Package Phobia API in your project, please create a PR modifying API Users.
See API.md for more usage details.
Prior Art
Package Phobia is inspired by Bundle Phobia and Cost Of Modules.
How is this different?
require
module in a node.js app.Why is the size different than size on disk?
Did you install a package and compare the size on disk with the size reported on Package Phobia?
This number will likely be different because Package Phobia doesn't know anything about your hard drive so it can't predict how blocks are allocated.
Packages are known to contain many small
.js
files which can actually use up a lot of disk space, more than if there was one large, contiguous file.See this question for more details.
What are the long term goals?
Ideally, this information could be listed on npmjs.com, npms.io, or bundlephobia.com.
Below are the relevant feature requests for each website.
Hopefully, this would lead to publishers taking notice of their bloated packages such as the following:
npm dependencies in the media
I'm not the first one to notice npm packages are snowballing into bloated dependencies of dependencies.
Below are some other users who comically point out this JS bloat.
Contributing
See CONTRIBUTING.md and CODE_OF_CONDUCT.md before you start writing any code
Sponsors
Author
Developed by styfle"