enable conditional exports (#4448)
bun, module, module-sync => ESM
deno, node and require => CJS
default => ESM.
node (in versions that do not support module-sync) point sto CJS even when using import so as to avoid the dual-package hazard.
deno also points to cjs, even though it supports require(esm), see https://github.com/denoland/deno/issues/29970
the require condition points to CJS just because our default is otherwise now ESM.