You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Split out from #104 (PR resolving the main exports/typesVersions entry).
Scope
#104's fix resolves the main (.) types entry from the exports map, so packages whose types live only behind exports now bind. It does not iterate the map's subpath entries.
Modern libraries expose distinct modules per subpath — @mui/material/styles, date-fns/format, per-part Radix (@radix-ui/react-dialog re-exported subpaths) — each with its own .d.ts behind an exports["./sub"] condition. Today those are never bound.
Decide the output shape: one combined output vs. one module per subpath, and how from is threaded through cli.mjs/emit.
Why deferred
This is a larger feature than the main-entry fix — it changes the generator from one module to many and touches cli.mjs + emit's @module stamping, so it wants its own design pass and fixtures rather than riding along on the resolution fix.
Split out from #104 (PR resolving the main
exports/typesVersionsentry).Scope
#104's fix resolves the main (
.) types entry from theexportsmap, so packages whose types live only behindexportsnow bind. It does not iterate the map's subpath entries.Modern libraries expose distinct modules per subpath —
@mui/material/styles,date-fns/format, per-part Radix (@radix-ui/react-dialogre-exported subpaths) — each with its own.d.tsbehind anexports["./sub"]condition. Today those are never bound.Suggested direction
exportsmap's.-prefixed keys (skipping wildcards / non-type conditions).typescondition (theexportsTypeTargetshelper from Entry resolution ignores package.json exports map, subpaths, and typesVersions #104 already does the per-node resolution) and generate bindings stamped@module("pkg/sub")instead of@module("pkg").fromis threaded throughcli.mjs/emit.Why deferred
This is a larger feature than the main-entry fix — it changes the generator from one module to many and touches
cli.mjs+ emit's@modulestamping, so it wants its own design pass and fixtures rather than riding along on the resolution fix.