So you've got a package that already works in the ecosystem and node v14 with its native ESM support is about to go LTS and you've got users asking you to support node v14+ native ESM.
Here's the cheap way: wrap it.
In package.json, use conditional exports to point at a
import and your usual
main export for
Then in the new
wrapper.mjs take advantage of node's commonjs/esm interop to re-export the exports. Note that you will have to import the default export for commonjs compatibility reasons.