I maintain a library also, and the shift to ESM was incredibly painful, because you still have to ship CJS, only now you have work out how to write the code in a way that can be bundled either way, can be tested, etc etc.
Now with ESM if you write plain JS it works again. If you use Bun, it also works with TS straight away.