Joyee Cheung made some waves in Node land last month:
Since ESM was shipped in Node.js, for many years, it was possible to
import cjs
, but not possible torequire(esm)
. The frustration ofERR_REQUIRE_ESM
has bothered many and probably has been the primary source of wasted hours in the Node.js ecosystem. If package authors wanted to make sure that both CJS and ESM users can consume their package, they either had to continue shipping their modules as CJS, or ship both the CJS and ESM version
Apparently, it will go out in v22, which isn’t out yet but should be soon.
It seems to me this should alleviate some of the pain the Node world is still feeling where projects and their dependencies are still a mix of both. But the true impact remains to be seen. Will you be upgrading to v22 to soothe any pain of your own?
Yes I need to upgrade to v22 asap, due to maxsocket bug in v21… Causing unstable GitLab CI/CD runs.