Skip to content
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

Components: Assess stabilization of Theme #61077

Merged

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
packages/components/CHANGELOG.md Outdated Show resolved Hide resolved
@fullofcaffeine fullofcaffeine changed the title Components: Remove "experimental" designation for 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
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
64 checks passed
@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
4 participants