When using export *, if multiple source modules export the same name, that name is excluded from the re-exports.
This is explicitly defined in the ECMAScript spec.
Why This Design? This approach avoids implicit and unpredictable shadowing.
Some examples:
If JavaScript had picked bar from c.mjs because it's listed later, that would make module behavior fragile and order-dependent.
If it had thrown an error, it could make using export * a lot more annoying in large module graphs (forcing manual filtering).
Silently excluding ambiguous exports ensures that re-exporting modules don't accidentally pick conflicting definitions.