Skip to content

Conversation

fullofcaffeine
Copy link
Member

Issue: #59418.

What?

This is part of a larger effort to remove __experimental prefix from all "experimental" components, effectively promoting them to regular stable components. See the related issue for more context.

Why?

The strategy of prefixing exports with __experimental has become deprecated after the introduction of private APIs.

How?

  1. Export it from components without the __experimental prefix;
  2. Keep the old __experimental export for backwards compatibility;
  3. Change all imports of the old __experimental in GB and components to the one without the prefix (including in storybook stories). Also, update the docs to refer to the new unprefixed component;
  4. Add the component storybook id (get it from the storybook URL) to the PREVIOUSLY_EXPERIMENTAL_COMPONENTS const array in manager-head.html so that old experimental story paths are redirected to the new one;
  5. Add a changelog for the change.

@fullofcaffeine fullofcaffeine added [Type] Code Quality Issues or PRs that relate to code quality [Package] Components /packages/components labels Apr 25, 2024
@fullofcaffeine fullofcaffeine self-assigned this Apr 25, 2024
@fullofcaffeine fullofcaffeine changed the title Components: Remove "experimental" designation for Theme Components: Assess stabilization of Theme Apr 30, 2024
@fullofcaffeine fullofcaffeine force-pushed the remove/wp-components-experimental-designation-for-theme branch from 41a7d8a to cda89f9 Compare May 10, 2024 01:03
@fullofcaffeine fullofcaffeine marked this pull request as ready for review May 10, 2024 01:04
@fullofcaffeine fullofcaffeine requested a review from ajitbohra as a code owner May 10, 2024 01:04
Copy link

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: fullofcaffeine <fullofcaffeine@git.wordpress.org>
Co-authored-by: mirka <0mirka00@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@fullofcaffeine fullofcaffeine merged commit b2d3dca into trunk May 10, 2024
@fullofcaffeine fullofcaffeine deleted the remove/wp-components-experimental-designation-for-theme branch May 10, 2024 01:38
@github-actions github-actions bot added this to the Gutenberg 18.4 milestone May 10, 2024
@tyxla
Copy link
Member

tyxla commented Jun 18, 2024

@mirka @WordPress/gutenberg-components do you recall why we kept Theme only as a a private API? Seems like a miss to me, did we mean to actually export it as a public API as well?

It also appears like we still claim the component to be "experimental" in the README:

This feature is still experimental. “Experimental” means this is an early implementation subject to drastic and breaking changes.

@ciampo
Copy link
Contributor

ciampo commented Jun 18, 2024

do you recall why we kept Theme only as a a private API

If I remember correctly, it was discussed that the private Theme component in @wordpress/components would be ultimately removed in favor of a separate @wordpress/theme package (see for example #56669), so that we could create theming APIs that are more comprehensive and can power all of Gutenberg's UI (instead of just the components package).

@tyxla
Copy link
Member

tyxla commented Jun 18, 2024

That makes sense, but then I fail to understand the purpose of this PR. I guess @mirka might know.

@mirka
Copy link
Member

mirka commented Jun 25, 2024

The purpose of this PR was simply to normalize the URL/grouping of the Theme component in Storybook. It's still private and will likely never be public as @ciampo says.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Package] Components /packages/components [Type] Code Quality Issues or PRs that relate to code quality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants