An interesting Unplugin that does its best to make your code run only in an ES Modules.
npm i -D unplugin-require-esmVite
// vite.config.ts
import UnpluginRequireEsm from 'unplugin-require-esm'
export default defineConfig({
plugins: [UnpluginRequireEsm.vite()],
})Rollup
// rollup.config.js
import UnpluginRequireEsm from 'unplugin-require-esm'
export default {
plugins: [UnpluginRequireEsm.rollup()],
}esbuild
// esbuild.config.js
import { build } from 'esbuild'
import UnpluginRequireEsm from 'unplugin-require-esm'
build({
plugins: [UnpluginRequireEsm.esbuild()],
})WTFPL