All Projects → styfle → Packagephobia

styfle / Packagephobia

Licence: mit
⚖️ Find the cost of adding a new dependency to your project

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Packagephobia

Ngx Smart Modal
Modal/Dialog component crafted for Angular
Stars: ✭ 256 (-76.94%)
Mutual labels:  hacktoberfest, npm, npm-package, npm-module
Reactopt
A CLI React performance optimization tool that identifies potential unnecessary re-rendering
Stars: ✭ 1,975 (+77.93%)
Mutual labels:  npm, npm-package, npm-module
Homebridge Wol
A Wake on Lan plugin for Homebridge
Stars: ✭ 150 (-86.49%)
Mutual labels:  npm, npm-package, npm-module
Rando.js
The world's easiest, most powerful random function.
Stars: ✭ 659 (-40.63%)
Mutual labels:  npm, npm-package, npm-module
Tplink Cloud Api
A node.js npm module to remotely control TP-Link smartplugs (HS100, HS110) and smartbulbs (LB100, LB110, LB120, LB130) using their cloud web service (no need to be on the same wifi/lan)
Stars: ✭ 96 (-91.35%)
Mutual labels:  npm, npm-package, npm-module
React Ckeditor
CKEditor component for React with plugin and custom event listeners support
Stars: ✭ 124 (-88.83%)
Mutual labels:  npm, npm-package, npm-module
Jsonexport
{} → 📄 it's easy to convert JSON to CSV
Stars: ✭ 208 (-81.26%)
Mutual labels:  npm, npm-package, npm-module
Package.json
文件 package.json 的说明文档。
Stars: ✭ 67 (-93.96%)
Mutual labels:  npm, npm-package, npm-module
Awesome Node Utils
some useful npm packages for nodejs itself
Stars: ✭ 51 (-95.41%)
Mutual labels:  npm, npm-package, npm-module
Singlespotify
🎵 Create Spotify playlists based on one artist through the command line
Stars: ✭ 254 (-77.12%)
Mutual labels:  npm, npm-package, npm-module
Bundlephobia
🏋️ Find out the cost of adding a new frontend dependency to your project
Stars: ✭ 6,640 (+498.2%)
Mutual labels:  cost, npm-package, performance
Cpx
A cli tool to watch and copy file globs.
Stars: ✭ 394 (-64.5%)
Mutual labels:  npm, npm-package, npm-module
Event Target Shim
An implementation of WHATWG EventTarget interface, plus few extensions.
Stars: ✭ 89 (-91.98%)
Mutual labels:  npm, npm-package, npm-module
Eslint Plugin Node
Additional ESLint's rules for Node.js
Stars: ✭ 740 (-33.33%)
Mutual labels:  npm, npm-package, npm-module
Webcam Easy
javascript access webcam stream and take photo
Stars: ✭ 79 (-92.88%)
Mutual labels:  npm, npm-package, npm-module
Darkmode.js
🌓 Add a dark-mode / night-mode to your website in a few seconds
Stars: ✭ 2,339 (+110.72%)
Mutual labels:  npm, npm-package, npm-module
Ts ci
✅ Continuous integration setup for TypeScript projects via GitHub Actions.
Stars: ✭ 225 (-79.73%)
Mutual labels:  npm, npm-package, npm-module
Eslint Plugin Vue
Official ESLint plugin for Vue.js
Stars: ✭ 3,592 (+223.6%)
Mutual labels:  npm, npm-package, npm-module
Npm Run All
A CLI tool to run multiple npm-scripts in parallel or sequential.
Stars: ✭ 4,496 (+305.05%)
Mutual labels:  npm, npm-package, npm-module
Mevn Cli
Light speed setup for MEVN(Mongo Express Vue Node) Apps
Stars: ✭ 696 (-37.3%)
Mutual labels:  hacktoberfest, npm-package

Package Phobia

tests uptime lgtm style: prettier

  • ⚖️ Find the cost of adding a new dependency to your project
  • 🕗 Save yourself time and disk space with this web app
  • 📈 Detect javascript bloat over time with a chart
  • 🛡️ Get a badge/shield for your README
  • 📡 Fetch size from json API to integrate into any tool

...as seen on 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 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!

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?

  • Package Phobia THIS TOOL web app that reports the install size of a package over time.
  • Bundle Phobia web app that reports the size after webpack bundles the package over time.
  • Cost Of Modules cli that reports the size of your currently installed packages.
  • Badge Size badge service that reports the gzip size of a single file from a package as svg.
  • Size Limit cli that fails if the bundled (or non-bundled) size of your app is too large.
  • Bundle Size cli that fails CI if a file's size is too large.
  • Package Size cli that compares the bundle size of multiple packages.
  • npm Size cli that compares the npm install size of multiple packages.
  • Require So Slow cli that traces the time of each require module in a node.js app.
  • Why Bundled? cli that uses webpack stats to show your number of imports and package size.
  • Do you even lift? - cli that reports size after rollup bundles the package via npm team.
  • Import Cost extension (and cli) that displays package size inline in the editor.
  • npm Download Size web app that reports the download size (network traffic) of a package.
  • npm Download Size cli cli that reports the download size (network traffic) of a package.
  • Build Size - GitHub App that comments on a PR with the size of your build artifacts
  • Pkg Size - web app that displays package size and file count over time (static data only)

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.

| thomasfuchs | ben_a_adams | devrant | turnoff.us | styfle | davej | FredyC | tomitrescak | maybekatz | hichaelmart | brad_frost | Bryan_Chapel | getabitlit | iamdevloper | rickhanlonii |

Contributing

See CONTRIBUTING.md and CODE_OF_CONDUCT.md before you start writing any code

Sponsors

Author

Developed by styfle

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].