HN Hall of Fame Weekly email

ES modules are terrible

gist.github.com Essays & writing Essays & articles Software engineering Candidate
Screenshot of gist.github.com captured 2026-07-20
Page preview · captured 2026-07-20

Resurfaced independently across 3 calendar years, with breakout response in 2 of them.

submissions
4
submitters
4
observed span
2021–2025
peak thread · 165 comments
172 pts
latest 20+ return · 2023-06-14
77 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

> And then people go "well you can statically analyze it better!", apparently not realizing that ESM doesn't actually change any of the JS semantics other than the import/export syntax, and that the import/export statements are equally analyzable as top-level require/module.exports. ... "But in CommonJS you can use those elsewhere too, and that breaks static analyzers!", I hear you say. Well, yes, absolutely. But that is inherent in dynamic imports, which by the way, ESM also supports with its dynamic…

xg15·172-point thread·

I disagree. What we gained is a native module system that works the same everywhere (Nodejs, browsers, deno, Bun) vs CommonJS which was really only built for Nodejs (with compatibility layers for others). We have a specification for this system and any changes done to it have to follow the same process as any other change done to the language (for better or worse). We have top-level async support that works across import boundaries. This is less useful on the…

alexghr·77-point thread·

ES modules are cancer. I'm fine w the syntax — in fact, I love the syntax. But if you use "module: true" in your package.json, you are splitting the npm ecosystem into two groups, and it's not moving us forward.

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
2

100+ points or 50+ comments

Total points
253

reference only — not used in Hall rules or ranking

Total comments
290

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2021-11-07ES modules are terribleFirst breakout · Best threadtheprotocol172165
2023-06-02ES Modules Are Terribleapeters20
2023-06-14ES Modules Are TerribleLatest 20+ point returnkesor77122
2025-10-09ES Modules Are Terriblefjcero23