A same-name re-export edge, from the re-exporting module's side.
Each entry on ModuleJson.reExports records that the module's source
contains export {name} from ... where the canonical declaration lives in
module. This is the forward view of the same fact that
alsoExportedFrom records on the canonical declaration — consumers
resolve the canonical by (module, name), the same lookup contract as
aliasOf.
Same-name re-exports of analyzed source only. Renamed re-exports appear as
declarations with aliasOf in the re-exporting module; star exports live
in ModuleJson.starExports; external re-exports in
ModuleJson.externalReExports / externalStarExports. Use
resolveExportSurface (in postprocess.ts) to combine all of these into
a module's full export surface — it handles the name dedup (a documented
same-name re-export appears both here and as a synthesized alias
declaration) and the ES star semantics (explicit exports shadow
star-projected ones, names ambiguous between stars are excluded,
default doesn't project).
module points at the *canonical* module (multi-hop chains are resolved),
not the immediate specifier in the export statement. For Svelte default-slot
re-exports (export {default} from './X.svelte'), name is the component
name derived from the filename ('X'), matching the canonical declaration's
name — the same exception documented on aliasOf. Because of that
re-keying, two entries in one module can share a name (a re-keyed
component colliding with a same-name re-export from another module);
(module, name) pairs remain unique (exact duplicates are deduped at
construction).
@nodocs on the export statement suppresses the entry (and the
alsoExportedFrom back-link). When the canonical declaration itself is
@nodocs, or the canonical module isn't part of the analyzed set, the
entry still exists but has no matching back-link — the same presence
caveat as aliasOf.module and starExports.