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

Audit experimental APIs (WP 5.7) #28157

Closed
noisysocks opened this issue Jan 13, 2021 · 6 comments
Closed

Audit experimental APIs (WP 5.7) #28157

noisysocks opened this issue Jan 13, 2021 · 6 comments
Labels
[Type] Tracking Issue Tactical breakdown of efforts across the codebase and/or tied to Overview issues.

Comments

@noisysocks
Copy link
Member

noisysocks commented Jan 13, 2021

This issue lists all experimental APIs in the editor. Are there any that can be made stable? Are there any that can be removed? cc. @WordPress/gutenberg-core

I generated this by running this script:

#!/bin/bash
for dir in packages/* lib; do
	results=$( rg -g "!*.md" --only-matching --no-filename "__experimental\w+" "$dir" | sort | uniq )
	if [[ -n $results ]]; then
		printf '\n## `%s`\n\n' $dir
		for result in $results; do
			printf '[`%s`](/WordPress/gutenberg/search?q=%s)\n' $result $result
		done
	fi
done

It over-reports because it is just a dumb regex. But doing it this way means that hooks and props are included which is kind of nice.


packages/annotations

__experimentalAddAnnotation
__experimentalCreateOnChangeEditableValue
__experimentalCreatePrepareEditableTree
__experimentalGetAllAnnotationsForBlock
__experimentalGetAnnotations
__experimentalGetAnnotationsForBlock
__experimentalGetAnnotationsForRichText
__experimentalGetPropsForEditableTreeChangeHandler
__experimentalGetPropsForEditableTreePreparation
__experimentalRemoveAnnotation
__experimentalRemoveAnnotationsBySource
__experimentalUpdateAnnotationRange

packages/block-directory

__experimentalInserterMenuExtension

packages/block-editor

__experimentalAlignmentMatrixControl
__experimentalAppenderTagName
__experimentalBlock
__experimentalBlockAlignmentMatrixToolbar
__experimentalBlockDirectory
__experimentalBlockFullHeightAligmentToolbar
__experimentalBlockNavigationBlockFill
__experimentalBlockNavigationEditor
__experimentalBlockNavigationTree
__experimentalBlockPatternCategories
__experimentalBlockPatterns
__experimentalBlockSettingsMenuFirstItem
__experimentalBlockVariationPicker
__experimentalBlockVariationTransforms
__experimentalBlocks
__experimentalBorder
__experimentalBoxControl
__experimentalCanUserUseUnfilteredHTML
__experimentalCaptureToolbars
__experimentalColor
__experimentalColorGradientControl
__experimentalDragComponent
__experimentalEditorSkeleton
__experimentalFeatures
__experimentalFetchLinkSuggestions
__experimentalFontAppearanceControl
__experimentalFontFamily
__experimentalFontFamilyControl
__experimentalFontStyle
__experimentalFontWeight
__experimentalGetAccessibleBlockLabel
__experimentalGetActiveBlockIdByBlockNames
__experimentalGetAllowedBlocks
__experimentalGetBlockLabel
__experimentalGetBlockListSettingsForBlocks
__experimentalGetGradientClass
__experimentalGetGradientObjectByGradientValue
__experimentalGetLastBlockAttributeChanges
__experimentalGetMatchingVariation
__experimentalGetParsedReusableBlock
__experimentalGetPreviewDeviceType
__experimentalGradientPicker
__experimentalGradientPickerControl
__experimentalGradientPickerPanel
__experimentalHandleURLSuggestions
__experimentalImageSizeControl
__experimentalImageURLInputUI
__experimentalInitialIndex
__experimentalInserterMenuExtension
__experimentalInsertionIndex
__experimentalIsQuick
__experimentalLayout
__experimentalLibrary
__experimentalLinkControl
__experimentalLinkControlSearchInput
__experimentalLinkControlSearchItem
__experimentalLinkControlSearchResults
__experimentalLive
__experimentalNoWrapper
__experimentalOnClick
__experimentalOnIndexChange
__experimentalOnReady
__experimentalOnlyMediaLibrary
__experimentalPadding
__experimentalPanelColorGradientSettings
__experimentalParentSelector
__experimentalPreferredStyleVariations
__experimentalPreviewOptions
__experimentalRenderControl
__experimentalRenderSuggestions
__experimentalResponsiveBlockControl
__experimentalReusableBlocks
__experimentalRichText
__experimentalScalingDelay
__experimentalSearchForm
__experimentalSelectBlock
__experimentalSelectBlockOnInsert
__experimentalSelector
__experimentalSetIsInserterOpened
__experimentalShouldInsertAtTheTop
__experimentalShowInitialSuggestions
__experimentalSpotlightEntityBlocks
__experimentalTextDecoration
__experimentalTextTransform
__experimentalToolbar
__experimentalToolbarContext
__experimentalTreeGrid
__experimentalTreeGridCell
__experimentalTreeGridItem
__experimentalTreeGridRow
__experimentalUndo
__experimentalUnitControl
__experimentalUpdateSelection
__experimentalUseColors
__experimentalUseEditorFeature
__experimentalUseGradient
__experimentalUseInnerBlocksProps
__experimentalUseResizeCanvas
__experimentalUseSimulatedMediaQuery
__experimentalUseSlot
__experimentalVersion

packages/block-library

__experimentalAppenderTagName
__experimentalBlockAlignmentMatrixToolbar
__experimentalBlockFullHeightAligmentToolbar
__experimentalBlockNavigationTree
__experimentalBlockVariationPicker
__experimentalBorder
__experimentalBoxControl
__experimentalCaptureToolbars
__experimentalConvert
__experimentalConvertBlockToStatic
__experimentalFeatures
__experimentalFontFamily
__experimentalFontStyle
__experimentalFontWeight
__experimentalGetCoreBlocks
__experimentalGetGradientClass
__experimentalGetMatchingVariation
__experimentalGetSettings
__experimentalImageSizeControl
__experimentalImageURLInputUI
__experimentalLabel
__experimentalLayout
__experimentalLinkControl
__experimentalLive
__experimentalNumberControl
__experimentalOnClick
__experimentalPanelColorGradientSettings
__experimentalRegisterExperimentalCoreBlocks
__experimentalSearchForm
__experimentalSelector
__experimentalShowTooltip
__experimentalTextDecoration
__experimentalTextTransform
__experimentalTooltipProps
__experimentalUnitControl
__experimentalUseEditorFeature
__experimentalUseGradient
__experimentalUseInnerBlocksProps
__experimentalVersion

packages/blocks

__experimentalBorder
__experimentalConvert
__experimentalFontFamily
__experimentalFontStyle
__experimentalFontWeight
__experimentalGetAccessibleBlockLabel
__experimentalGetBlockLabel
__experimentalLabel
__experimentalTextDecoration
__experimentalTextTransform

packages/components

__experimentalAlignmentMatrixControl
__experimentalBoxControl
__experimentalColorEdit
__experimentalCustomGradientPicker
__experimentalDimensionControl
__experimentalDragComponent
__experimentalFetchLinkSuggestions
__experimentalGetSettings
__experimentalGradientPicker
__experimentalInputControl
__experimentalIsFocusable
__experimentalNavigation
__experimentalNavigationBackButton
__experimentalNavigationGroup
__experimentalNavigationItem
__experimentalNavigationMenu
__experimentalNumberControl
__experimentalRadio
__experimentalRadioGroup
__experimentalShowTooltip
__experimentalText
__experimentalToolbarContext
__experimentalTooltipProps
__experimentalTreeGrid
__experimentalTreeGridCell
__experimentalTreeGridItem
__experimentalTreeGridRow
__experimentalUnitControl
__experimentalUseDragging
__experimentalUseFocusOutside
__experimentalUseSlot

packages/compose

__experimentalUseDialog
__experimentalUseDragging
__experimentalUseFocusOutside
__experimentalWidthProvider

packages/core-data

__experimentalGetDirtyEntityRecords
__experimentalGetEntityRecordNoResolver
__experimentalGetTemplateForLink

packages/data

__experimentalListeningStores
__experimentalMarkListeningStores
__experimentalResolveSelect
__experimentalSubscribeStore

packages/date

__experimentalGetSettings

packages/e2e-tests

__experimentalAddAnnotation
__experimentalConvert
__experimentalRemoveAnnotationsBySource
__experimentalUpdateLocalAutosaveInterval

packages/edit-navigation

__experimentalBlockNavigationTree
__experimentalExpandedControl
__experimentalFeatures
__experimentalFetchLinkSuggestions
__experimentalIsFocusable
__experimentalRegisterExperimentalCoreBlocks
__experimentalResolveSelect

packages/edit-post

__experimentalBlockSettingsMenuFirstItem
__experimentalFullscreenModeClose
__experimentalGetPreviewDeviceType
__experimentalGetTemplateForLink
__experimentalLibrary
__experimentalLocalAutosaveInterval
__experimentalMainDashboardButton
__experimentalPreferredStyleVariations
__experimentalPreviewOptions
__experimentalRegisterExperimentalCoreBlocks
__experimentalSetIsInserterOpened
__experimentalSetPreviewDeviceType
__experimentalUpdateLocalAutosaveInterval
__experimentalUseDialog
__experimentalUseResizeCanvas
__experimentalUseSlot

packages/edit-site

__experimentalBoxControl
__experimentalColorEdit
__experimentalFeatures
__experimentalFetchLinkSuggestions
__experimentalFontAppearanceControl
__experimentalFontFamilyControl
__experimentalGetActiveBlockIdByBlockNames
__experimentalGetBlockLabel
__experimentalGetDefaultTemplateTypes
__experimentalGetDirtyEntityRecords
__experimentalGetPreviewDeviceType
__experimentalGetTemplateForLink
__experimentalGetTemplateInfo
__experimentalGlobalStylesBaseStyles
__experimentalGlobalStylesUserEntityId
__experimentalLibrary
__experimentalLinkControl
__experimentalMainDashboardButton
__experimentalNavigation
__experimentalNavigationBackButton
__experimentalNavigationGroup
__experimentalNavigationItem
__experimentalNavigationMenu
__experimentalNavigationToggle
__experimentalNoWrapper
__experimentalPanelColorGradientSettings
__experimentalPreviewOptions
__experimentalRegisterExperimentalCoreBlocks
__experimentalSelector
__experimentalSetIsInserterOpened
__experimentalSetPreviewDeviceType
__experimentalSpotlightEntityBlocks
__experimentalText
__experimentalUseDialog
__experimentalUseResizeCanvas
__experimentalUseSlot

packages/edit-widgets

__experimentalGetCoreBlocks
__experimentalGetDirtyEntityRecords
__experimentalInsertionIndex
__experimentalLabel
__experimentalLibrary
__experimentalParentSelector
__experimentalRegisterExperimentalCoreBlocks
__experimentalResolveSelect
__experimentalReusableBlocks
__experimentalSetIsInserterOpened
__experimentalToolbar
__experimentalUseDialog

packages/editor

__experimentalBlockDirectory
__experimentalBlockPatternCategories
__experimentalBlockPatterns
__experimentalCanUserUseUnfilteredHTML
__experimentalFeatures
__experimentalFetchLinkSuggestions
__experimentalGetDefaultTemplateType
__experimentalGetDefaultTemplateTypes
__experimentalGetDirtyEntityRecords
__experimentalGetSettings
__experimentalGetTemplateInfo
__experimentalGlobalStylesBaseStyles
__experimentalGlobalStylesUserEntityId
__experimentalLocalAutosaveInterval
__experimentalPreferredStyleVariations
__experimentalRequestPostUpdateFinish
__experimentalRequestPostUpdateStart
__experimentalReusableBlocks
__experimentalRichText
__experimentalSetIsInserterOpened
__experimentalShouldInsertAtTheTop
__experimentalTearDownEditor
__experimentalUndo
__experimentalUpdateLocalAutosaveInterval

packages/element

__experimentalCreateInterpolateElement

packages/format-library

__experimentalLinkControl
__experimentalUseEditorFeature

packages/reusable-blocks

__experimentalConvertBlockToStatic
__experimentalConvertBlocksToReusable
__experimentalDeleteReusableBlock
__experimentalIsEditingReusableBlock
__experimentalReusableBlocks
__experimentalSetEditingReusableBlock

packages/rich-text

__experimentalCreateOnChangeEditableValue
__experimentalCreatePrepareEditableTree
__experimentalGetPropsForEditableTreeChangeHandler
__experimentalGetPropsForEditableTreePreparation
__experimentalRichText

lib

__experimentalBlockPatternCategories
__experimentalBlockPatterns
__experimentalBorder
__experimentalFeatures
__experimentalFontFamily
__experimentalFontStyle
__experimentalFontWeight
__experimentalGlobalStylesBaseStyles
__experimentalGlobalStylesUserEntityId
__experimentalNoWrapper
__experimentalSelector
__experimentalTextDecoration
__experimentalTextTransform

@noisysocks noisysocks added the [Type] Tracking Issue Tactical breakdown of efforts across the codebase and/or tied to Overview issues. label Jan 13, 2021
@gziolo
Copy link
Member

gziolo commented Jan 13, 2021

packages/eslint-plugin section can be removed. There is an ESLint rule now that finds experimental and unstable APIs in source code. It's a simplified version of the search strategy used to create this issue 😃

@gziolo
Copy link
Member

gziolo commented Jan 13, 2021

@nosolosw and @jorgefilipecosta do you think that __experimentalUseEditorFeature can be promoted to the stable API? Many individual features are still experimental, but if we have a solid list of final features then we could promote them as part of the WordPress 5.7 release.

@jorgefilipecosta
Copy link
Member

@nosolosw and @jorgefilipecosta do you think that __experimentalUseEditorFeature can be promoted to the stable API? Many individual features are still experimental, but if we have a solid list of final features then we could promote them as part of the WordPress 5.7 release.

I think we are not yet ready to stabilize __experimentalUseEditorFeature. This week we decided on some changes to the setting structure. We will have new settings to control visibility, the impact of these settings on __experimentalUseEditorFeature calls is not yet clear. But, I think it may have some impact, so I would not stabilize __experimentalUseEditorFeature until the settings themselves are also stable.

@noisysocks
Copy link
Member Author

Closing this as it doesn't seem that there's any action to take.

@adamziel
Copy link
Contributor

adamziel commented Apr 1, 2022

Ha, we've got to the point where that log is longer than GitHub's character limit for an issue:

CleanShot 2022-04-01 at 15 24 50

I took the liberty of updating the script posted by @noisysocks to generate URLs starting with / and not https://github.com to make the output shorter.

@noisysocks
Copy link
Member Author

I took the liberty of updating the script posted by @noisysocks to generate URLs starting with / and not https://github.com to make the output shorter.

Haha, nice.

We could also improve the script so that it only outputs the token if that token is declared, not merely used. I'm not sure how to do that though. Maybe we could abuse ctags 😀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Type] Tracking Issue Tactical breakdown of efforts across the codebase and/or tied to Overview issues.
Projects
None yet
Development

No branches or pull requests

4 participants