Skip to content

Add Ability to Annotate Sub-Package Exports As "Internal" #23343

@spmonahan

Description

@spmonahan

Problem

The @fluentui/react-components package represents the officially supported public API surface of Fluent UI React v9 yet it is composed on many "sub-packages" that are published on npm and follow semantic versioning, effectively making the APIs of these sub-packages part of Fluent's public API as well. Yet we don't always re-export an entire sub-package's API from @fluentui/react-components as parts of these APIs are meant for internal use only.

For example, @fluentui/react-components imports @fluentui/react-utilities and then re-exports some of its exports. Some of the exports from react-utilities are only meant for internal use and are not part of the public API but we have no way of communicating this to users our even within the Fluent UI team.

Appetite

3~4 weeks. We should have a solution prior to the release of v9 stable at the end of June.

Solution

Provide a mechanism to mark exports from a sub-package as "internal only".

Risks (Rabbit holes)

Out of scope (No-gos)

  1. No breaking changes allowed

Related

Tasks

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions