Node 22 lets you mix CommonJS and ESM more freely. Set "type": "module" in package.json or use the .mjs extension and import just works.
The require(esm) support behind a flag in Node 22 closes the last gap: CommonJS code can now load ES modules without a wrapper.
Top-level await works inside ESM, which makes startup scripts cleaner — no more wrapping everything in an async function main().