I've converted my arss from cjs to esm, this commit https://github.com/xriss/arss/commit/044d4e39d28421fc584a0f73d8eda2abeddb8b4a might be useful to look at if you want to do the same.
It's mostly annoying, one thing that is a bit of a gotcha is when switching your package type to module its easiest to rename your webpack.config.js to webpack.config.cjs otherwise trying to get webpack working is a nightmare.
I'm going to go through all my JS code and switch to esm as its nice to have code that will run in browsers rather than just node. This is however a scary one way act, where we must change applications first and libraries last else we will break the applications.
It's a real shame node hasn't make this almost transparent ( async everywhere and just make require work ) but I guess all of the web pack and minimize shenanigans people do with JS is just far too brittle.