Promote minimal SharedTree branch APIs to beta#25744
Promote minimal SharedTree branch APIs to beta#25744Abe27342 merged 3 commits intomicrosoft:mainfrom
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR promotes the minimal set of SharedTree branch APIs from alpha to beta stability, enabling local branching workflows while maintaining backward compatibility through interface extension.
Key Changes:
- Split
TreeBranchinterface into beta (minimal) and alpha (extended) versions - Created
TreeViewBetainterface to expose beta-level branching capabilities - Added
asBeta()helper function for beta API access
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/dds/tree/src/simple-tree/api/tree.ts | Refactored TreeBranch into beta base interface and TreeBranchAlpha extension; created TreeViewBeta interface |
| packages/dds/tree/src/simple-tree/index.ts | Exported new TreeViewBeta and TreeBranchAlpha types |
| packages/dds/tree/src/simple-tree/api/index.ts | Re-exported new beta types |
| packages/dds/tree/src/shared-tree/treeAlpha.ts | Updated TreeAlpha.branch() return type to TreeBranchAlpha |
| packages/dds/tree/src/shared-tree/schematizingTreeView.ts | Updated method signatures to use TreeBranchAlpha |
| packages/dds/tree/src/api.ts | Added asBeta() function for beta API access |
| packages/dds/tree/src/index.ts | Exported TreeViewBeta, TreeBranchAlpha, and asBeta |
| packages/dds/tree/api-report/*.api.md | Updated API surface files with new beta exports |
|
I have explicitly avoided promoting all of the alpha portions of TreeViewAlpha / TreeBranch into beta here, as some of these APIs may need more stabilization. I think the remaining set is still somewhat usable. |
| } | ||
|
|
||
| /** | ||
| * A collection of functionality associated with a (version-control-style) branch of a SharedTree. |
There was a problem hiding this comment.
Nit: I think elsewhere we have generally documented more restricted API variants more like:
/**
* {@link TreeBranch} with alpha-level APIs
*/Alternatively, if the docs are identical, we could leverage an {@inheritDoc} comment.
Either way, seems like we should avoid duplicating docs when possible.
Josmithr
left a comment
There was a problem hiding this comment.
Left one nitpick, otherwise looks good to me!
Though it might be worth adding a very quick changeset noting which APIs were promoted, and that they can now be imported via /beta (for completeness).
|
🔗 Found some broken links! 💔 Run a link check locally to find them. See linkcheck output |
## Description This PR promotes the minimal set of APIs necessary to enable local branching flows in SharedTree. --------- Co-authored-by: Abram Sanderson <absander@microsoft.com>
Description
This PR promotes the minimal set of APIs necessary to enable local branching flows in SharedTree.