diff --git a/workspaces/quickstart/.changeset/graduate-nfs-alpha-to-stable.md b/workspaces/quickstart/.changeset/graduate-nfs-alpha-to-stable.md new file mode 100644 index 0000000000..043f4a2bb9 --- /dev/null +++ b/workspaces/quickstart/.changeset/graduate-nfs-alpha-to-stable.md @@ -0,0 +1,5 @@ +--- +'@red-hat-developer-hub/backstage-plugin-quickstart': minor +--- + +Graduate the New Frontend System (NFS) plugin from the `./alpha` export to the primary `./` entry point. OFS (legacy) exports are now available at `./legacy`. Translations remain at `./alpha`. diff --git a/workspaces/quickstart/packages/app-legacy/src/App.tsx b/workspaces/quickstart/packages/app-legacy/src/App.tsx index 1b7bdb5e1e..923b6263b0 100644 --- a/workspaces/quickstart/packages/app-legacy/src/App.tsx +++ b/workspaces/quickstart/packages/app-legacy/src/App.tsx @@ -51,7 +51,7 @@ import { CatalogGraphPage } from '@backstage/plugin-catalog-graph'; import { RequirePermission } from '@backstage/plugin-permission-react'; import { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common/alpha'; import { getAllThemes } from '@red-hat-developer-hub/backstage-plugin-theme'; -import { quickstartTranslations } from '@red-hat-developer-hub/backstage-plugin-quickstart'; +import { quickstartTranslations } from '@red-hat-developer-hub/backstage-plugin-quickstart/legacy'; import { githubAuthApiRef } from '@backstage/core-plugin-api'; import { RbacPage } from '@backstage-community/plugin-rbac'; diff --git a/workspaces/quickstart/packages/app-legacy/src/components/Root/QuickstartSidebarItem.tsx b/workspaces/quickstart/packages/app-legacy/src/components/Root/QuickstartSidebarItem.tsx index dbb4077b6b..07945ed322 100644 --- a/workspaces/quickstart/packages/app-legacy/src/components/Root/QuickstartSidebarItem.tsx +++ b/workspaces/quickstart/packages/app-legacy/src/components/Root/QuickstartSidebarItem.tsx @@ -16,13 +16,13 @@ import { SidebarItem } from '@backstage/core-components'; import WavingHandOutlinedIcon from '@mui/icons-material/WavingHandOutlined'; -import { useQuickstartDrawerContext } from '@red-hat-developer-hub/backstage-plugin-quickstart'; +import { useQuickstartDrawerContext } from '@red-hat-developer-hub/backstage-plugin-quickstart/legacy'; import { configApiRef, useApi } from '@backstage/core-plugin-api'; import { useMemo } from 'react'; import { filterQuickstartItemsByRole, QuickstartItemData, -} from '@red-hat-developer-hub/backstage-plugin-quickstart'; +} from '@red-hat-developer-hub/backstage-plugin-quickstart/legacy'; export const QuickstartSidebarItem = () => { const configApi = useApi(configApiRef); diff --git a/workspaces/quickstart/packages/app-legacy/src/components/Root/Root.tsx b/workspaces/quickstart/packages/app-legacy/src/components/Root/Root.tsx index 8c882d3496..fc02027a3a 100644 --- a/workspaces/quickstart/packages/app-legacy/src/components/Root/Root.tsx +++ b/workspaces/quickstart/packages/app-legacy/src/components/Root/Root.tsx @@ -45,7 +45,7 @@ import { QuickstartDrawerProvider, QuickstartDrawerContent, QuickstartDrawerStateExposer, -} from '@red-hat-developer-hub/backstage-plugin-quickstart'; +} from '@red-hat-developer-hub/backstage-plugin-quickstart/legacy'; import { QuickstartSidebarItem } from './QuickstartSidebarItem'; import { Administration } from '@backstage-community/plugin-rbac'; import { ApplicationDrawer } from './ApplicationDrawer'; diff --git a/workspaces/quickstart/packages/app/src/App.tsx b/workspaces/quickstart/packages/app/src/App.tsx index 5699b4ed7f..2cad44f418 100644 --- a/workspaces/quickstart/packages/app/src/App.tsx +++ b/workspaces/quickstart/packages/app/src/App.tsx @@ -22,7 +22,7 @@ import { import { quickstartInitModule, quickstartTranslationsModule, -} from '@red-hat-developer-hub/backstage-plugin-quickstart/alpha'; +} from '@red-hat-developer-hub/backstage-plugin-quickstart'; import { rhdhThemeModule } from '@red-hat-developer-hub/backstage-plugin-theme/alpha'; import { navModule } from './modules/nav'; diff --git a/workspaces/quickstart/plugins/quickstart/package.json b/workspaces/quickstart/plugins/quickstart/package.json index c85e84ded0..2b543d187e 100644 --- a/workspaces/quickstart/plugins/quickstart/package.json +++ b/workspaces/quickstart/plugins/quickstart/package.json @@ -2,8 +2,8 @@ "name": "@red-hat-developer-hub/backstage-plugin-quickstart", "version": "1.9.7", "license": "Apache-2.0", - "main": "src/index.ts", - "types": "src/index.ts", + "main": "src/index.tsx", + "types": "src/index.tsx", "publishConfig": { "access": "public" }, @@ -71,15 +71,27 @@ "react-router-dom": "^6.0.0" }, "exports": { - ".": "./src/index.ts", - "./alpha": "./src/alpha/index.tsx", + ".": "./src/index.tsx", + "./alpha": "./src/alphaExports.ts", + "./legacy": "./src/legacyExports.ts", + "./quickstart-init-module": "./src/quickstartInitModuleExport.ts", + "./quickstart-translations-module": "./src/quickstartTranslationsModuleExport.ts", "./dev": "./dev/CustomDrawer.tsx", "./package.json": "./package.json" }, "typesVersions": { "*": { "alpha": [ - "src/alpha/index.tsx" + "src/alphaExports.ts" + ], + "legacy": [ + "src/legacyExports.ts" + ], + "quickstart-init-module": [ + "src/quickstartInitModuleExport.ts" + ], + "quickstart-translations-module": [ + "src/quickstartTranslationsModuleExport.ts" ], "dev": [ "dev/CustomDrawer.tsx" @@ -98,9 +110,11 @@ "scalprum": { "name": "red-hat-developer-hub.backstage-plugin-quickstart", "exposedModules": { - "Alpha": "./src/alpha/index.tsx", - "PluginRoot": "./src/index.ts", - "QuickstartPlugin": "./src/index.ts" + "PluginRoot": "./src/index.tsx", + "Alpha": "./src/alphaExports.ts", + "Legacy": "./src/legacyExports.ts", + "QuickstartInitModule": "./src/quickstartInitModuleExport.ts", + "QuickstartTranslationsModule": "./src/quickstartTranslationsModuleExport.ts" } }, "configSchema": "config.d.ts", diff --git a/workspaces/quickstart/plugins/quickstart/report-alpha.api.md b/workspaces/quickstart/plugins/quickstart/report-alpha.api.md index d15f656737..097c5ede33 100644 --- a/workspaces/quickstart/plugins/quickstart/report-alpha.api.md +++ b/workspaces/quickstart/plugins/quickstart/report-alpha.api.md @@ -3,82 +3,9 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts -import { AppDrawerContent } from '@red-hat-developer-hub/backstage-plugin-app-react'; -import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; -import { FrontendModule } from '@backstage/frontend-plugin-api'; -import { GlobalHeaderMenuItemData } from '@red-hat-developer-hub/backstage-plugin-global-header/alpha'; -import { MenuItemParams } from '@red-hat-developer-hub/backstage-plugin-global-header/alpha'; -import { OverridableExtensionDefinition } from '@backstage/frontend-plugin-api'; -import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { TranslationRef } from '@backstage/frontend-plugin-api'; import { TranslationResource } from '@backstage/frontend-plugin-api'; -// @alpha -const _default: OverridableFrontendPlugin< - {}, - {}, - { - 'app-drawer-content:quickstart/quickstart': OverridableExtensionDefinition<{ - kind: 'app-drawer-content'; - name: 'quickstart'; - config: { - defaultWidth: number | undefined; - resizable: boolean | undefined; - priority: number | undefined; - }; - configInput: { - defaultWidth?: number | undefined; - resizable?: boolean | undefined; - priority?: number | undefined; - }; - output: ExtensionDataRef; - inputs: {}; - params: { - id: string; - element: React.ReactElement; - resizable?: boolean; - defaultWidth?: number; - priority?: number; - }; - }>; - 'gh-menu-item:quickstart/quickstart': OverridableExtensionDefinition<{ - kind: 'gh-menu-item'; - name: 'quickstart'; - config: { - priority: number | undefined; - title: string | undefined; - titleKey: string | undefined; - icon: string | undefined; - link: string | undefined; - sectionLabel: string | undefined; - sectionLink: string | undefined; - sectionLinkLabel: string | undefined; - }; - configInput: { - link?: string | undefined; - title?: string | undefined; - icon?: string | undefined; - titleKey?: string | undefined; - priority?: number | undefined; - sectionLabel?: string | undefined; - sectionLink?: string | undefined; - sectionLinkLabel?: string | undefined; - }; - output: ExtensionDataRef< - GlobalHeaderMenuItemData, - 'global-header.menu-item', - {} - >; - inputs: {}; - params: MenuItemParams; - }>; - } ->; -export default _default; - -// @alpha -export const quickstartInitModule: FrontendModule; - // @public export const quickstartTranslationRef: TranslationRef< 'plugin.quickstart', @@ -146,8 +73,5 @@ export const quickstartTranslationRef: TranslationRef< // @public export const quickstartTranslations: TranslationResource<'plugin.quickstart'>; -// @alpha -export const quickstartTranslationsModule: FrontendModule; - // (No @packageDocumentation comment for this package) ``` diff --git a/workspaces/quickstart/plugins/quickstart/report-legacy.api.md b/workspaces/quickstart/plugins/quickstart/report-legacy.api.md new file mode 100644 index 0000000000..5efb944778 --- /dev/null +++ b/workspaces/quickstart/plugins/quickstart/report-legacy.api.md @@ -0,0 +1,165 @@ +## API Report File for "@red-hat-developer-hub/backstage-plugin-quickstart" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts +import { BackstagePlugin } from '@backstage/core-plugin-api'; +import { CSSProperties } from 'react'; +import { JSX as JSX_2 } from 'react/jsx-runtime'; +import { PropsWithChildren } from 'react'; +import { TranslationRef } from '@backstage/frontend-plugin-api'; +import { TranslationResource } from '@backstage/frontend-plugin-api'; + +// @public +export type DrawerPartialState = { + id: string; + isDrawerOpen: boolean; + drawerWidth: number; + setDrawerWidth: (width: number) => void; + closeDrawer: () => void; +}; + +// @public +export type DrawerStateExposerProps = { + onStateChange: (state: DrawerPartialState) => void; +}; + +// @public +export const filterQuickstartItemsByRole: ( + items: QuickstartItemData[], + userRole: string, +) => QuickstartItemData[]; + +// @public +export const QuickstartButton: ( + input: QuickstartButtonProps, +) => JSX_2.Element | null; + +// @public +export interface QuickstartButtonProps { + onClick?: () => void; + style?: CSSProperties; + title?: string; +} + +// @public +export const QuickstartDrawerContent: () => JSX_2.Element | null; + +// @public +export interface QuickstartDrawerContextType { + closeDrawer: () => void; + drawerWidth: number; + isDrawerOpen: boolean; + openDrawer: () => void; + roleLoading: boolean; + setDrawerWidth: React.Dispatch>; + toggleDrawer: () => void; + userRole: UserRole | null; +} + +// @public +export const QuickstartDrawerProvider: ( + input: PropsWithChildren, +) => JSX_2.Element; + +// @public +export const QuickstartDrawerStateExposer: ( + input: DrawerStateExposerProps, +) => null; + +// @public +export interface QuickstartItemCtaData { + link: string; + text: string; + textKey?: string; +} + +// @public +export interface QuickstartItemData { + cta?: QuickstartItemCtaData; + description: string; + descriptionKey?: string; + icon?: string; + roles?: string[]; + title: string; + titleKey?: string; +} + +// @public +export const quickstartPlugin: BackstagePlugin<{}, {}, {}>; + +// @public +export const quickstartTranslationRef: TranslationRef< + 'plugin.quickstart', + { + readonly 'header.title': string; + readonly 'header.subtitle': string; + readonly 'steps.setupAuthentication.title': string; + readonly 'steps.setupAuthentication.description': string; + readonly 'steps.setupAuthentication.ctaTitle': string; + readonly 'steps.configureRbac.title': string; + readonly 'steps.configureRbac.description': string; + readonly 'steps.configureRbac.ctaTitle': string; + readonly 'steps.configureGit.title': string; + readonly 'steps.configureGit.description': string; + readonly 'steps.configureGit.ctaTitle': string; + readonly 'steps.managePlugins.title': string; + readonly 'steps.managePlugins.description': string; + readonly 'steps.managePlugins.ctaTitle': string; + readonly 'steps.importApplication.title': string; + readonly 'steps.importApplication.description': string; + readonly 'steps.importApplication.ctaTitle': string; + readonly 'steps.learnAboutCatalog.title': string; + readonly 'steps.learnAboutCatalog.description': string; + readonly 'steps.learnAboutCatalog.ctaTitle': string; + readonly 'steps.exploreSelfServiceTemplates.title': string; + readonly 'steps.exploreSelfServiceTemplates.description': string; + readonly 'steps.exploreSelfServiceTemplates.ctaTitle': string; + readonly 'steps.findAllLearningPaths.title': string; + readonly 'steps.findAllLearningPaths.description': string; + readonly 'steps.findAllLearningPaths.ctaTitle': string; + readonly 'steps.setupLightspeed.title': string; + readonly 'steps.setupLightspeed.description': string; + readonly 'steps.setupLightspeed.ctaTitle': string; + readonly 'steps.getStartedWithLightspeed.title': string; + readonly 'steps.getStartedWithLightspeed.description': string; + readonly 'steps.getStartedWithLightspeed.ctaTitle': string; + readonly 'button.quickstart': string; + readonly 'button.openQuickstartGuide': string; + readonly 'button.closeDrawer': string; + readonly 'button.gotIt': string; + readonly 'snackbar.helpPrompt': string; + readonly 'footer.progress': string; + readonly 'footer.notStarted': string; + readonly 'footer.hide': string; + readonly 'content.emptyState.title': string; + readonly 'item.expandAriaLabel': string; + readonly 'item.collapseAriaLabel': string; + readonly 'item.expandButtonAriaLabel': string; + readonly 'item.collapseButtonAriaLabel': string; + readonly 'dev.pageTitle': string; + readonly 'dev.pageDescription': string; + readonly 'dev.drawerControls': string; + readonly 'dev.currentState': string; + readonly 'dev.stateOpen': string; + readonly 'dev.stateClosed': string; + readonly 'dev.instructions': string; + readonly 'dev.step1': string; + readonly 'dev.step2': string; + readonly 'dev.step3': string; + readonly 'dev.step4': string; + readonly 'dev.step5': string; + } +>; + +// @public +export const quickstartTranslations: TranslationResource<'plugin.quickstart'>; + +// @public +export const useQuickstartDrawerContext: () => QuickstartDrawerContextType; + +// @public +export type UserRole = 'admin' | 'developer'; + +// (No @packageDocumentation comment for this package) +``` diff --git a/workspaces/quickstart/plugins/quickstart/report-quickstart-init-module.api.md b/workspaces/quickstart/plugins/quickstart/report-quickstart-init-module.api.md new file mode 100644 index 0000000000..74d854b884 --- /dev/null +++ b/workspaces/quickstart/plugins/quickstart/report-quickstart-init-module.api.md @@ -0,0 +1,13 @@ +## API Report File for "@red-hat-developer-hub/backstage-plugin-quickstart" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts +import { FrontendModule } from '@backstage/frontend-plugin-api'; + +// @public +const quickstartInitModule: FrontendModule; +export default quickstartInitModule; + +// (No @packageDocumentation comment for this package) +``` diff --git a/workspaces/quickstart/plugins/quickstart/report-quickstart-translations-module.api.md b/workspaces/quickstart/plugins/quickstart/report-quickstart-translations-module.api.md new file mode 100644 index 0000000000..394cc1694e --- /dev/null +++ b/workspaces/quickstart/plugins/quickstart/report-quickstart-translations-module.api.md @@ -0,0 +1,13 @@ +## API Report File for "@red-hat-developer-hub/backstage-plugin-quickstart" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts +import { FrontendModule } from '@backstage/frontend-plugin-api'; + +// @public +const quickstartTranslationsModule: FrontendModule; +export default quickstartTranslationsModule; + +// (No @packageDocumentation comment for this package) +``` diff --git a/workspaces/quickstart/plugins/quickstart/report.api.md b/workspaces/quickstart/plugins/quickstart/report.api.md index 5efb944778..f74e02102f 100644 --- a/workspaces/quickstart/plugins/quickstart/report.api.md +++ b/workspaces/quickstart/plugins/quickstart/report.api.md @@ -3,13 +3,83 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { AppDrawerContent } from '@red-hat-developer-hub/backstage-plugin-app-react'; import { BackstagePlugin } from '@backstage/core-plugin-api'; import { CSSProperties } from 'react'; +import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; +import { FrontendModule } from '@backstage/frontend-plugin-api'; +import { GlobalHeaderMenuItemData } from '@red-hat-developer-hub/backstage-plugin-global-header/alpha'; import { JSX as JSX_2 } from 'react/jsx-runtime'; +import { MenuItemParams } from '@red-hat-developer-hub/backstage-plugin-global-header/alpha'; +import { OverridableExtensionDefinition } from '@backstage/frontend-plugin-api'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { PropsWithChildren } from 'react'; import { TranslationRef } from '@backstage/frontend-plugin-api'; import { TranslationResource } from '@backstage/frontend-plugin-api'; +// @public +const _default: OverridableFrontendPlugin< + {}, + {}, + { + 'app-drawer-content:quickstart/quickstart': OverridableExtensionDefinition<{ + kind: 'app-drawer-content'; + name: 'quickstart'; + config: { + defaultWidth: number | undefined; + resizable: boolean | undefined; + priority: number | undefined; + }; + configInput: { + defaultWidth?: number | undefined; + resizable?: boolean | undefined; + priority?: number | undefined; + }; + output: ExtensionDataRef; + inputs: {}; + params: { + id: string; + element: React.ReactElement; + resizable?: boolean; + defaultWidth?: number; + priority?: number; + }; + }>; + 'gh-menu-item:quickstart/quickstart': OverridableExtensionDefinition<{ + kind: 'gh-menu-item'; + name: 'quickstart'; + config: { + priority: number | undefined; + title: string | undefined; + titleKey: string | undefined; + icon: string | undefined; + link: string | undefined; + sectionLabel: string | undefined; + sectionLink: string | undefined; + sectionLinkLabel: string | undefined; + }; + configInput: { + link?: string | undefined; + title?: string | undefined; + icon?: string | undefined; + titleKey?: string | undefined; + priority?: number | undefined; + sectionLabel?: string | undefined; + sectionLink?: string | undefined; + sectionLinkLabel?: string | undefined; + }; + output: ExtensionDataRef< + GlobalHeaderMenuItemData, + 'global-header.menu-item', + {} + >; + inputs: {}; + params: MenuItemParams; + }>; + } +>; +export default _default; + // @public export type DrawerPartialState = { id: string; @@ -67,6 +137,9 @@ export const QuickstartDrawerStateExposer: ( input: DrawerStateExposerProps, ) => null; +// @public +export const quickstartInitModule: FrontendModule; + // @public export interface QuickstartItemCtaData { link: string; @@ -155,6 +228,9 @@ export const quickstartTranslationRef: TranslationRef< // @public export const quickstartTranslations: TranslationResource<'plugin.quickstart'>; +// @public +export const quickstartTranslationsModule: FrontendModule; + // @public export const useQuickstartDrawerContext: () => QuickstartDrawerContextType; diff --git a/workspaces/quickstart/plugins/quickstart/src/alpha/QuickstartDrawerContent.test.tsx b/workspaces/quickstart/plugins/quickstart/src/QuickstartDrawerContent.test.tsx similarity index 96% rename from workspaces/quickstart/plugins/quickstart/src/alpha/QuickstartDrawerContent.test.tsx rename to workspaces/quickstart/plugins/quickstart/src/QuickstartDrawerContent.test.tsx index 160cd0ef0c..06306be6e4 100644 --- a/workspaces/quickstart/plugins/quickstart/src/alpha/QuickstartDrawerContent.test.tsx +++ b/workspaces/quickstart/plugins/quickstart/src/QuickstartDrawerContent.test.tsx @@ -39,14 +39,14 @@ jest.mock('@red-hat-developer-hub/backstage-plugin-app-react', () => ({ }), })); -jest.mock('../hooks/useQuickstartRole', () => ({ +jest.mock('./hooks/useQuickstartRole', () => ({ useQuickstartRole: jest.fn(() => ({ isLoading: false, userRole: 'admin', })), })); -const { useQuickstartRole } = jest.requireMock('../hooks/useQuickstartRole'); +const { useQuickstartRole } = jest.requireMock('./hooks/useQuickstartRole'); describe('QuickstartDrawerContent', () => { const adminConfigApi = mockApis.config({ diff --git a/workspaces/quickstart/plugins/quickstart/src/alpha/QuickstartDrawerContent.tsx b/workspaces/quickstart/plugins/quickstart/src/QuickstartDrawerContent.tsx similarity index 90% rename from workspaces/quickstart/plugins/quickstart/src/alpha/QuickstartDrawerContent.tsx rename to workspaces/quickstart/plugins/quickstart/src/QuickstartDrawerContent.tsx index f54f6db11a..235024fad5 100644 --- a/workspaces/quickstart/plugins/quickstart/src/alpha/QuickstartDrawerContent.tsx +++ b/workspaces/quickstart/plugins/quickstart/src/QuickstartDrawerContent.tsx @@ -18,10 +18,10 @@ import { useMemo } from 'react'; import { configApiRef, useApi } from '@backstage/core-plugin-api'; import { useAppDrawer } from '@red-hat-developer-hub/backstage-plugin-app-react'; -import { Quickstart } from '../components/Quickstart'; -import { useQuickstartRole } from '../hooks/useQuickstartRole'; -import { QuickstartItemData } from '../types'; -import { filterQuickstartItemsByRole } from '../utils'; +import { Quickstart } from './components/Quickstart'; +import { useQuickstartRole } from './hooks/useQuickstartRole'; +import { QuickstartItemData } from './types'; +import { filterQuickstartItemsByRole } from './utils'; import { QUICKSTART_DRAWER_ID } from './const'; export const QuickstartDrawerContent = () => { diff --git a/workspaces/quickstart/plugins/quickstart/src/alpha/QuickstartHelpMenuItem.tsx b/workspaces/quickstart/plugins/quickstart/src/QuickstartHelpMenuItem.tsx similarity index 100% rename from workspaces/quickstart/plugins/quickstart/src/alpha/QuickstartHelpMenuItem.tsx rename to workspaces/quickstart/plugins/quickstart/src/QuickstartHelpMenuItem.tsx diff --git a/workspaces/quickstart/plugins/quickstart/src/alpha/QuickstartInit.test.tsx b/workspaces/quickstart/plugins/quickstart/src/QuickstartInit.test.tsx similarity index 98% rename from workspaces/quickstart/plugins/quickstart/src/alpha/QuickstartInit.test.tsx rename to workspaces/quickstart/plugins/quickstart/src/QuickstartInit.test.tsx index 2154c2d612..0cba09cd6d 100644 --- a/workspaces/quickstart/plugins/quickstart/src/alpha/QuickstartInit.test.tsx +++ b/workspaces/quickstart/plugins/quickstart/src/QuickstartInit.test.tsx @@ -40,7 +40,7 @@ jest.mock('@red-hat-developer-hub/backstage-plugin-app-react', () => ({ }), })); -jest.mock('../hooks/useQuickstartRole', () => ({ +jest.mock('./hooks/useQuickstartRole', () => ({ useQuickstartRole: jest.fn(() => ({ isLoading: false, userRole: 'admin', diff --git a/workspaces/quickstart/plugins/quickstart/src/alpha/QuickstartInit.tsx b/workspaces/quickstart/plugins/quickstart/src/QuickstartInit.tsx similarity index 95% rename from workspaces/quickstart/plugins/quickstart/src/alpha/QuickstartInit.tsx rename to workspaces/quickstart/plugins/quickstart/src/QuickstartInit.tsx index 281d9ea02c..91e5675c6c 100644 --- a/workspaces/quickstart/plugins/quickstart/src/alpha/QuickstartInit.tsx +++ b/workspaces/quickstart/plugins/quickstart/src/QuickstartInit.tsx @@ -25,10 +25,10 @@ import Snackbar from '@mui/material/Snackbar'; import CloseIcon from '@mui/icons-material/Close'; import IconButton from '@mui/material/IconButton'; -import { useQuickstartRole } from '../hooks/useQuickstartRole'; -import { useTranslation } from '../hooks/useTranslation'; -import { QuickstartItemData } from '../types'; -import { filterQuickstartItemsByRole } from '../utils'; +import { useQuickstartRole } from './hooks/useQuickstartRole'; +import { useTranslation } from './hooks/useTranslation'; +import { QuickstartItemData } from './types'; +import { filterQuickstartItemsByRole } from './utils'; import { QUICKSTART_DRAWER_ID } from './const'; /** diff --git a/workspaces/quickstart/plugins/quickstart/src/alphaExports.ts b/workspaces/quickstart/plugins/quickstart/src/alphaExports.ts new file mode 100644 index 0000000000..0b9bb1f8b7 --- /dev/null +++ b/workspaces/quickstart/plugins/quickstart/src/alphaExports.ts @@ -0,0 +1,17 @@ +/* + * Copyright Red Hat, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export * from './translations'; diff --git a/workspaces/quickstart/plugins/quickstart/src/alpha/const.ts b/workspaces/quickstart/plugins/quickstart/src/const.ts similarity index 100% rename from workspaces/quickstart/plugins/quickstart/src/alpha/const.ts rename to workspaces/quickstart/plugins/quickstart/src/const.ts diff --git a/workspaces/quickstart/plugins/quickstart/src/alpha/index.tsx b/workspaces/quickstart/plugins/quickstart/src/index.tsx similarity index 94% rename from workspaces/quickstart/plugins/quickstart/src/alpha/index.tsx rename to workspaces/quickstart/plugins/quickstart/src/index.tsx index 3344ff825b..e335ce66cd 100644 --- a/workspaces/quickstart/plugins/quickstart/src/alpha/index.tsx +++ b/workspaces/quickstart/plugins/quickstart/src/index.tsx @@ -23,7 +23,7 @@ import { TranslationBlueprint } from '@backstage/plugin-app-react'; import { AppDrawerContentBlueprint } from '@red-hat-developer-hub/backstage-plugin-app-react/alpha'; import { GlobalHeaderMenuItemBlueprint } from '@red-hat-developer-hub/backstage-plugin-global-header/alpha'; -import { quickstartTranslations } from '../translations'; +import { quickstartTranslations } from './translations'; import { QUICKSTART_DRAWER_ID } from './const'; import { QuickstartDrawerContent } from './QuickstartDrawerContent'; import { QuickstartHelpMenuItem } from './QuickstartHelpMenuItem'; @@ -58,7 +58,7 @@ const quickstartInitElement = AppRootElementBlueprint.make({ /** * The Quickstart frontend plugin for the new Backstage frontend system. * - * @alpha + * @public */ export default createFrontendPlugin({ pluginId: 'quickstart', @@ -69,7 +69,7 @@ export default createFrontendPlugin({ * Quickstart initialization module. * Handles first-visit auto-open and snackbar notifications. * - * @alpha + * @public */ export const quickstartInitModule = createFrontendModule({ pluginId: 'app', @@ -79,7 +79,7 @@ export const quickstartInitModule = createFrontendModule({ /** * Translation module for the quickstart plugin. * - * @alpha + * @public */ export const quickstartTranslationsModule = createFrontendModule({ pluginId: 'app', @@ -96,4 +96,6 @@ export const quickstartTranslationsModule = createFrontendModule({ export { quickstartTranslationRef, quickstartTranslations, -} from '../translations'; +} from './translations'; + +export * from './legacyExports'; diff --git a/workspaces/quickstart/plugins/quickstart/src/index.ts b/workspaces/quickstart/plugins/quickstart/src/legacyExports.ts similarity index 100% rename from workspaces/quickstart/plugins/quickstart/src/index.ts rename to workspaces/quickstart/plugins/quickstart/src/legacyExports.ts diff --git a/workspaces/quickstart/plugins/quickstart/src/alpha/index.test.tsx b/workspaces/quickstart/plugins/quickstart/src/nfsExports.test.tsx similarity index 95% rename from workspaces/quickstart/plugins/quickstart/src/alpha/index.test.tsx rename to workspaces/quickstart/plugins/quickstart/src/nfsExports.test.tsx index 2e5bd06ea1..2d19cf3f49 100644 --- a/workspaces/quickstart/plugins/quickstart/src/alpha/index.test.tsx +++ b/workspaces/quickstart/plugins/quickstart/src/nfsExports.test.tsx @@ -19,7 +19,7 @@ import quickstartPlugin, { quickstartTranslationsModule, } from './index'; -describe('quickstart alpha exports', () => { +describe('quickstart NFS exports', () => { it('should export the quickstart plugin as default', () => { expect(quickstartPlugin).toBeDefined(); }); diff --git a/workspaces/quickstart/plugins/quickstart/src/quickstartInitModuleExport.ts b/workspaces/quickstart/plugins/quickstart/src/quickstartInitModuleExport.ts new file mode 100644 index 0000000000..ee867014f7 --- /dev/null +++ b/workspaces/quickstart/plugins/quickstart/src/quickstartInitModuleExport.ts @@ -0,0 +1,17 @@ +/* + * Copyright Red Hat, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { quickstartInitModule as default } from './index'; diff --git a/workspaces/quickstart/plugins/quickstart/src/quickstartTranslationsModuleExport.ts b/workspaces/quickstart/plugins/quickstart/src/quickstartTranslationsModuleExport.ts new file mode 100644 index 0000000000..636c1da9b1 --- /dev/null +++ b/workspaces/quickstart/plugins/quickstart/src/quickstartTranslationsModuleExport.ts @@ -0,0 +1,17 @@ +/* + * Copyright Red Hat, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { quickstartTranslationsModule as default } from './index';