Promote translation refs from alpha to stable entry points

Add each plugin and package translation ref to the corresponding stable
entry point, changing the JSDoc tag from @alpha to @public. The alpha
entry points now re-export with a @deprecated annotation so existing
consumers continue to work.

Affected packages: core-components, api-docs, catalog, catalog-graph,
catalog-import, catalog-react, home, home-react, kubernetes,
kubernetes-cluster, kubernetes-react, notifications, org, scaffolder,
scaffolder-react, search, search-react, user-settings.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
This commit is contained in:
Patrik Oldsberg
2026-03-17 13:02:06 +01:00
parent f60c2673ce
commit 0be2541b5c
92 changed files with 1171 additions and 67 deletions
+6 -6
View File
@@ -307,16 +307,11 @@ export type ScaffolderReactComponentsNameToClassKey = {
// @alpha (undocumented)
export type ScaffolderReactTemplateCategoryPickerClassKey = 'root' | 'label';
// @alpha (undocumented)
// @public @deprecated (undocumented)
export const scaffolderReactTranslationRef: TranslationRef<
'scaffolder-react',
{
readonly 'workflow.noDescription': 'No description';
readonly 'stepper.backButtonText': 'Back';
readonly 'stepper.nextButtonText': 'Next';
readonly 'stepper.createButtonText': 'Create';
readonly 'stepper.reviewButtonText': 'Review';
readonly 'stepper.stepIndexLabel': 'Step {{index, number}}';
readonly 'passwordWidget.content': 'This widget is insecure. Please use [`ui:field: Secret`](https://backstage.io/docs/features/software-templates/writing-templates/#using-secrets) instead of `ui:widget: password`';
readonly 'scaffolderPageContextMenu.createLabel': 'Create';
readonly 'scaffolderPageContextMenu.moreLabel': 'more';
@@ -324,6 +319,11 @@ export const scaffolderReactTranslationRef: TranslationRef<
readonly 'scaffolderPageContextMenu.actionsLabel': 'Installed Actions';
readonly 'scaffolderPageContextMenu.tasksLabel': 'Task List';
readonly 'scaffolderPageContextMenu.templatingExtensionsLabel': 'Templating Extensions';
readonly 'stepper.backButtonText': 'Back';
readonly 'stepper.nextButtonText': 'Next';
readonly 'stepper.createButtonText': 'Create';
readonly 'stepper.reviewButtonText': 'Review';
readonly 'stepper.stepIndexLabel': 'Step {{index, number}}';
readonly 'templateCategoryPicker.title': 'Categories';
readonly 'templateCard.noDescription': 'No description';
readonly 'templateCard.chooseButtonText': 'Choose';
+26
View File
@@ -56,6 +56,7 @@ import { TemplateGlobalFunction as TemplateGlobalFunction_2 } from '@backstage/p
import { TemplateGlobalValue as TemplateGlobalValue_2 } from '@backstage/plugin-scaffolder-common';
import { TemplateParameterSchema as TemplateParameterSchema_2 } from '@backstage/plugin-scaffolder-common';
import { TemplatesType } from '@rjsf/utils';
import { TranslationRef } from '@backstage/frontend-plugin-api';
import { UIOptionsType } from '@rjsf/utils';
import { UiSchema } from '@rjsf/utils';
import { ValidatorType } from '@rjsf/utils';
@@ -240,6 +241,31 @@ export type ScaffolderOutputLink = ScaffolderOutputLink_2;
// @public @deprecated (undocumented)
export type ScaffolderOutputText = ScaffolderOutputText_2;
// @public (undocumented)
export const scaffolderReactTranslationRef: TranslationRef<
'scaffolder-react',
{
readonly 'workflow.noDescription': 'No description';
readonly 'passwordWidget.content': 'This widget is insecure. Please use [`ui:field: Secret`](https://backstage.io/docs/features/software-templates/writing-templates/#using-secrets) instead of `ui:widget: password`';
readonly 'scaffolderPageContextMenu.createLabel': 'Create';
readonly 'scaffolderPageContextMenu.moreLabel': 'more';
readonly 'scaffolderPageContextMenu.editorLabel': 'Manage Templates';
readonly 'scaffolderPageContextMenu.actionsLabel': 'Installed Actions';
readonly 'scaffolderPageContextMenu.tasksLabel': 'Task List';
readonly 'scaffolderPageContextMenu.templatingExtensionsLabel': 'Templating Extensions';
readonly 'stepper.backButtonText': 'Back';
readonly 'stepper.nextButtonText': 'Next';
readonly 'stepper.createButtonText': 'Create';
readonly 'stepper.reviewButtonText': 'Review';
readonly 'stepper.stepIndexLabel': 'Step {{index, number}}';
readonly 'templateCategoryPicker.title': 'Categories';
readonly 'templateCard.noDescription': 'No description';
readonly 'templateCard.chooseButtonText': 'Choose';
readonly 'cardHeader.detailBtnTitle': 'Show template entity details';
readonly 'templateOutputs.title': 'Text Output';
}
>;
// @public
export type ScaffolderRJSFField<
T = any,
+7 -1
View File
@@ -16,4 +16,10 @@
export * from './next';
export { scaffolderReactTranslationRef } from './translation';
import { scaffolderReactTranslationRef as _scaffolderReactTranslationRef } from './translation';
/**
* @public
* @deprecated Import from `@backstage/plugin-scaffolder-react` instead.
*/
export const scaffolderReactTranslationRef = _scaffolderReactTranslationRef;
+1
View File
@@ -22,3 +22,4 @@ export * from './api';
export * from './hooks';
export * from './layouts';
export * from './utils';
export { scaffolderReactTranslationRef } from './translation';
+1 -1
View File
@@ -15,7 +15,7 @@
*/
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
/** @alpha */
/** @public */
export const scaffolderReactTranslationRef = createTranslationRef({
id: 'scaffolder-react',
messages: {