-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ServiceBus] enable beta-trimmed api-extractor dts rollup #21872
[ServiceBus] enable beta-trimmed api-extractor dts rollup #21872
Conversation
in public-trimmed dts rollup, @beta APIs are removed. Because we only ship public-trimmed version it prevents us from gathering feedback for @beta APIs. This PR enable generation of beta-trimmed dts rollup. We still need a piece in the publishing process to use the proper version depending on whether we are releasing a beta/dev version or not.
@praveenkuttappan I am thinking that we could overwrite
Is this possible? Or anyone has other suggestions? |
This is interesting. I know Office (and rush itself) publishes special "plusbeta" versions of their packages that contain the beta surface area. Maybe after you collect feedback from EngSys and folks on the team we can schedule an arch board? I'd be curious for feedback from the architects on this one. also /cc @bterlson |
API change check for API changes are not detected in this pull request for |
Yeah, I forgot to add the link to the doc https://api-extractor.com/pages/setup/configure_rollup/. It's recommended either updating typing field (causing package.json code churn), or overwriting |
This is interesting and I like it overall! There are other teams like Cosmos which need Beta api management and I think we can come up with general guidance using this approach. Is our current structure I think there are some customers that are interested in trying out some Beta features but the rest of the library needs to be stable, here's where a new class of relases will be useful |
Current we use If we are adding another class of preview version:
I am not sure whether we need the distinctions right now. Another question is that the @beta APIs can still be used in JavaScript, even it's not exposed in the typing. Do we consider them as public API surface or not? |
Thinking a bit more, now I feel that we should have the source code to be consistent (as much as we can) with the published package so updating package.json sounds better to me. |
|
So for beta releases we want to use the beta-trimmed version. For GA releases, if we want to surface @beta APIs, we would also need to use the beta-trimmed version. |
API change check API changes are not detected in this pull request. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It makes to me to do this for a beta release.
For the stable release, I would vote to not use the beta trimmed typing.
I was talking to @KarishmaGhiya about this - I think one potential solution is to augment our release pipeline to do something like:
Does this sound workable? |
Will this address Cosmos team's desire of using beta api in GA packages? I thought they wanted to ship the whole library as GA with some Beta features included. |
Cosmos specifically might decide to not exclude beta from their GA packages rather than publishing a separate version, but I think that will be an exception for them rather than what we'd recommend as best practice. |
I am merging this PR so we can release a package. We should continue the discussion either here or in a new issue. |
in public-trimmed dts rollup, @beta APIs are removed. Because we only ship
public-trimmed version it prevents us from gathering feedback for @beta APIs.
This PR enable generation of beta-trimmed dts rollup.
We still need the piece in the publishing process to use the proper version
depending on whether we are releasing a beta/dev version or not.