[api-extractor] Don't export trimmed namespace members during rollup #2793
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #2791.
Details
Adds a check to
_generateTypingsFileContent
when emitting namespaces that skips over trimmed members.How it was tested
Added a
NamespaceWithTrimming
module toapi-extractor-test-04
which gets imported/exported like this:The module itself contains 3 definitions:
Before the fix, the rollup would generate an invalid beta (and public) rollup, which would cause the test's
beta-consumer
to fail due to the.d.ts
trying to exportNS_INTERNAL
which wasn't emitted, like this:With this fix, the namespace won't export its members which get trimmed:
In the public rollup, it would also omit
NS_PUBLIC
, which isn't automatically tested but is practically the identical use case covered bybeta-consumer
validating whetherNS_INTERNAL
is properly trimmed.