package.json has no exports field, so every compiled module under lib/ can be deep-imported: 34 runtime exports across 10 modules, against 5 from the package root. #441 deprecates them in 5.2.0, after exporting from the root the types the root API already uses. Nothing else is promoted. This issue is the v6 step that follows.
Closing the surface also makes "document the entire external API" a bounded job: a handful of exports plus the types, rather than 34 across 10 modules. It also settles, for every symbol at once, the question #429 had to argue for a single function: whether removing something that is reachable only by deep import is breaking.
Related
package.jsonhas noexportsfield, so every compiled module underlib/can be deep-imported: 34 runtime exports across 10 modules, against 5 from the package root. #441 deprecates them in 5.2.0, after exporting from the root the types the root API already uses. Nothing else is promoted. This issue is the v6 step that follows.exportsmap topackage.jsonthat exposes the package root and nothing underlib/.@xmldom/xmldom,xpathandxml-cryptodirectly for the XML helpers that public code deep-imports today (parseDomFromString,xpath,signXmlandsignSamlPost, per Deprecate deep imports underlib/, and export from the root the types its API uses #441).Closing the surface also makes "document the entire external API" a bounded job: a handful of exports plus the types, rather than 34 across 10 modules. It also settles, for every symbol at once, the question #429 had to argue for a single function: whether removing something that is reachable only by deep import is breaking.
Related
lib/, and export from the root the types its API uses #441: the 5.2.0 decision and deprecation this depends on. It has to ship first, sinceAGENTS.mdremoves only what was already deprecated.validateSignatureexport #429: removesvalidateSignature, one of thelib/xmlexports.