Sometimes these problems rise because of some differences between CJS and ESM when it comes to use .mjs -- see the difference from here: https://nodejs.org/docs/latest/api/esm.html#esm_differences_between_es_modules_and_commonjs People still shy from the .mjs and they use babel or typescript to get interoperability between the two types of modules. I think it's the future, but, for now, they use the .js and allow for ESM in their code base in whatever method is available.