例えば Babel のこれ
https://cdn.skypack.dev/-/@babel/helper-module-imports@v7.18.6-gIt8Nv6hvQGBlVjZbvtT/dist=es2020,mode=imports/optimized/@babel/helper-module-imports.js

ソースコードはこれ
普通に assert をインポートして使ってるだけ
https://github.com/babel/babel/blob/v7.18.8/packages/babel-helper-module-imports/src/import-injector.ts

Node.js の assert は関数で ok, fail 等のプロパティに関数を持ってる
skypack の出力を見ると assert は関数でプロパティに ok などの関数をもってる
だけど assert$1 というのを作ってこっちはただのオブジェクト

var assert$1 = /* @__PURE__ */ Object.freeze({
__proto__: null,
default: assert,
AssertionError,
fail,
ok,
assert: ok,
equal,
notEqual,
deepEqual,
deepStrictEqual,
notDeepEqual,
notDeepStrictEqual,
strictEqual,
notStrictEqual,
throws,
doesNotThrow,
ifError
});

これを関数として呼び出してるので assert 箇所でエラーが起きる
default とかあるし export 用オブジェクトみたい

Rollup で自分でバンドルすればこの問題は起きなかったけど process や global 等の Node.js のグローバル変数がなかったり 循環参照が発生するせいで undefined のプロパティを参照する箇所があったり
グローバル変数問題はプラグインがあるかもだけど globalThis にそれっぽいプロパティを入れて対処
循環参照は自動でできないならどうしようもないのでコードを見ながら手作業で修正
どうにか動くようにできたけどすごく面倒
unpkg は ESM なら ?module で解決できるようにしてくれるけど CJS だとそのままになる

ブラウザで動くようにしてくれるサービスがもっと増えてほしい