The whole Nodejs ESM thing is the result of a bunch of different parties - Node, Typescript, Babel/Webpack/etc - with a lot of influence over the ecosysten with conflicting priorities. This is the price of truely "open" standards. One of the reasons why it's such a mess was due to bending over backwards maintain backwards compatibility.
It's a mess. It's frustrating as a user/developer. Go has it significantly easier by having just one central organising factor behind the ecosystem. If there were multiple Go implementations, some moving faster on the spec (or even ahead of it) than others, then you would find the same pain there also.
It's a mess. It's frustrating as a user/developer. Go has it significantly easier by having just one central organising factor behind the ecosystem. If there were multiple Go implementations, some moving faster on the spec (or even ahead of it) than others, then you would find the same pain there also.