This post fails to argue why you want us package publishers to offer both formats and double our workload.
I only publish ESM, which works fine in Node 16, Node 18, and Webpack 5.
Sorry should've argued on the why, but my point of view is that Node.js/JavaScript has users from all types of backgrounds, and more often than you think a "legacy" (or not too legacy) project that heavily uses CJS desperately needs a module that is only available as ESM.
There are still loads of content and tutorials teaching beginners how to use CJS, and they'll stick with it without questioning the existance of ESM, and there you have another project starting as CJS.
This post fails to argue why you want us package publishers to offer both formats and double our workload.
I only publish ESM, which works fine in Node 16, Node 18, and Webpack 5.
Sorry should've argued on the why, but my point of view is that Node.js/JavaScript has users from all types of backgrounds, and more often than you think a "legacy" (or not too legacy) project that heavily uses CJS desperately needs a module that is only available as ESM.
There are still loads of content and tutorials teaching beginners how to use CJS, and they'll stick with it without questioning the existance of ESM, and there you have another project starting as CJS.
You can call ESM module from CJS module via
import()
expression. No desperation needed.