▍ issue 001 · 2026 · npm desk filed under: weights
the npm scale that knows your sins
Bundlephobia, with teeth. Drop in any npm package and we'll tell you what it really costs — minified, brotli'd at quality 11, and the entire transitive dep tree drawn out in wires.
weighs less than what it judges · no ads · no cookies
▍open a case
type a package or expression
▍the docket
updates hourly
▍start with one of these
curated
▍the e18e desk
community-flagged swaps · e18e.dev ↗
the ecosystem-performance community keeps a list of packages worth swapping. the desk weighs them against their suggested replacements — click a row and watch the numbers fall in.
- axios → ofetch the XHR wrapper era weigh →
- moment → date-fns the dates and the desk weigh →
- lodash → es-toolkit a kitchen sink replaced weigh →
- chalk → picocolors colors, lightly worn weigh →
- bcrypt → bcryptjs native gymnastics weigh →
- jsonwebtoken → jose tokens, modernized weigh →
- traverse → neotraverse a fresh trail weigh →
- yargs → sade argv on a diet weigh →
▍the language
three operators
react- a single package
react+vue- two combined — sum the weight
react|vue- two compared — one column each
react+react-dom | vue | svelte- three columns, first is a combo
(react+vue) | svelte+kit- parens, in case precedence isn't obvious
+ binds tighter than |. Same shape as && binds tighter than || in your code.
▍what you get
three things
01
real bundles, real brotli at quality 11. no webpack-stats math, no estimates.
02
tree for the meticulous, wire-graph for the dramatic. every transitive dep weighed.
03
weigh real-world combos in one shot. shared deps light up amber so you see the double-pay.























