frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

The Three Pillars of JavaScript Bloat

https://43081j.com/2026/03/three-pillars-of-javascript-bloat
63•onlyspaceghost•2h ago

Comments

turtleyacht•1h ago
It would be interesting to extend this project where opt-in folks submit a "telemetry of diffs," to track how certain dependencies needed to be extended, adapted, or patched; those special cases would be incorporated as future features and new regression tests.

Someday, packages may just be "utility-shaped holes" in which are filled in and published on the fly. Package adoption could come from 80/20 agents [1] exploring these edges (security notwithstanding).

However, as long as new packages inherit dependencies according to a human author's whims, that "voting" cycle has not yet been replaced.

[1] https://news.ycombinator.com/item?id=47472694

skydhash•1h ago
Fantastic write up!

And we're seeing rust happily going down the same path, especially with the micro packages.

sheept•1h ago
I wonder this means there could be a faster npm install tool that pulls from a registry of small utility packages that can be replaced with modern JS features, to skip installing them.
seniorsassycat•40m ago
Not sure about faster, but you could do something with overrides, especially pnpm overrides since they can be configured with plugins. Build a list of packages that can be replaced with modern stubs.

It couldn't inine them, but it could replace ponyfils with wrappers for native impls, and drop the fallback. It could provide simple modern implementations of is-string, and dedupe multiple major versions, tho that begs the question what breaking change lead to a new mv and why?

burntoutgray•1h ago
I have a single pillar, admittedly for in-house PWAs: Upgrade to the current version of Chrome then if your problem persists, we'll look into it.
zdc1•1h ago
A lot of this basically reads to me like hidden tech debt: people aren't updating their compilation targets to ESx, people aren't updating their packages, package authors aren't updating their implementations, etc.

Ancient browser support is a thing, but ES5 has been supported everywhere for like 13 years now (as per https://caniuse.com/es5).

userbinator•1h ago
The newer version is often even more bloated. This whole article just reinforces my opinion of "WTF is wrong with JS developers" in general: a lot of mostly mindless trendchasing and reinventing wheels by making them square. Meanwhile, I look back at what was possible 2 decades ago with very little JS and see just how far things have degraded.
michaelchisari•28m ago
A standard library can help, but js culture is not built in a way that lends to it the way a language like Go is.

It would take a well-respected org pushing a standard library that has clear benefits over "package shopping."

anematode•1h ago
The desire to keep things compatible with even ES6, let alone ES5 and before, is utterly bizarre to me. Then you see folks who unironically want to maintain compatibility with node 0.4, in 2025, and realize it could be way worse....

Ironically, what often happens is that developers configure Babel to transpile their code to some ancient version, the output is bloated (and slower to execute, since passes like regenerator have a lot of overhead), and then the website doesn't even work on the putatively supported ancient browsers because of the use of recent CSS properties or JS features that can't be polyfilled.

I've even had a case at work where a polyfill caused the program to break. iirc it was a shitty polyfill of the exponentiation operator ** that didn't handle BigInt inputs.

fragmede•50m ago
Just how old an Android device in the developing world do you not want to support? Life's great at the forefront of technology, but there's a balancing act to be able to support older technology vs the bleeding edge.
anematode•43m ago
I like the sentiment, but building a website that can actually function in that setting isn't a matter of mere polyfills. You need to cut out the insane bloat like React, Lottie, etc., and just write a simple website, at which point you don't really need polyfills anyway.

In other words, if you're pulling in e.g. regenerator-runtime, you're already cutting out a substantial part of the users you're describing.

hsbauauvhabzb•40m ago
I’ve been very lost trying to understand the ecosystem between es versions , typescript and everything else. It ends up being a weird battle between seemingly unrelated things like require() vs import vs async when all I want to do is compile. All while I’m utterly confused by all the build tools, npm vs whatever other ones are out there, vite vs whatever other ones are out there, ‘oh babel? I’ve heard the name but no idea what it does’ ends up being my position on like 10 build packages.

This isn’t the desire of people to build legacy support, it’s a broken, confusing and haphazard build system built on the corpses of other broken, confusing and haphazard build systems.

sipsi•12m ago
i suggess jpeg.news dot com
SachitRafa•10m ago
The cross-realm argument for packages like is-string is the one I find hardest to dismiss, but even there the math doesn't add up. The number of projects actually passing values across realms is tiny, and those projects should be the ones pulling in cross-realm-safe utilities, not every downstream consumer of every package that ever considered it. The deeper problem with Pillar 2 is that atomic packages made sense as a philosophical argument but broke down the moment npm made it trivially easy to publish. The incentive was "publish everything, let consumers pick what they need" but the reality is consumers never audit their trees,they just install and forget. So the cost that was supposed to be opt-in became opt-out by default. The ponyfill problem feels most tractable to me. A simple automated check "does every LTS version of Node support this natively?" could catch most of these. The e18e CLI is a good start but it still requires someone to run it intentionally. I wonder if something like a Renovate-style bot that opens PRs to remove outdated ponyfills would move the needle faster than waiting for maintainers to notice.
andai•5m ago
I think these are all marginal.

The main cause of bloat is not polyfills or atomic packages. The cause of bloat is bloat!

I love this quote by Antoine de Saint-Exupéry (author of the Little Prince):

"Perfection is achieved, not when there is nothing left to add, but nothing to take away."

Most software is not written like that. It's not asking "how can we make this more elegant?" It's asking "what's the easiest way to add more stuff?" The answer is `npm i more-stuff`.

The Three Pillars of JavaScript Bloat

https://43081j.com/2026/03/three-pillars-of-javascript-bloat
64•onlyspaceghost•2h ago•18 comments

Tinybox – Offline AI device 120B parameters

https://tinygrad.org/#tinybox
374•albelfio•8h ago•227 comments

Chest Fridge (2009)

https://mtbest.net/chest-fridge/
54•wolfi1•3h ago•37 comments

Some things just take time

https://lucumr.pocoo.org/2026/3/20/some-things-just-take-time/
555•vaylian•13h ago•183 comments

Professional video editing, right in the browser with WebGPU and WASM

https://tooscut.app/
172•mohebifar•6h ago•52 comments

Floci – A free, open-source local AWS emulator

https://github.com/hectorvent/floci
93•shaicoleman•6h ago•24 comments

Do Not Turn Child Protection into Internet Access Control

https://news.dyne.org/child-protection-is-not-access-control/
560•smartmic•7h ago•293 comments

Boomloom: Think with your hands

https://www.theboomloom.com
57•rasengan0•1d ago•6 comments

Bayesian statistics for confused data scientists

https://nchagnet.pages.dev/blog/bayesian-statistics-for-confused-data-scientists/
70•speckx•3d ago•18 comments

Trivy ecosystem supply chain briefly compromised

https://github.com/aquasecurity/trivy/security/advisories/GHSA-69fq-xp46-6x23
42•batch12•2d ago•12 comments

Grafeo – A fast, lean, embeddable graph database built in Rust

https://grafeo.dev/
197•0x1997•13h ago•66 comments

Electronics for Kids, 2nd Edition

https://nostarch.com/electronics-for-kids-2e
126•0x54MUR41•2d ago•23 comments

Show HN: Termcraft – terminal-first 2D sandbox survival in Rust

https://github.com/pagel-s/termcraft
98•sebosch•9h ago•16 comments

How Invisalign became the biggest user of 3D printers

https://www.wired.com/story/how-invisalign-became-the-worlds-biggest-3d-printing-company/
148•mikhael•2d ago•102 comments

Hide macOS Tahoe's Menu Icons

https://512pixels.net/2026/03/hide-macos-tahoes-menu-icons-with-this-one-simple-trick/
137•soheilpro•10h ago•41 comments

A digital resource for studying the graffiti of Herculaneum and Pompeii

https://ancientgraffiti.org/Graffiti/
6•thomassmith65•4d ago•0 comments

The paddle wheel aircraft carriers of Lake Michigan

https://signoregalilei.com/2026/03/08/the-paddle-wheel-aircraft-carriers-of-lake-michigan/
61•surprisetalk•4d ago•6 comments

Desperately Seeking Space Friends

https://reviewcanada.ca/magazine/2026/04/desperately-seeking-space-friends-review-the-pale-blue-d...
7•benbreen•2d ago•0 comments

How Ford burned $12B in Brazil (2021)

https://www.reuters.com/business/autos-transportation/how-ford-burned-12-billion-brazil-2021-05-20/
41•kaycebasques•13h ago•14 comments

Common Lisp Development Tooling

https://www.creativetension.co/posts/common-lisp-development-tooling
56•0bytematt•8h ago•10 comments

An Atlas of DRAGNs

https://www.jb.man.ac.uk/atlas/index.html
3•cenazoic•2d ago•0 comments

The Impact of AI on Game Dev Jobs. Open to Work Crisis

https://darkounity.com/blog-post?id=the-impact-of-ai-on-game-dev-jobs-open-to-work-crisis--177412...
60•hacker_13•6h ago•40 comments

Ubuntu 26.04 Ends 46 Years of Silent sudo Passwords

https://pbxscience.com/ubuntu-26-04-ends-46-years-of-silent-sudo-passwords/
335•akersten•23h ago•337 comments

Thinking Fast, Slow, and Artificial: How AI Is Reshaping Human Reasoning

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6097646
102•Anon84•12h ago•58 comments

Sandboxing: Foolproof Boundaries vs. Unbounded Foolishness (2025)

https://spawn-queue.acm.org/doi/10.1145/3733699
12•antlai•4d ago•0 comments

Show HN: Atomic – Self-hosted, semantically-connected personal knowledge base

https://github.com/kenforthewin/atomic
66•kenforthewin•8h ago•10 comments

Ant Mill

https://en.wikipedia.org/wiki/Ant_mill
12•thunderbong•1h ago•2 comments

ZJIT removes redundant object loads and stores

https://railsatscale.com/2026-03-18-how-zjit-removes-redundant-object-loads-and-stores/
79•tekknolagi•3d ago•13 comments

Meta's Omnilingual MT for 1,600 Languages

https://ai.meta.com/research/publications/omnilingual-mt-machine-translation-for-1600-languages/?...
121•j0e1•3d ago•32 comments

Books of the Century by Le Monde

https://standardebooks.org/collections/le-mondes-100-books-of-the-century
109•zlu•3d ago•64 comments