Hacker News new | ask | show | jobs
by oefrha 1388 days ago
It’s actually pretty annoying that some people are now going pure esm and actively removing cjs builds. There are certain libraries that don’t work with esm yet, so if you need one of those suddenly all the esm-only packages can’t be used.
1 comments

> certain libraries that don’t work with esm yet

I assume that you're talking about tools rather than libraries. Any simple library can import ESM asynchronously and any ESM packages can import CJS packages even with static imports.

Tools and Node’s strict ERR_REQUIRE_ESM have been the problem with the migration.

In my experience, you may encounter issues when you depends on pure esm package and cjs-only packages. IMHO, it is still useful to publish a cjs fallback.
You may encounter issues with mixed packages too, actually a lot more issues given that people expect `module.exports = ` and `export default` to be equal but are not.

Just save yourself some headache and publish either ESM or CJS, not both.