diff --git a/.changeset/angry-badgers-beg.md b/.changeset/angry-badgers-beg.md new file mode 100644 index 0000000000..38952aef98 --- /dev/null +++ b/.changeset/angry-badgers-beg.md @@ -0,0 +1,5 @@ +--- +'@backstage/frontend-app-api': patch +--- + +Internal update for removal of experimental plugin configuration API. diff --git a/.changeset/eighty-actors-type.md b/.changeset/eighty-actors-type.md new file mode 100644 index 0000000000..5c55a7b0c6 --- /dev/null +++ b/.changeset/eighty-actors-type.md @@ -0,0 +1,5 @@ +--- +'@backstage/test-utils': patch +--- + +Removed the alpha `MockPluginProvider` export since the plugin configuration API has been removed. diff --git a/.changeset/fresh-kangaroos-tap.md b/.changeset/fresh-kangaroos-tap.md new file mode 100644 index 0000000000..5ac4d184eb --- /dev/null +++ b/.changeset/fresh-kangaroos-tap.md @@ -0,0 +1,5 @@ +--- +'@backstage/core-plugin-api': minor +--- + +Removed the exprimental plugin configuration API. The `__experimentalReconfigure()` from the plugin options as well as the `__experimentalConfigure()` method on plugin instances have both been removed. diff --git a/.changeset/gentle-elephants-fold.md b/.changeset/gentle-elephants-fold.md new file mode 100644 index 0000000000..480ee41e7a --- /dev/null +++ b/.changeset/gentle-elephants-fold.md @@ -0,0 +1,20 @@ +--- +'@backstage/plugin-catalog': minor +--- + +The catalog plugin no longer implements the experimental reconfiguration API. The create button title can now instead be configured using the new experimental internationalization API, via the `catalogTranslationRef` exported at `/alpha`. For example: + +```ts +import { catalogTranslationRef } from '@backstage/plugin-catalog/alpha'; + +const app = createApp({ + __experimentalTranslations: { + resources: [ + createTranslationMessages({ + ref: catalogTranslationRef, + catalog_page_create_button_title: 'Create Software', + }), + ], + }, +}); +``` diff --git a/.changeset/ten-seals-wait.md b/.changeset/ten-seals-wait.md new file mode 100644 index 0000000000..780422449c --- /dev/null +++ b/.changeset/ten-seals-wait.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-cost-insights': patch +--- + +The experimental plugin configuration has been removed. The trend line can now instead be hidden by setting `costInsights.hideTrendLine` to `true` in the configuration. diff --git a/docs/plugins/customization.md b/docs/plugins/customization.md deleted file mode 100644 index 44ca5147ea..0000000000 --- a/docs/plugins/customization.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -id: customization -title: Customization (Experimental) -description: Documentation on adding a customization logic to the plugin ---- - -## Overview - -The Backstage core logic provides a possibility to make the component customizable in such a way that the application -developer can redefine the labels, icons, elements or even completely replace the component. It's up to each plugin -to decide what can be customized. - -## For a plugin developer - -When you are creating your plugin, you have a possibility to use a metadata field and define there all -customizable elements. For example - -```typescript jsx -const plugin = createPlugin({ - id: 'my-plugin', - __experimentalConfigure( - options?: CatalogInputPluginOptions, - ): CatalogPluginOptions { - const defaultOptions = { - createButtonTitle: 'Create', - }; - return { ...defaultOptions, ...options }; - }, -}); -``` - -And the rendering part of the exposed component can retrieve that metadata as: - -```typescript jsx -export type CatalogPluginOptions = { - createButtonTitle: string; -}; - -export type CatalogInputPluginOptions = { - createButtonTitle: string; -}; - -export const useCatalogPluginOptions = () => - usePluginOptions(); - -export function DefaultMyPluginWelcomePage() { - const { createButtonTitle } = useCatalogPluginOptions(); - - return ( -
- -
- ); -} -``` - -## For an application developer using the plugin - -The way to reconfigure the default values provided by the plugin you can do it via reconfigure method, defined on the -plugin. Example: - -```typescript jsx -import { myPlugin } from '@backstage/my-plugin'; - -myPlugin.__experimentalReconfigure({ - createButtonTitle: 'New', -}); -``` diff --git a/microsite/sidebars.json b/microsite/sidebars.json index 0f4aef1373..bc394982ca 100644 --- a/microsite/sidebars.json +++ b/microsite/sidebars.json @@ -243,7 +243,6 @@ "plugins/integrating-plugin-into-software-catalog", "plugins/integrating-search-into-plugins", "plugins/composability", - "plugins/customization", "plugins/internationalization", "plugins/analytics", "plugins/feature-flags", diff --git a/packages/app-next/package.json b/packages/app-next/package.json index fe052773df..35a8bd16fd 100644 --- a/packages/app-next/package.json +++ b/packages/app-next/package.json @@ -24,6 +24,7 @@ "@backstage/plugin-azure-devops": "workspace:^", "@backstage/plugin-azure-sites": "workspace:^", "@backstage/plugin-badges": "workspace:^", + "@backstage/plugin-catalog": "workspace:^", "@backstage/plugin-catalog-common": "workspace:^", "@backstage/plugin-catalog-graph": "workspace:^", "@backstage/plugin-catalog-import": "workspace:^", @@ -76,7 +77,6 @@ "@backstage/plugin-todo": "workspace:^", "@backstage/plugin-user-settings": "workspace:^", "@backstage/theme": "workspace:^", - "@internal/plugin-catalog-customized": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", diff --git a/packages/app/package.json b/packages/app/package.json index 0196acc0a2..a1ecf04c61 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -29,6 +29,7 @@ "@backstage/plugin-azure-devops": "workspace:^", "@backstage/plugin-azure-sites": "workspace:^", "@backstage/plugin-badges": "workspace:^", + "@backstage/plugin-catalog": "workspace:^", "@backstage/plugin-catalog-common": "workspace:^", "@backstage/plugin-catalog-graph": "workspace:^", "@backstage/plugin-catalog-import": "workspace:^", @@ -82,7 +83,6 @@ "@backstage/plugin-todo": "workspace:^", "@backstage/plugin-user-settings": "workspace:^", "@backstage/theme": "workspace:^", - "@internal/plugin-catalog-customized": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", diff --git a/packages/app/src/App.tsx b/packages/app/src/App.tsx index 6371182221..a0a6419328 100644 --- a/packages/app/src/App.tsx +++ b/packages/app/src/App.tsx @@ -46,7 +46,7 @@ import { CatalogEntityPage, CatalogIndexPage, catalogPlugin, -} from '@internal/plugin-catalog-customized'; +} from '@backstage/plugin-catalog'; import { CatalogGraphPage } from '@backstage/plugin-catalog-graph'; import { diff --git a/packages/app/src/components/catalog/EntityPage.test.tsx b/packages/app/src/components/catalog/EntityPage.test.tsx index f9d23247c6..68ce5fb497 100644 --- a/packages/app/src/components/catalog/EntityPage.test.tsx +++ b/packages/app/src/components/catalog/EntityPage.test.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { EntityLayout } from '@internal/plugin-catalog-customized'; +import { EntityLayout } from '@backstage/plugin-catalog'; import { EntityProvider, starredEntitiesApiRef, diff --git a/packages/app/src/components/catalog/EntityPage.tsx b/packages/app/src/components/catalog/EntityPage.tsx index 25630253d4..ae78d0b771 100644 --- a/packages/app/src/components/catalog/EntityPage.tsx +++ b/packages/app/src/components/catalog/EntityPage.tsx @@ -68,7 +68,7 @@ import { hasLabels, hasRelationWarnings, EntityRelationWarning, -} from '@internal/plugin-catalog-customized'; +} from '@backstage/plugin-catalog'; import { Direction, EntityCatalogGraphCard, diff --git a/packages/app/src/components/search/SearchModal.tsx b/packages/app/src/components/search/SearchModal.tsx index 6b701d394d..23aec53a58 100644 --- a/packages/app/src/components/search/SearchModal.tsx +++ b/packages/app/src/components/search/SearchModal.tsx @@ -29,7 +29,7 @@ import { useSearch, } from '@backstage/plugin-search-react'; import { TechDocsSearchResultListItem } from '@backstage/plugin-techdocs'; -import { CatalogSearchResultListItem } from '@internal/plugin-catalog-customized'; +import { CatalogSearchResultListItem } from '@backstage/plugin-catalog'; import { Box, DialogActions, diff --git a/packages/app/src/components/search/SearchPage.tsx b/packages/app/src/components/search/SearchPage.tsx index 2e577e6589..a9f54cdb49 100644 --- a/packages/app/src/components/search/SearchPage.tsx +++ b/packages/app/src/components/search/SearchPage.tsx @@ -23,7 +23,7 @@ import { useSidebarPinState, } from '@backstage/core-components'; import { useApi } from '@backstage/core-plugin-api'; -import { CatalogSearchResultListItem } from '@internal/plugin-catalog-customized'; +import { CatalogSearchResultListItem } from '@backstage/plugin-catalog'; import { catalogApiRef, CATALOG_FILTER_EXISTS, diff --git a/packages/core-plugin-api/alpha-api-report.md b/packages/core-plugin-api/alpha-api-report.md index d50bb0abd6..ba3583142f 100644 --- a/packages/core-plugin-api/alpha-api-report.md +++ b/packages/core-plugin-api/alpha-api-report.md @@ -4,9 +4,7 @@ ```ts import { ApiRef } from '@backstage/core-plugin-api'; -import { BackstagePlugin } from '@backstage/core-plugin-api'; import { Observable } from '@backstage/types'; -import { ReactNode } from 'react'; import { TranslationMessages as TranslationMessages_2 } from '@backstage/core-plugin-api/alpha'; import { TranslationRef as TranslationRef_2 } from '@backstage/core-plugin-api/alpha'; @@ -74,17 +72,6 @@ export function createTranslationResource< options: TranslationResourceOptions, ): TranslationResource; -// @alpha -export interface PluginOptionsProviderProps { - // (undocumented) - children: ReactNode; - // (undocumented) - plugin?: BackstagePlugin; -} - -// @alpha -export const PluginProvider: (props: PluginOptionsProviderProps) => JSX.Element; - // @alpha (undocumented) export type TranslationApi = { getTranslation< @@ -245,11 +232,6 @@ export type TranslationSnapshot< t: TranslationFunction; }; -// @alpha -export function usePluginOptions< - TPluginOptions extends {} = {}, ->(): TPluginOptions; - // @alpha (undocumented) export const useTranslationRef: < TMessages extends { diff --git a/packages/core-plugin-api/api-report.md b/packages/core-plugin-api/api-report.md index 930f1f979d..7873b23f13 100644 --- a/packages/core-plugin-api/api-report.md +++ b/packages/core-plugin-api/api-report.md @@ -222,7 +222,7 @@ export type BackstageIdentityResponse = { export type BackstagePlugin< Routes extends AnyRoutes = {}, ExternalRoutes extends AnyExternalRoutes = {}, - PluginInputOptions extends {} = {}, + _Ignored extends {} = {}, > = { getId(): string; getApis(): Iterable; @@ -230,7 +230,6 @@ export type BackstagePlugin< provide(extension: Extension): T; routes: Routes; externalRoutes: ExternalRoutes; - __experimentalReconfigure(options: PluginInputOptions): void; }; // @public @@ -318,10 +317,9 @@ export function createExternalRouteRef< export function createPlugin< Routes extends AnyRoutes = {}, ExternalRoutes extends AnyExternalRoutes = {}, - PluginInputOptions extends {} = {}, >( - config: PluginConfig, -): BackstagePlugin; + config: PluginConfig, +): BackstagePlugin; // @public export function createReactExtension< @@ -647,14 +645,12 @@ export type PendingOAuthRequest = { export type PluginConfig< Routes extends AnyRoutes, ExternalRoutes extends AnyExternalRoutes, - PluginInputOptions extends {}, > = { id: string; apis?: Iterable; routes?: Routes; externalRoutes?: ExternalRoutes; featureFlags?: PluginFeatureFlagConfig[]; - __experimentalConfigure?(options?: PluginInputOptions): {}; }; // @public diff --git a/packages/core-plugin-api/src/alpha.ts b/packages/core-plugin-api/src/alpha.ts index 505fd9b818..ebcbcf34c0 100644 --- a/packages/core-plugin-api/src/alpha.ts +++ b/packages/core-plugin-api/src/alpha.ts @@ -14,6 +14,5 @@ * limitations under the License. */ -export * from './plugin-options'; export * from './translation'; export * from './apis/alpha'; diff --git a/packages/core-plugin-api/src/extensions/extensions.tsx b/packages/core-plugin-api/src/extensions/extensions.tsx index a9a3127aee..b94354fa2c 100644 --- a/packages/core-plugin-api/src/extensions/extensions.tsx +++ b/packages/core-plugin-api/src/extensions/extensions.tsx @@ -21,7 +21,6 @@ import { RouteRef, useRouteRef } from '../routing'; import { attachComponentData } from './componentData'; import { Extension, BackstagePlugin } from '../plugin'; import { PluginErrorBoundary } from './PluginErrorBoundary'; -import { PluginProvider } from '../plugin-options'; import { routableExtensionRenderedEvent } from '../analytics/Tracker'; /** @@ -258,9 +257,7 @@ export function createReactExtension< ...(mountPoint && { routeRef: mountPoint.id }), }} > - - - + diff --git a/packages/core-plugin-api/src/plugin-options/index.ts b/packages/core-plugin-api/src/plugin-options/index.ts deleted file mode 100644 index 1737a1c836..0000000000 --- a/packages/core-plugin-api/src/plugin-options/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * 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 { usePluginOptions, PluginProvider } from './usePluginOptions'; -export type { PluginOptionsProviderProps } from './usePluginOptions'; diff --git a/packages/core-plugin-api/src/plugin-options/usePluginOptions.test.tsx b/packages/core-plugin-api/src/plugin-options/usePluginOptions.test.tsx deleted file mode 100644 index 96691d503b..0000000000 --- a/packages/core-plugin-api/src/plugin-options/usePluginOptions.test.tsx +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * 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. - */ - -import React from 'react'; -import { renderHook } from '@testing-library/react-hooks'; -import { usePluginOptions, PluginProvider } from './usePluginOptions'; -import { createPlugin } from '../plugin'; - -describe('usePluginOptions', () => { - it('should provide a versioned value to hook', () => { - type TestInputPluginOptions = { - 'key-1': string; - }; - - type TestPluginOptions = { - 'key-1': string; - 'key-2': string; - }; - - const plugin = createPlugin({ - id: 'my-plugin', - __experimentalConfigure(_: TestInputPluginOptions): TestPluginOptions { - return { 'key-1': 'value-1', 'key-2': 'value-2' }; - }, - }); - - const rendered = renderHook(() => usePluginOptions(), { - wrapper: ({ children }: React.PropsWithChildren<{}>) => ( - {children} - ), - }); - - const config = rendered.result.current; - - expect(config).toEqual({ - 'key-1': 'value-1', - 'key-2': 'value-2', - }); - }); -}); diff --git a/packages/core-plugin-api/src/plugin-options/usePluginOptions.tsx b/packages/core-plugin-api/src/plugin-options/usePluginOptions.tsx deleted file mode 100644 index 8b3f7c109c..0000000000 --- a/packages/core-plugin-api/src/plugin-options/usePluginOptions.tsx +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * 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. - */ - -import { - createVersionedContext, - createVersionedValueMap, - useVersionedContext, -} from '@backstage/version-bridge'; -import { BackstagePlugin } from '@backstage/core-plugin-api'; -import React, { ReactNode } from 'react'; - -const contextKey: string = 'plugin-context'; - -/** - * Properties for the PluginProvider component. - * - * @alpha - */ -export interface PluginOptionsProviderProps { - children: ReactNode; - plugin?: BackstagePlugin; -} - -/** - * Contains the plugin configuration. - * - * @alpha - */ -export const PluginProvider = ( - props: PluginOptionsProviderProps, -): JSX.Element => { - const { children, plugin } = props; - - const { Provider } = createVersionedContext<{ - 1: { plugin: BackstagePlugin | undefined }; - }>(contextKey); - - return ( - - {children} - - ); -}; - -/** - * Grab the current entity from the context, throws if the entity has not yet been loaded - * or is not available. - * - * @alpha - */ -export function usePluginOptions< - TPluginOptions extends {} = {}, ->(): TPluginOptions { - const versionedHolder = useVersionedContext<{ 1: TPluginOptions }>( - contextKey, - ); - - if (!versionedHolder) { - throw new Error('Plugin Options context is not available'); - } - - const value = versionedHolder.atVersion(1); - if (!value) { - throw new Error('Plugin Options v1 is not available'); - } - - return ( - value as unknown as { - plugin: { - getPluginOptions(): {}; - }; - } - ).plugin.getPluginOptions() as TPluginOptions; -} diff --git a/packages/core-plugin-api/src/plugin/Plugin.tsx b/packages/core-plugin-api/src/plugin/Plugin.tsx index da26cd4db0..d97554b27b 100644 --- a/packages/core-plugin-api/src/plugin/Plugin.tsx +++ b/packages/core-plugin-api/src/plugin/Plugin.tsx @@ -30,18 +30,9 @@ import { AnyApiFactory } from '../apis'; export class PluginImpl< Routes extends AnyRoutes, ExternalRoutes extends AnyExternalRoutes, - PluginInputOptions extends {}, -> implements BackstagePlugin +> implements BackstagePlugin { - constructor( - private readonly config: PluginConfig< - Routes, - ExternalRoutes, - PluginInputOptions - >, - ) {} - - private options: {} | undefined = undefined; + constructor(private readonly config: PluginConfig) {} getId(): string { return this.config.id; @@ -67,19 +58,6 @@ export class PluginImpl< return extension.expose(this); } - __experimentalReconfigure(options: PluginInputOptions): void { - if (this.config.__experimentalConfigure) { - this.options = this.config.__experimentalConfigure(options); - } - } - - getPluginOptions(): {} { - if (this.config.__experimentalConfigure && !this.options) { - this.options = this.config.__experimentalConfigure(); - } - return this.options ?? {}; - } - toString() { return `plugin{${this.config.id}}`; } @@ -94,9 +72,8 @@ export class PluginImpl< export function createPlugin< Routes extends AnyRoutes = {}, ExternalRoutes extends AnyExternalRoutes = {}, - PluginInputOptions extends {} = {}, >( - config: PluginConfig, -): BackstagePlugin { + config: PluginConfig, +): BackstagePlugin { return new PluginImpl(config); } diff --git a/packages/core-plugin-api/src/plugin/types.ts b/packages/core-plugin-api/src/plugin/types.ts index 37ce6c9e7c..3ba7706e16 100644 --- a/packages/core-plugin-api/src/plugin/types.ts +++ b/packages/core-plugin-api/src/plugin/types.ts @@ -52,7 +52,7 @@ export type AnyExternalRoutes = { [name: string]: ExternalRouteRef }; export type BackstagePlugin< Routes extends AnyRoutes = {}, ExternalRoutes extends AnyExternalRoutes = {}, - PluginInputOptions extends {} = {}, + _Ignored extends {} = {}, > = { getId(): string; getApis(): Iterable; @@ -63,7 +63,6 @@ export type BackstagePlugin< provide(extension: Extension): T; routes: Routes; externalRoutes: ExternalRoutes; - __experimentalReconfigure(options: PluginInputOptions): void; }; /** @@ -84,14 +83,12 @@ export type PluginFeatureFlagConfig = { export type PluginConfig< Routes extends AnyRoutes, ExternalRoutes extends AnyExternalRoutes, - PluginInputOptions extends {}, > = { id: string; apis?: Iterable; routes?: Routes; externalRoutes?: ExternalRoutes; featureFlags?: PluginFeatureFlagConfig[]; - __experimentalConfigure?(options?: PluginInputOptions): {}; }; /** diff --git a/packages/frontend-app-api/src/wiring/createApp.tsx b/packages/frontend-app-api/src/wiring/createApp.tsx index 80a3ecd1dc..bb50dea075 100644 --- a/packages/frontend-app-api/src/wiring/createApp.tsx +++ b/packages/frontend-app-api/src/wiring/createApp.tsx @@ -335,7 +335,6 @@ function toLegacyPlugin(plugin: BackstagePlugin): LegacyBackstagePlugin { getApis: notImplemented, getFeatureFlags: notImplemented, provide: notImplemented, - __experimentalReconfigure: notImplemented, }; } diff --git a/packages/test-utils/alpha-api-report.md b/packages/test-utils/alpha-api-report.md index 4a9fd2e5a4..945c754f83 100644 --- a/packages/test-utils/alpha-api-report.md +++ b/packages/test-utils/alpha-api-report.md @@ -4,17 +4,10 @@ ```ts import { Observable } from '@backstage/types'; -import { PropsWithChildren } from 'react'; -import { default as React_2 } from 'react'; import { TranslationApi } from '@backstage/core-plugin-api/alpha'; import { TranslationRef } from '@backstage/core-plugin-api/alpha'; import { TranslationSnapshot } from '@backstage/core-plugin-api/alpha'; -// @alpha -export const MockPluginProvider: ({ - children, -}: PropsWithChildren<{}>) => React_2.JSX.Element; - // @alpha (undocumented) export class MockTranslationApi implements TranslationApi { // (undocumented) diff --git a/packages/test-utils/src/alpha.ts b/packages/test-utils/src/alpha.ts index c6801993bc..2077ad3586 100644 --- a/packages/test-utils/src/alpha.ts +++ b/packages/test-utils/src/alpha.ts @@ -14,5 +14,4 @@ * limitations under the License. */ -export * from './testUtils/MockPluginProvider'; export * from './testUtils/apis/TranslationApi'; diff --git a/packages/test-utils/src/testUtils/MockPluginProvider.tsx b/packages/test-utils/src/testUtils/MockPluginProvider.tsx deleted file mode 100644 index 25442ae267..0000000000 --- a/packages/test-utils/src/testUtils/MockPluginProvider.tsx +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * 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. - */ - -import React, { PropsWithChildren } from 'react'; -import { PluginProvider } from '@backstage/core-plugin-api/alpha'; -import { createPlugin } from '@backstage/core-plugin-api'; - -/** - * Mock for PluginProvider to use in unit tests - * @alpha - */ -export const MockPluginProvider = ({ children }: PropsWithChildren<{}>) => { - type TestInputPluginOptions = {}; - type TestPluginOptions = {}; - const plugin = createPlugin({ - id: 'my-plugin', - __experimentalConfigure(_: TestInputPluginOptions): TestPluginOptions { - return {}; - }, - }); - - return {children}; -}; diff --git a/plugins/adr/api-report.md b/plugins/adr/api-report.md index 6ed7b68196..9ce5834574 100644 --- a/plugins/adr/api-report.md +++ b/plugins/adr/api-report.md @@ -72,7 +72,6 @@ export const adrPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/airbrake/api-report.md b/plugins/airbrake/api-report.md index a04d57d7e9..66f9b19bc8 100644 --- a/plugins/airbrake/api-report.md +++ b/plugins/airbrake/api-report.md @@ -13,7 +13,6 @@ export const airbrakePlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/allure/api-report.md b/plugins/allure/api-report.md index a192851f26..69bb740271 100644 --- a/plugins/allure/api-report.md +++ b/plugins/allure/api-report.md @@ -18,7 +18,6 @@ export const allurePlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/analytics-module-ga/api-report.md b/plugins/analytics-module-ga/api-report.md index f28c919f33..1846211e72 100644 --- a/plugins/analytics-module-ga/api-report.md +++ b/plugins/analytics-module-ga/api-report.md @@ -10,7 +10,7 @@ import { Config } from '@backstage/config'; import { IdentityApi } from '@backstage/core-plugin-api'; // @public @deprecated (undocumented) -export const analyticsModuleGA: BackstagePlugin<{}, {}, {}>; +export const analyticsModuleGA: BackstagePlugin<{}, {}>; // @public export class GoogleAnalytics implements AnalyticsApi { diff --git a/plugins/apache-airflow/api-report.md b/plugins/apache-airflow/api-report.md index be2a208bd4..922ad4e868 100644 --- a/plugins/apache-airflow/api-report.md +++ b/plugins/apache-airflow/api-report.md @@ -22,7 +22,6 @@ export const apacheAirflowPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; ``` diff --git a/plugins/api-docs/api-report.md b/plugins/api-docs/api-report.md index 59d490a1fe..2254bf96cd 100644 --- a/plugins/api-docs/api-report.md +++ b/plugins/api-docs/api-report.md @@ -54,8 +54,7 @@ const apiDocsPlugin: BackstagePlugin< }, { registerApi: ExternalRouteRef; - }, - {} + } >; export { apiDocsPlugin }; export { apiDocsPlugin as plugin }; diff --git a/plugins/apollo-explorer/api-report.md b/plugins/apollo-explorer/api-report.md index 2dd6c14a90..7d06876e89 100644 --- a/plugins/apollo-explorer/api-report.md +++ b/plugins/apollo-explorer/api-report.md @@ -38,7 +38,6 @@ export const apolloExplorerPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; ``` diff --git a/plugins/azure-devops/api-report.md b/plugins/azure-devops/api-report.md index 2c916ec33b..6b33762639 100644 --- a/plugins/azure-devops/api-report.md +++ b/plugins/azure-devops/api-report.md @@ -162,7 +162,7 @@ export class AzureDevOpsClient implements AzureDevOpsApi { } // @public (undocumented) -export const azureDevOpsPlugin: BackstagePlugin<{}, {}, {}>; +export const azureDevOpsPlugin: BackstagePlugin<{}, {}>; // @public (undocumented) export const AzurePullRequestsIcon: ( diff --git a/plugins/azure-sites/api-report.md b/plugins/azure-sites/api-report.md index bec89e17bc..abc10ec723 100644 --- a/plugins/azure-sites/api-report.md +++ b/plugins/azure-sites/api-report.md @@ -49,7 +49,6 @@ export const azureSitesPlugin: BackstagePlugin< { entityContent: RouteRef; }, - {}, {} >; diff --git a/plugins/badges/api-report.md b/plugins/badges/api-report.md index e73a887316..c32b901058 100644 --- a/plugins/badges/api-report.md +++ b/plugins/badges/api-report.md @@ -9,7 +9,7 @@ import { BackstagePlugin } from '@backstage/core-plugin-api'; import { JSX as JSX_2 } from 'react'; // @public (undocumented) -export const badgesPlugin: BackstagePlugin<{}, {}, {}>; +export const badgesPlugin: BackstagePlugin<{}, {}>; // @public (undocumented) export const EntityBadgesDialog: (props: { diff --git a/plugins/bazaar/api-report.md b/plugins/bazaar/api-report.md index 282983b378..ba0396f81e 100644 --- a/plugins/bazaar/api-report.md +++ b/plugins/bazaar/api-report.md @@ -41,7 +41,6 @@ export const bazaarPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/bitrise/api-report.md b/plugins/bitrise/api-report.md index 7f2e44f04f..cb68d79c51 100644 --- a/plugins/bitrise/api-report.md +++ b/plugins/bitrise/api-report.md @@ -13,7 +13,7 @@ import { JSX as JSX_2 } from 'react'; export const BITRISE_APP_ANNOTATION = 'bitrise.io/app'; // @public (undocumented) -export const bitrisePlugin: BackstagePlugin<{}, {}, {}>; +export const bitrisePlugin: BackstagePlugin<{}, {}>; // @public (undocumented) export const EntityBitriseContent: () => JSX_2.Element; diff --git a/plugins/catalog-customized/.eslintrc.js b/plugins/catalog-customized/.eslintrc.js deleted file mode 100644 index e2a53a6ad2..0000000000 --- a/plugins/catalog-customized/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); diff --git a/plugins/catalog-customized/CHANGELOG.md b/plugins/catalog-customized/CHANGELOG.md deleted file mode 100644 index ac858f652d..0000000000 --- a/plugins/catalog-customized/CHANGELOG.md +++ /dev/null @@ -1,457 +0,0 @@ -# @internal/plugin-catalog-customized - -## 0.0.14 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.13.0 - - @backstage/plugin-catalog-react@1.8.4 - -## 0.0.14-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.13.0-next.3 - - @backstage/plugin-catalog-react@1.8.4-next.3 - -## 0.0.14-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.13.0-next.2 - - @backstage/plugin-catalog-react@1.8.4-next.2 - -## 0.0.14-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.4-next.1 - - @backstage/plugin-catalog@1.12.5-next.1 - -## 0.0.14-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.12.4-next.0 - - @backstage/plugin-catalog-react@1.8.3-next.0 - -## 0.0.13 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.12.1 - - @backstage/plugin-catalog-react@1.8.1 - -## 0.0.13-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.1-next.1 - - @backstage/plugin-catalog@1.12.1-next.2 - -## 0.0.13-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.12.1-next.1 - - @backstage/plugin-catalog-react@1.8.1-next.0 - -## 0.0.13-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.12.1-next.0 - - @backstage/plugin-catalog-react@1.8.1-next.0 - -## 0.0.12 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.0 - - @backstage/plugin-catalog@1.12.0 - -## 0.0.12-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.0-next.2 - - @backstage/plugin-catalog@1.12.0-next.2 - -## 0.0.12-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.11.3-next.1 - - @backstage/plugin-catalog-react@1.7.1-next.1 - -## 0.0.12-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.11.3-next.0 - - @backstage/plugin-catalog-react@1.7.1-next.0 - -## 0.0.11 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.11.2 - - @backstage/plugin-catalog-react@1.7.0 - -## 0.0.11-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.11.2-next.3 - - @backstage/plugin-catalog-react@1.7.0-next.3 - -## 0.0.11-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.7.0-next.2 - - @backstage/plugin-catalog@1.11.1-next.2 - -## 0.0.11-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.11.1-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.1 - -## 0.0.11-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.7.0-next.0 - - @backstage/plugin-catalog@1.11.1-next.0 - -## 0.0.10 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.6.0 - - @backstage/plugin-catalog@1.11.0 - -## 0.0.10-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.11.0-next.2 - - @backstage/plugin-catalog-react@1.6.0-next.2 - -## 0.0.10-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.11.0-next.1 - - @backstage/plugin-catalog-react@1.6.0-next.1 - -## 0.0.10-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.6.0-next.0 - - @backstage/plugin-catalog@1.11.0-next.0 - -## 0.0.9 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.5.0 - - @backstage/plugin-catalog@1.10.0 - -## 0.0.9-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.5.0-next.3 - - @backstage/plugin-catalog@1.10.0-next.3 - -## 0.0.9-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.4.1-next.2 - - @backstage/plugin-catalog@1.10.0-next.2 - -## 0.0.9-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.4.1-next.1 - - @backstage/plugin-catalog@1.10.0-next.1 - -## 0.0.9-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.10.0-next.0 - - @backstage/plugin-catalog-react@1.4.1-next.0 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.9.0 - - @backstage/plugin-catalog-react@1.4.0 - -## 0.0.8-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.4.0-next.2 - - @backstage/plugin-catalog@1.9.0-next.2 - -## 0.0.8-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.9.0-next.1 - - @backstage/plugin-catalog-react@1.4.0-next.1 - -## 0.0.8-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.4.0-next.0 - - @backstage/plugin-catalog@1.9.0-next.0 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.8.0 - - @backstage/plugin-catalog-react@1.3.0 - -## 0.0.7-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.8.0-next.2 - - @backstage/plugin-catalog-react@1.3.0-next.2 - -## 0.0.7-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.8.0-next.1 - - @backstage/plugin-catalog-react@1.3.0-next.1 - -## 0.0.7-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.3.0-next.0 - - @backstage/plugin-catalog@1.7.3-next.0 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.4 - - @backstage/plugin-catalog@1.7.2 - -## 0.0.6-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.4-next.2 - - @backstage/plugin-catalog@1.7.2-next.2 - -## 0.0.6-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.7.2-next.1 - - @backstage/plugin-catalog-react@1.2.4-next.1 - -## 0.0.6-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.4-next.0 - - @backstage/plugin-catalog@1.7.2-next.0 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.7.1 - - @backstage/plugin-catalog-react@1.2.3 - -## 0.0.5 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.7.0 - - @backstage/plugin-catalog-react@1.2.2 - -## 0.0.5-next.4 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.7.0-next.4 - - @backstage/plugin-catalog-react@1.2.2-next.4 - -## 0.0.5-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.7.0-next.3 - - @backstage/plugin-catalog-react@1.2.2-next.3 - -## 0.0.5-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.7.0-next.2 - - @backstage/plugin-catalog-react@1.2.2-next.2 - -## 0.0.5-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.6.2-next.1 - - @backstage/plugin-catalog-react@1.2.2-next.1 - -## 0.0.5-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.2-next.0 - - @backstage/plugin-catalog@1.6.2-next.0 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.1 - - @backstage/plugin-catalog@1.6.1 - -## 0.0.4-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.6.1-next.1 - - @backstage/plugin-catalog-react@1.2.1-next.1 - -## 0.0.4-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.1-next.0 - - @backstage/plugin-catalog@1.6.1-next.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.0 - - @backstage/plugin-catalog@1.6.0 - -## 0.0.3-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.6.0-next.2 - - @backstage/plugin-catalog-react@1.2.0-next.2 - -## 0.0.3-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.0-next.1 - - @backstage/plugin-catalog@1.6.0-next.1 - -## 0.0.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.5.2-next.0 - - @backstage/plugin-catalog-react@1.1.5-next.0 - -## 0.0.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.4 - - @backstage/plugin-catalog@1.5.1 - -## 0.0.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.4-next.0 - - @backstage/plugin-catalog@1.5.1-next.0 - -## 0.0.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.5.0 - - @backstage/plugin-catalog-react@1.1.3 - -## 0.0.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog@1.5.0-next.0 - - @backstage/plugin-catalog-react@1.1.3-next.0 diff --git a/plugins/catalog-customized/README.md b/plugins/catalog-customized/README.md deleted file mode 100644 index b7323d7430..0000000000 --- a/plugins/catalog-customized/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# Backstage Catalog Frontend - -This is the React frontend to customize Backstage [software -catalog](http://backstage.io/docs/features/software-catalog/). -This package supplies the example how it can be achieved. - -## Installation - -This `@internal/plugin-catalog-customized` package comes installed by default in example application of -Backstage application. - -To check if you already have the package, look under -`packages/app/package.json`, in the `dependencies` block, for -`@internal/plugin-catalog-customized`. The instructions below walk through restoring the -plugin, if you previously removed it. - -### Install the package - -```bash -# From your Backstage root directory -yarn add --cwd packages/app @internal/plugin-catalog-customized -``` - -### Add the plugin to your `packages/app` - -Add the import to a file where is your plugin catalog is defined: - -```diff -// packages/app/src/App.tsx - -import from '@internal/plugin-catalog-customized'; - -... - -import { - CatalogIndexPage, - CatalogEntityPage, -} from '@backstage/plugin-catalog'; - -... -``` - -## Development - -This frontend plugin can be started in a standalone mode from directly in this -package with `yarn start`. However, it will have limited functionality and that -process is most convenient when developing the catalog frontend plugin itself. - -To evaluate the catalog and have a greater amount of functionality available, -run the entire Backstage example application from the root folder: - -```bash -yarn dev -``` - -This will launch both frontend and backend in the same window, populated with -some example entities. diff --git a/plugins/catalog-customized/api-report.md b/plugins/catalog-customized/api-report.md deleted file mode 100644 index 5cf6eefde1..0000000000 --- a/plugins/catalog-customized/api-report.md +++ /dev/null @@ -1,9 +0,0 @@ -## API Report File for "@internal/plugin-catalog-customized" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -export * from '@backstage/plugin-catalog'; - -// (No @packageDocumentation comment for this package) -``` diff --git a/plugins/catalog-customized/catalog-info.yaml b/plugins/catalog-customized/catalog-info.yaml deleted file mode 100644 index 1a6d0e0a00..0000000000 --- a/plugins/catalog-customized/catalog-info.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: internal-plugin-catalog-customized - title: '@internal/plugin-catalog-customized' - description: >- - The internal Backstage Customizable plugin for browsing the Backstage - catalog -spec: - lifecycle: experimental - type: backstage-frontend-plugin - owner: catalog-maintainers diff --git a/plugins/catalog-customized/package.json b/plugins/catalog-customized/package.json deleted file mode 100644 index 4c33911549..0000000000 --- a/plugins/catalog-customized/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "@internal/plugin-catalog-customized", - "description": "The internal Backstage Customizable plugin for browsing the Backstage catalog", - "version": "0.0.14", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", - "private": true, - "publishConfig": { - "access": "public", - "main": "dist/index.esm.js", - "types": "dist/index.d.ts" - }, - "backstage": { - "role": "frontend-plugin" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/catalog-customized" - }, - "keywords": [ - "backstage" - ], - "sideEffects": false, - "scripts": { - "build": "backstage-cli package build", - "start": "backstage-cli package start", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack", - "clean": "backstage-cli package clean" - }, - "dependencies": { - "@backstage/plugin-catalog": "workspace:^", - "@backstage/plugin-catalog-react": "workspace:^" - }, - "devDependencies": { - "@types/react": "^16.13.1 || ^17.0.0" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0", - "react-dom": "^16.13.1 || ^17.0.0", - "react-router-dom": "6.0.0-beta.0 || ^6.3.0" - }, - "files": [ - "dist" - ] -} diff --git a/plugins/catalog-graph/api-report.md b/plugins/catalog-graph/api-report.md index ce56245c49..98a68d8aa2 100644 --- a/plugins/catalog-graph/api-report.md +++ b/plugins/catalog-graph/api-report.md @@ -53,8 +53,7 @@ export const catalogGraphPlugin: BackstagePlugin< }, true >; - }, - {} + } >; // @public diff --git a/plugins/catalog-import/api-report.md b/plugins/catalog-import/api-report.md index 7397bfad1d..a513cfe87a 100644 --- a/plugins/catalog-import/api-report.md +++ b/plugins/catalog-import/api-report.md @@ -134,7 +134,6 @@ const catalogImportPlugin: BackstagePlugin< { importPage: RouteRef; }, - {}, {} >; export { catalogImportPlugin }; diff --git a/plugins/catalog-unprocessed-entities/api-report.md b/plugins/catalog-unprocessed-entities/api-report.md index 3ded42785a..cc4d6bba88 100644 --- a/plugins/catalog-unprocessed-entities/api-report.md +++ b/plugins/catalog-unprocessed-entities/api-report.md @@ -34,7 +34,6 @@ export const catalogUnprocessedEntitiesPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/catalog/alpha-api-report.md b/plugins/catalog/alpha-api-report.md new file mode 100644 index 0000000000..27de408f86 --- /dev/null +++ b/plugins/catalog/alpha-api-report.md @@ -0,0 +1,18 @@ +## API Report File for "@backstage/plugin-catalog" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts +import { TranslationRef } from '@backstage/core-plugin-api/alpha'; + +// @alpha (undocumented) +export const catalogTranslationRef: TranslationRef< + 'catalog', + { + readonly catalog_page_title: '{{orgName}} Catalog'; + readonly catalog_page_create_button_title: 'Create'; + } +>; + +// (No @packageDocumentation comment for this package) +``` diff --git a/plugins/catalog/api-report.md b/plugins/catalog/api-report.md index c8956dcbe8..8173c395ba 100644 --- a/plugins/catalog/api-report.md +++ b/plugins/catalog/api-report.md @@ -117,8 +117,7 @@ export const catalogPlugin: BackstagePlugin< }, true >; - }, - CatalogInputPluginOptions + } >; // @public (undocumented) diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index 10a9eaf35e..dc03fb7b86 100644 --- a/plugins/catalog/package.json +++ b/plugins/catalog/package.json @@ -6,9 +6,22 @@ "types": "src/index.ts", "license": "Apache-2.0", "publishConfig": { - "access": "public", - "main": "dist/index.esm.js", - "types": "dist/index.d.ts" + "access": "public" + }, + "exports": { + ".": "./src/index.ts", + "./alpha": "./src/alpha.ts", + "./package.json": "./package.json" + }, + "typesVersions": { + "*": { + "alpha": [ + "src/alpha.ts" + ], + "package.json": [ + "package.json" + ] + } }, "backstage": { "role": "frontend-plugin" diff --git a/plugins/catalog-customized/src/index.ts b/plugins/catalog/src/alpha.ts similarity index 84% rename from plugins/catalog-customized/src/index.ts rename to plugins/catalog/src/alpha.ts index cc8aefeaa6..3509c1fb7f 100644 --- a/plugins/catalog-customized/src/index.ts +++ b/plugins/catalog/src/alpha.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 The Backstage Authors + * Copyright 2023 The Backstage Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,6 +13,5 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import './plugin'; -export * from '@backstage/plugin-catalog'; +export * from './translation'; diff --git a/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.test.tsx b/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.test.tsx index f31d3baf39..b7d3ca3ed8 100644 --- a/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.test.tsx +++ b/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.test.tsx @@ -29,7 +29,6 @@ import { MockStarredEntitiesApi, starredEntitiesApiRef, } from '@backstage/plugin-catalog-react'; -import { MockPluginProvider } from '@backstage/test-utils/alpha'; import { mockBreakpoint, MockStorageApi, @@ -133,7 +132,7 @@ describe('DefaultCatalogPage', () => { [starredEntitiesApiRef, new MockStarredEntitiesApi()], ]} > - {children} + {children} , { mountedRoutes: { diff --git a/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.tsx b/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.tsx index 04f39ee66c..fb9b282d57 100644 --- a/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.tsx +++ b/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.tsx @@ -41,7 +41,8 @@ import { import React, { ReactNode } from 'react'; import { createComponentRouteRef } from '../../routes'; import { CatalogTable, CatalogTableRow } from '../CatalogTable'; -import { useCatalogPluginOptions } from '../../options'; +import { catalogTranslationRef } from '../../translation'; +import { useTranslationRef } from '@backstage/core-plugin-api/alpha'; /** * Props for root catalog pages. @@ -71,15 +72,14 @@ export function DefaultCatalogPage(props: DefaultCatalogPageProps) { const orgName = useApi(configApiRef).getOptionalString('organization.name') ?? 'Backstage'; const createComponentLink = useRouteRef(createComponentRouteRef); - - const { createButtonTitle } = useCatalogPluginOptions(); + const { t } = useTranslationRef(catalogTranslationRef); return ( - + All your software catalog entities diff --git a/plugins/catalog/src/options.ts b/plugins/catalog/src/options.ts deleted file mode 100644 index 4ea6449a4b..0000000000 --- a/plugins/catalog/src/options.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * 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. - */ - -import { usePluginOptions } from '@backstage/core-plugin-api/alpha'; - -export type CatalogPluginOptions = { - createButtonTitle: string; -}; - -/** @ignore */ -export type CatalogInputPluginOptions = { - createButtonTitle: string; -}; - -export const useCatalogPluginOptions = () => - usePluginOptions(); diff --git a/plugins/catalog/src/plugin.ts b/plugins/catalog/src/plugin.ts index 711f52767a..3410984ec3 100644 --- a/plugins/catalog/src/plugin.ts +++ b/plugins/catalog/src/plugin.ts @@ -52,7 +52,6 @@ import { HasSystemsCardProps } from './components/HasSystemsCard'; import { RelatedEntitiesCardProps } from './components/RelatedEntitiesCard'; import { CatalogSearchResultListItemProps } from './components/CatalogSearchResultListItem'; import { rootRouteRef } from './routes'; -import { CatalogInputPluginOptions, CatalogPluginOptions } from './options'; /** @public */ export const catalogPlugin = createPlugin({ @@ -83,14 +82,6 @@ export const catalogPlugin = createPlugin({ viewTechDoc: viewTechDocRouteRef, createFromTemplate: createFromTemplateRouteRef, }, - __experimentalConfigure( - options?: CatalogInputPluginOptions, - ): CatalogPluginOptions { - const defaultOptions = { - createButtonTitle: 'Create', - }; - return { ...defaultOptions, ...options }; - }, }); /** @public */ diff --git a/plugins/catalog-customized/src/plugin.ts b/plugins/catalog/src/translation.ts similarity index 64% rename from plugins/catalog-customized/src/plugin.ts rename to plugins/catalog/src/translation.ts index ce729d5226..2d1e3f2c8a 100644 --- a/plugins/catalog-customized/src/plugin.ts +++ b/plugins/catalog/src/translation.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 The Backstage Authors + * Copyright 2023 The Backstage Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,9 +14,13 @@ * limitations under the License. */ -import { catalogPlugin } from '@backstage/plugin-catalog'; +import { createTranslationRef } from '@backstage/core-plugin-api/alpha'; -// id: 'catalog-customized' -catalogPlugin.__experimentalReconfigure({ - createButtonTitle: 'New', +/** @alpha */ +export const catalogTranslationRef = createTranslationRef({ + id: 'catalog', + messages: { + catalog_page_title: `{{orgName}} Catalog`, + catalog_page_create_button_title: 'Create', + }, }); diff --git a/plugins/cicd-statistics/api-report.md b/plugins/cicd-statistics/api-report.md index b0966aa281..70895d6a63 100644 --- a/plugins/cicd-statistics/api-report.md +++ b/plugins/cicd-statistics/api-report.md @@ -85,7 +85,6 @@ export const cicdStatisticsPlugin: BackstagePlugin< { entityContent: RouteRef; }, - {}, {} >; diff --git a/plugins/circleci/api-report.md b/plugins/circleci/api-report.md index d706115610..3bb8d4b6f9 100644 --- a/plugins/circleci/api-report.md +++ b/plugins/circleci/api-report.md @@ -63,7 +63,7 @@ export const circleCIApiRef: ApiRef; export const circleCIBuildRouteRef: SubRouteRef>; // @public (undocumented) -const circleCIPlugin: BackstagePlugin<{}, {}, {}>; +const circleCIPlugin: BackstagePlugin<{}, {}>; export { circleCIPlugin }; export { circleCIPlugin as plugin }; diff --git a/plugins/cloudbuild/api-report.md b/plugins/cloudbuild/api-report.md index dc2aacbc18..3fbb15000d 100644 --- a/plugins/cloudbuild/api-report.md +++ b/plugins/cloudbuild/api-report.md @@ -104,7 +104,6 @@ const cloudbuildPlugin: BackstagePlugin< { entityContent: RouteRef; }, - {}, {} >; export { cloudbuildPlugin }; diff --git a/plugins/code-climate/api-report.md b/plugins/code-climate/api-report.md index 32359f663f..8243cada75 100644 --- a/plugins/code-climate/api-report.md +++ b/plugins/code-climate/api-report.md @@ -42,7 +42,6 @@ export const codeClimatePlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/code-coverage/api-report.md b/plugins/code-coverage/api-report.md index 5dcb5fcfd1..152cc93103 100644 --- a/plugins/code-coverage/api-report.md +++ b/plugins/code-coverage/api-report.md @@ -14,7 +14,6 @@ export const codeCoveragePlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/codescene/api-report.md b/plugins/codescene/api-report.md index 662968d3c9..99eb2b6256 100644 --- a/plugins/codescene/api-report.md +++ b/plugins/codescene/api-report.md @@ -24,7 +24,6 @@ export const codescenePlugin: BackstagePlugin< projectId: string; }>; }, - {}, {} >; diff --git a/plugins/config-schema/api-report.md b/plugins/config-schema/api-report.md index 95d352d1b7..16630ae8d0 100644 --- a/plugins/config-schema/api-report.md +++ b/plugins/config-schema/api-report.md @@ -29,7 +29,6 @@ export const configSchemaPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/cost-insights/api-report.md b/plugins/cost-insights/api-report.md index b37804c93d..11cdbd8141 100644 --- a/plugins/cost-insights/api-report.md +++ b/plugins/cost-insights/api-report.md @@ -242,6 +242,7 @@ export type ConfigContextProps = { icons: Icon[]; engineerCost: number; engineerThreshold: number; + hideTrendLine: boolean; currencies: Currency[]; }; @@ -326,8 +327,7 @@ const costInsightsPlugin: BackstagePlugin< growthAlerts: RouteRef; unlabeledDataflowAlerts: RouteRef; }, - {}, - CostInsightsInputPluginOptions + {} >; export { costInsightsPlugin }; export { costInsightsPlugin as plugin }; diff --git a/plugins/cost-insights/config.d.ts b/plugins/cost-insights/config.d.ts index 61a54f76e2..786d6f5a59 100644 --- a/plugins/cost-insights/config.d.ts +++ b/plugins/cost-insights/config.d.ts @@ -26,6 +26,11 @@ export interface Config { */ engineerThreshold?: number; + /** + * @visibility frontend + */ + hideTrendLine?: boolean; + /** * @visibility frontend */ diff --git a/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.test.tsx b/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.test.tsx index d4fdc66bdb..2250392355 100644 --- a/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.test.tsx +++ b/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.test.tsx @@ -15,7 +15,6 @@ */ import React from 'react'; import { fireEvent } from '@testing-library/react'; -import { MockPluginProvider } from '@backstage/test-utils/alpha'; import { renderInTestApp } from '@backstage/test-utils'; import { CostOverviewCard } from './CostOverviewCard'; import { Cost } from '@backstage/plugin-cost-insights-common'; @@ -45,9 +44,7 @@ function renderInContext(children: JSX.Element) { - - {children} - + {children} diff --git a/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewChart.tsx b/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewChart.tsx index ce0623cc7e..2201dcc650 100644 --- a/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewChart.tsx +++ b/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewChart.tsx @@ -47,7 +47,6 @@ import { groupByDate, trendFrom } from '../../utils/charts'; import { aggregationSort } from '../../utils/sort'; import { CostOverviewLegend } from './CostOverviewLegend'; import { TooltipRenderer } from '../../types'; -import { useCostInsightsOptions } from '../../options'; import { useConfig } from '../../hooks'; type CostOverviewChartProps = { @@ -65,7 +64,7 @@ export const CostOverviewChart = ({ }: CostOverviewChartProps) => { const theme = useTheme(); const styles = useStyles(theme); - const { baseCurrency } = useConfig(); + const { baseCurrency, hideTrendLine } = useConfig(); const data = { dailyCost: { @@ -134,7 +133,6 @@ export const CostOverviewChart = ({ ); }; - const { hideTrendLine } = useCostInsightsOptions(); const localizedTickFormatter = formatGraphValue(baseCurrency); return ( diff --git a/plugins/cost-insights/src/components/EntityCosts/EntityCost.test.tsx b/plugins/cost-insights/src/components/EntityCosts/EntityCost.test.tsx index 6eb3369b40..6ad7285ab9 100644 --- a/plugins/cost-insights/src/components/EntityCosts/EntityCost.test.tsx +++ b/plugins/cost-insights/src/components/EntityCosts/EntityCost.test.tsx @@ -14,7 +14,6 @@ * limitations under the License. */ import React from 'react'; -import { MockPluginProvider } from '@backstage/test-utils/alpha'; import { renderInTestApp, TestApiProvider } from '@backstage/test-utils'; import { changeOf, @@ -65,9 +64,7 @@ function renderInContext(children: JSX.Element) { - - {children} - + {children} diff --git a/plugins/cost-insights/src/hooks/useConfig.tsx b/plugins/cost-insights/src/hooks/useConfig.tsx index f42cea38c3..82c0ce26f5 100644 --- a/plugins/cost-insights/src/hooks/useConfig.tsx +++ b/plugins/cost-insights/src/hooks/useConfig.tsx @@ -72,6 +72,7 @@ export type ConfigContextProps = { icons: Icon[]; engineerCost: number; engineerThreshold: number; + hideTrendLine: boolean; currencies: Currency[]; }; @@ -86,6 +87,7 @@ const defaultState: ConfigContextProps = { icons: [], engineerCost: 0, engineerThreshold: EngineerThreshold, + hideTrendLine: false, currencies: defaultCurrencies, }; @@ -193,12 +195,20 @@ export const ConfigProvider = ({ children }: PropsWithChildren<{}>) => { ); } + function getHideTrendLine(): boolean { + return ( + c.getOptionalBoolean('costInsights.hideTrendLine') ?? + defaultState.hideTrendLine + ); + } + function getConfig() { const baseCurrency = getBaseCurrency(); const products = getProducts(); const metrics = getMetrics(); const engineerCost = getEngineerCost(); const engineerThreshold = getEngineerThreshold(); + const hideTrendLine = getHideTrendLine(); const icons = getIcons(); const currencies = getCurrencies(); @@ -212,6 +222,7 @@ export const ConfigProvider = ({ children }: PropsWithChildren<{}>) => { products, engineerCost, engineerThreshold, + hideTrendLine, icons, currencies, })); diff --git a/plugins/cost-insights/src/options.ts b/plugins/cost-insights/src/options.ts deleted file mode 100644 index acc977771d..0000000000 --- a/plugins/cost-insights/src/options.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * 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. - */ - -import { usePluginOptions } from '@backstage/core-plugin-api/alpha'; - -export type CostInsightsPluginOptions = { - hideTrendLine?: boolean; -}; - -/** @ignore */ -export type CostInsightsInputPluginOptions = { - hideTrendLine?: boolean; -}; - -export const useCostInsightsOptions = () => - usePluginOptions(); diff --git a/plugins/cost-insights/src/plugin.ts b/plugins/cost-insights/src/plugin.ts index c863c9e03a..04d58d1877 100644 --- a/plugins/cost-insights/src/plugin.ts +++ b/plugins/cost-insights/src/plugin.ts @@ -19,10 +19,6 @@ import { createRouteRef, createRoutableExtension, } from '@backstage/core-plugin-api'; -import { - CostInsightsInputPluginOptions, - CostInsightsPluginOptions, -} from './options'; export const rootRouteRef = createRouteRef({ id: 'cost-insights', @@ -45,14 +41,6 @@ export const costInsightsPlugin = createPlugin({ growthAlerts: projectGrowthAlertRef, unlabeledDataflowAlerts: unlabeledDataflowAlertRef, }, - __experimentalConfigure( - options?: CostInsightsInputPluginOptions, - ): CostInsightsPluginOptions { - const defaultOptions = { - hideTrendLine: false, - }; - return { ...defaultOptions, ...options }; - }, }); /** @public */ diff --git a/plugins/cost-insights/src/testUtils/providers.tsx b/plugins/cost-insights/src/testUtils/providers.tsx index 9522dfb702..5df1b2512f 100644 --- a/plugins/cost-insights/src/testUtils/providers.tsx +++ b/plugins/cost-insights/src/testUtils/providers.tsx @@ -96,6 +96,7 @@ export const MockConfigProvider = (props: MockConfigProviderProps) => { icons: [], engineerCost: 0, engineerThreshold: EngineerThreshold, + hideTrendLine: false, currencies: [], }; diff --git a/plugins/devtools/api-report.md b/plugins/devtools/api-report.md index f0a9280162..21754d7c1e 100644 --- a/plugins/devtools/api-report.md +++ b/plugins/devtools/api-report.md @@ -36,7 +36,6 @@ export const devToolsPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/dynatrace/api-report.md b/plugins/dynatrace/api-report.md index 0f25fc3108..f78b4060fd 100644 --- a/plugins/dynatrace/api-report.md +++ b/plugins/dynatrace/api-report.md @@ -10,7 +10,7 @@ import { Entity } from '@backstage/catalog-model'; import { JSX as JSX_2 } from 'react'; // @public -export const dynatracePlugin: BackstagePlugin<{}, {}, {}>; +export const dynatracePlugin: BackstagePlugin<{}, {}>; // @public export const DynatraceTab: () => JSX_2.Element; diff --git a/plugins/entity-feedback/api-report.md b/plugins/entity-feedback/api-report.md index d61394ab9a..27e56e5282 100644 --- a/plugins/entity-feedback/api-report.md +++ b/plugins/entity-feedback/api-report.md @@ -70,7 +70,6 @@ export const entityFeedbackPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/entity-validation/api-report.md b/plugins/entity-validation/api-report.md index 48b309cfaa..9d69458ed0 100644 --- a/plugins/entity-validation/api-report.md +++ b/plugins/entity-validation/api-report.md @@ -20,7 +20,6 @@ export const entityValidationPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/example-todo-list/api-report.md b/plugins/example-todo-list/api-report.md index 1b7aa49a19..2feeeb903d 100644 --- a/plugins/example-todo-list/api-report.md +++ b/plugins/example-todo-list/api-report.md @@ -17,7 +17,6 @@ export const todoListPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/explore/api-report.md b/plugins/explore/api-report.md index 193efb044d..d32a133685 100644 --- a/plugins/explore/api-report.md +++ b/plugins/explore/api-report.md @@ -99,8 +99,7 @@ const explorePlugin: BackstagePlugin< }, true >; - }, - {} + } >; export { explorePlugin }; export { explorePlugin as plugin }; diff --git a/plugins/firehydrant/api-report.md b/plugins/firehydrant/api-report.md index 76ccd8f019..9eeac41576 100644 --- a/plugins/firehydrant/api-report.md +++ b/plugins/firehydrant/api-report.md @@ -18,7 +18,6 @@ export const firehydrantPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/fossa/api-report.md b/plugins/fossa/api-report.md index ac76ff6af6..6be878d434 100644 --- a/plugins/fossa/api-report.md +++ b/plugins/fossa/api-report.md @@ -31,7 +31,6 @@ export const fossaPlugin: BackstagePlugin< { fossaOverview: RouteRef; }, - {}, {} >; ``` diff --git a/plugins/gcalendar/api-report.md b/plugins/gcalendar/api-report.md index 3f1d42d239..f1f505fc9a 100644 --- a/plugins/gcalendar/api-report.md +++ b/plugins/gcalendar/api-report.md @@ -51,7 +51,6 @@ export const gcalendarPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/gcp-projects/api-report.md b/plugins/gcp-projects/api-report.md index fd156687c0..e6938485fc 100644 --- a/plugins/gcp-projects/api-report.md +++ b/plugins/gcp-projects/api-report.md @@ -48,7 +48,6 @@ const gcpProjectsPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; export { gcpProjectsPlugin }; diff --git a/plugins/git-release-manager/api-report.md b/plugins/git-release-manager/api-report.md index a3215041f0..3e4c0847a7 100644 --- a/plugins/git-release-manager/api-report.md +++ b/plugins/git-release-manager/api-report.md @@ -263,7 +263,6 @@ export const gitReleaseManagerPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/github-actions/api-report.md b/plugins/github-actions/api-report.md index e7c6114c93..887556f431 100644 --- a/plugins/github-actions/api-report.md +++ b/plugins/github-actions/api-report.md @@ -177,7 +177,6 @@ const githubActionsPlugin: BackstagePlugin< { entityContent: RouteRef; }, - {}, {} >; export { githubActionsPlugin }; diff --git a/plugins/github-deployments/api-report.md b/plugins/github-deployments/api-report.md index 669bcd74ba..26bb108d86 100644 --- a/plugins/github-deployments/api-report.md +++ b/plugins/github-deployments/api-report.md @@ -43,7 +43,7 @@ export type GithubDeployment = { }; // @public (undocumented) -export const githubDeploymentsPlugin: BackstagePlugin<{}, {}, {}>; +export const githubDeploymentsPlugin: BackstagePlugin<{}, {}>; // @public (undocumented) export const GithubDeploymentsTable: { diff --git a/plugins/github-issues/api-report.md b/plugins/github-issues/api-report.md index 3c7b616f82..0efa863a01 100644 --- a/plugins/github-issues/api-report.md +++ b/plugins/github-issues/api-report.md @@ -52,7 +52,6 @@ export const githubIssuesPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/gitops-profiles/api-report.md b/plugins/gitops-profiles/api-report.md index 3dc3c9add2..97f3a9864b 100644 --- a/plugins/gitops-profiles/api-report.md +++ b/plugins/gitops-profiles/api-report.md @@ -124,7 +124,6 @@ const gitopsProfilesPlugin: BackstagePlugin< }>; createPage: RouteRef; }, - {}, {} >; export { gitopsProfilesPlugin }; diff --git a/plugins/gocd/api-report.md b/plugins/gocd/api-report.md index df93b5f2eb..de2c76e06b 100644 --- a/plugins/gocd/api-report.md +++ b/plugins/gocd/api-report.md @@ -15,7 +15,7 @@ export const EntityGoCdContent: () => JSX.Element; export const GOCD_PIPELINES_ANNOTATION = 'gocd.org/pipelines'; // @public -export const gocdPlugin: BackstagePlugin<{}, {}, {}>; +export const gocdPlugin: BackstagePlugin<{}, {}>; // @public export const isGoCdAvailable: (entity: Entity) => boolean; diff --git a/plugins/graphiql/api-report.md b/plugins/graphiql/api-report.md index cbecc37006..984b90ae88 100644 --- a/plugins/graphiql/api-report.md +++ b/plugins/graphiql/api-report.md @@ -44,7 +44,7 @@ export const GraphiQLIcon: IconComponent; export const GraphiQLPage: () => JSX_2.Element; // @public (undocumented) -const graphiqlPlugin: BackstagePlugin<{}, {}, {}>; +const graphiqlPlugin: BackstagePlugin<{}, {}>; export { graphiqlPlugin }; export { graphiqlPlugin as plugin }; diff --git a/plugins/graphql-voyager/api-report.md b/plugins/graphql-voyager/api-report.md index 257a8ca7b7..e926bbd193 100644 --- a/plugins/graphql-voyager/api-report.md +++ b/plugins/graphql-voyager/api-report.md @@ -59,7 +59,6 @@ export const graphqlVoyagerPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/home/api-report.md b/plugins/home/api-report.md index 450bc054fa..497b11224d 100644 --- a/plugins/home/api-report.md +++ b/plugins/home/api-report.md @@ -137,7 +137,6 @@ export const homePlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/ilert/api-report.md b/plugins/ilert/api-report.md index b2081e049e..821a3a6bd0 100644 --- a/plugins/ilert/api-report.md +++ b/plugins/ilert/api-report.md @@ -539,7 +539,6 @@ const ilertPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; export { ilertPlugin }; diff --git a/plugins/jenkins/api-report.md b/plugins/jenkins/api-report.md index 0782f0abd2..611a56cd5f 100644 --- a/plugins/jenkins/api-report.md +++ b/plugins/jenkins/api-report.md @@ -99,7 +99,6 @@ const jenkinsPlugin: BackstagePlugin< { entityContent: RouteRef; }, - {}, {} >; export { jenkinsPlugin }; diff --git a/plugins/kafka/api-report.md b/plugins/kafka/api-report.md index 990a4da295..ba0c9a3820 100644 --- a/plugins/kafka/api-report.md +++ b/plugins/kafka/api-report.md @@ -28,7 +28,6 @@ const kafkaPlugin: BackstagePlugin< { entityContent: RouteRef; }, - {}, {} >; export { kafkaPlugin }; diff --git a/plugins/kubernetes/api-report.md b/plugins/kubernetes/api-report.md index 77ec8dd19c..d1c1748758 100644 --- a/plugins/kubernetes/api-report.md +++ b/plugins/kubernetes/api-report.md @@ -513,7 +513,6 @@ const kubernetesPlugin: BackstagePlugin< { entityContent: RouteRef; }, - {}, {} >; export { kubernetesPlugin }; diff --git a/plugins/lighthouse/api-report.md b/plugins/lighthouse/api-report.md index 9794fe1728..40a4ff514f 100644 --- a/plugins/lighthouse/api-report.md +++ b/plugins/lighthouse/api-report.md @@ -49,7 +49,6 @@ const lighthousePlugin: BackstagePlugin< root: RouteRef; entityContent: RouteRef; }, - {}, {} >; export { lighthousePlugin }; diff --git a/plugins/linguist/api-report.md b/plugins/linguist/api-report.md index 5182ce12f6..71e2460088 100644 --- a/plugins/linguist/api-report.md +++ b/plugins/linguist/api-report.md @@ -16,7 +16,7 @@ export const EntityLinguistCard: () => JSX_2.Element; export const isLinguistAvailable: (entity: Entity) => boolean; // @public (undocumented) -export const linguistPlugin: BackstagePlugin<{}, {}, {}>; +export const linguistPlugin: BackstagePlugin<{}, {}>; // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/newrelic-dashboard/api-report.md b/plugins/newrelic-dashboard/api-report.md index 2e9b11a88e..ce7b8d5b7e 100644 --- a/plugins/newrelic-dashboard/api-report.md +++ b/plugins/newrelic-dashboard/api-report.md @@ -31,7 +31,6 @@ export const newRelicDashboardPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/newrelic/api-report.md b/plugins/newrelic/api-report.md index 04fd229465..a77b80c862 100644 --- a/plugins/newrelic/api-report.md +++ b/plugins/newrelic/api-report.md @@ -17,7 +17,6 @@ const newRelicPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; export { newRelicPlugin }; diff --git a/plugins/nomad/api-report.md b/plugins/nomad/api-report.md index c2d06b9892..68cc47c33d 100644 --- a/plugins/nomad/api-report.md +++ b/plugins/nomad/api-report.md @@ -28,7 +28,6 @@ export const nomadPlugin: BackstagePlugin< root: RouteRef; entityContent: RouteRef; }, - {}, {} >; diff --git a/plugins/octopus-deploy/api-report.md b/plugins/octopus-deploy/api-report.md index 713d99aa8f..3d65e40c64 100644 --- a/plugins/octopus-deploy/api-report.md +++ b/plugins/octopus-deploy/api-report.md @@ -55,7 +55,7 @@ export type OctopusDeployment = { }; // @public (undocumented) -export const octopusDeployPlugin: BackstagePlugin<{}, {}, {}>; +export const octopusDeployPlugin: BackstagePlugin<{}, {}>; // @public (undocumented) export type OctopusEnvironment = { diff --git a/plugins/opencost/api-report.md b/plugins/opencost/api-report.md index 079f394618..996bcea6ac 100644 --- a/plugins/opencost/api-report.md +++ b/plugins/opencost/api-report.md @@ -17,7 +17,6 @@ export const openCostPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; ``` diff --git a/plugins/org/api-report.md b/plugins/org/api-report.md index d85df7125c..922b25b610 100644 --- a/plugins/org/api-report.md +++ b/plugins/org/api-report.md @@ -69,8 +69,7 @@ const orgPlugin: BackstagePlugin< {}, { catalogIndex: ExternalRouteRef; - }, - {} + } >; export { orgPlugin }; export { orgPlugin as plugin }; diff --git a/plugins/pagerduty/api-report.md b/plugins/pagerduty/api-report.md index 24c2e103cf..db73259dd5 100644 --- a/plugins/pagerduty/api-report.md +++ b/plugins/pagerduty/api-report.md @@ -177,7 +177,7 @@ export type PagerDutyOnCallsResponse = { }; // @public (undocumented) -const pagerDutyPlugin: BackstagePlugin<{}, {}, {}>; +const pagerDutyPlugin: BackstagePlugin<{}, {}>; export { pagerDutyPlugin }; export { pagerDutyPlugin as plugin }; diff --git a/plugins/periskop/api-report.md b/plugins/periskop/api-report.md index 578fb1dc49..607cbbb4d0 100644 --- a/plugins/periskop/api-report.md +++ b/plugins/periskop/api-report.md @@ -120,7 +120,7 @@ export class PeriskopClient implements PeriskopApi { } // @public (undocumented) -export const periskopPlugin: BackstagePlugin<{}, {}, {}>; +export const periskopPlugin: BackstagePlugin<{}, {}>; // @public (undocumented) export interface RequestHeaders { diff --git a/plugins/playlist/api-report.md b/plugins/playlist/api-report.md index cf0ebe8a37..be7605d1e6 100644 --- a/plugins/playlist/api-report.md +++ b/plugins/playlist/api-report.md @@ -101,7 +101,6 @@ export const playlistPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; ``` diff --git a/plugins/puppetdb/api-report.md b/plugins/puppetdb/api-report.md index c7d1d0ff0e..890980591f 100644 --- a/plugins/puppetdb/api-report.md +++ b/plugins/puppetdb/api-report.md @@ -20,7 +20,7 @@ export const isPuppetDbAvailable: (entity: Entity) => boolean; export const PuppetDbPage: () => JSX_2.Element; // @public -const puppetdbPlugin: BackstagePlugin<{}, {}, {}>; +const puppetdbPlugin: BackstagePlugin<{}, {}>; export { puppetdbPlugin as plugin }; export { puppetdbPlugin }; diff --git a/plugins/rollbar/api-report.md b/plugins/rollbar/api-report.md index 45c672e7bb..c59475466f 100644 --- a/plugins/rollbar/api-report.md +++ b/plugins/rollbar/api-report.md @@ -196,7 +196,6 @@ const rollbarPlugin: BackstagePlugin< { entityContent: RouteRef; }, - {}, {} >; export { rollbarPlugin as plugin }; diff --git a/plugins/scaffolder/api-report.md b/plugins/scaffolder/api-report.md index a776628da5..ddda40d95f 100644 --- a/plugins/scaffolder/api-report.md +++ b/plugins/scaffolder/api-report.md @@ -561,8 +561,7 @@ export const scaffolderPlugin: BackstagePlugin< }, true >; - }, - {} + } >; // @public @deprecated (undocumented) diff --git a/plugins/search/api-report.md b/plugins/search/api-report.md index 616b63bd31..64f596ab11 100644 --- a/plugins/search/api-report.md +++ b/plugins/search/api-report.md @@ -71,7 +71,6 @@ const searchPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; export { searchPlugin as plugin }; diff --git a/plugins/sentry/api-report.md b/plugins/sentry/api-report.md index 43a5caa0bd..dc5fb69556 100644 --- a/plugins/sentry/api-report.md +++ b/plugins/sentry/api-report.md @@ -138,7 +138,6 @@ const sentryPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; export { sentryPlugin as plugin }; diff --git a/plugins/shortcuts/api-report.md b/plugins/shortcuts/api-report.md index ae8225d5b5..64d9d15156 100644 --- a/plugins/shortcuts/api-report.md +++ b/plugins/shortcuts/api-report.md @@ -58,7 +58,7 @@ export const Shortcuts: (props: ShortcutsProps) => JSX_2.Element; export const shortcutsApiRef: ApiRef; // @public (undocumented) -export const shortcutsPlugin: BackstagePlugin<{}, {}, {}>; +export const shortcutsPlugin: BackstagePlugin<{}, {}>; // @public export interface ShortcutsProps { diff --git a/plugins/sonarqube/api-report.md b/plugins/sonarqube/api-report.md index 72f2eb1c09..32894b6eeb 100644 --- a/plugins/sonarqube/api-report.md +++ b/plugins/sonarqube/api-report.md @@ -71,5 +71,5 @@ export type SonarQubeContentPageProps = { }; // @public (undocumented) -export const sonarQubePlugin: BackstagePlugin<{}, {}, {}>; +export const sonarQubePlugin: BackstagePlugin<{}, {}>; ``` diff --git a/plugins/splunk-on-call/api-report.md b/plugins/splunk-on-call/api-report.md index 4c054e8a1a..d80ee6f874 100644 --- a/plugins/splunk-on-call/api-report.md +++ b/plugins/splunk-on-call/api-report.md @@ -240,7 +240,6 @@ const splunkOnCallPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; export { splunkOnCallPlugin as plugin }; diff --git a/plugins/stack-overflow/api-report.md b/plugins/stack-overflow/api-report.md index 4277aaac24..293c2ac226 100644 --- a/plugins/stack-overflow/api-report.md +++ b/plugins/stack-overflow/api-report.md @@ -32,7 +32,7 @@ export const stackOverflowApiRef: ApiRef; export const StackOverflowIcon: () => React_2.JSX.Element; // @public -export const stackOverflowPlugin: BackstagePlugin<{}, {}, {}>; +export const stackOverflowPlugin: BackstagePlugin<{}, {}>; // @public export type StackOverflowQuestion = { diff --git a/plugins/stackstorm/api-report.md b/plugins/stackstorm/api-report.md index f6279be1bd..14f09c3202 100644 --- a/plugins/stackstorm/api-report.md +++ b/plugins/stackstorm/api-report.md @@ -25,7 +25,6 @@ export const stackstormPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; ``` diff --git a/plugins/tech-insights/api-report.md b/plugins/tech-insights/api-report.md index 14fe512ba0..92f66c14b3 100644 --- a/plugins/tech-insights/api-report.md +++ b/plugins/tech-insights/api-report.md @@ -125,7 +125,6 @@ export const techInsightsPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; diff --git a/plugins/tech-radar/api-report.md b/plugins/tech-radar/api-report.md index f55f0ee39e..178fc202cd 100644 --- a/plugins/tech-radar/api-report.md +++ b/plugins/tech-radar/api-report.md @@ -106,7 +106,6 @@ const techRadarPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; export { techRadarPlugin as plugin }; diff --git a/plugins/techdocs-module-addons-contrib/api-report.md b/plugins/techdocs-module-addons-contrib/api-report.md index c242bb02f2..48e6b2bcdc 100644 --- a/plugins/techdocs-module-addons-contrib/api-report.md +++ b/plugins/techdocs-module-addons-contrib/api-report.md @@ -34,7 +34,7 @@ export type ReportIssueTemplateBuilder = (options: { }) => ReportIssueTemplate; // @public -export const techdocsModuleAddonsContribPlugin: BackstagePlugin<{}, {}, {}>; +export const techdocsModuleAddonsContribPlugin: BackstagePlugin<{}, {}>; // @public export const TextSize: () => JSX.Element | null; diff --git a/plugins/techdocs/api-report.md b/plugins/techdocs/api-report.md index 3207a16f87..761de92f77 100644 --- a/plugins/techdocs/api-report.md +++ b/plugins/techdocs/api-report.md @@ -318,7 +318,6 @@ const techdocsPlugin: BackstagePlugin< }>; entityContent: RouteRef; }, - {}, {} >; export { techdocsPlugin as plugin }; diff --git a/plugins/todo/api-report.md b/plugins/todo/api-report.md index ae4c4f3645..215d1730bc 100644 --- a/plugins/todo/api-report.md +++ b/plugins/todo/api-report.md @@ -85,7 +85,6 @@ export const todoPlugin: BackstagePlugin< { entityContent: RouteRef; }, - {}, {} >; ``` diff --git a/plugins/user-settings/api-report.md b/plugins/user-settings/api-report.md index cdb576c45c..b92677f8ce 100644 --- a/plugins/user-settings/api-report.md +++ b/plugins/user-settings/api-report.md @@ -112,7 +112,6 @@ const userSettingsPlugin: BackstagePlugin< { settingsPage: RouteRef; }, - {}, {} >; export { userSettingsPlugin as plugin }; diff --git a/plugins/vault/api-report.md b/plugins/vault/api-report.md index da13e2092d..59bcb1c527 100644 --- a/plugins/vault/api-report.md +++ b/plugins/vault/api-report.md @@ -33,7 +33,7 @@ export interface VaultApi { export const vaultApiRef: ApiRef; // @public -export const vaultPlugin: BackstagePlugin<{}, {}, {}>; +export const vaultPlugin: BackstagePlugin<{}, {}>; // @public export type VaultSecret = { diff --git a/plugins/xcmetrics/api-report.md b/plugins/xcmetrics/api-report.md index 4cbac0683c..94a2d4afcd 100644 --- a/plugins/xcmetrics/api-report.md +++ b/plugins/xcmetrics/api-report.md @@ -17,7 +17,6 @@ export const xcmetricsPlugin: BackstagePlugin< { root: RouteRef; }, - {}, {} >; ``` diff --git a/yarn.lock b/yarn.lock index fb7b24e792..fad4640b35 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12017,20 +12017,6 @@ __metadata: languageName: node linkType: hard -"@internal/plugin-catalog-customized@workspace:^, @internal/plugin-catalog-customized@workspace:plugins/catalog-customized": - version: 0.0.0-use.local - resolution: "@internal/plugin-catalog-customized@workspace:plugins/catalog-customized" - dependencies: - "@backstage/plugin-catalog": "workspace:^" - "@backstage/plugin-catalog-react": "workspace:^" - "@types/react": ^16.13.1 || ^17.0.0 - peerDependencies: - react: ^16.13.1 || ^17.0.0 - react-dom: ^16.13.1 || ^17.0.0 - react-router-dom: 6.0.0-beta.0 || ^6.3.0 - languageName: unknown - linkType: soft - "@internal/plugin-todo-list-backend@workspace:plugins/example-todo-list-backend": version: 0.0.0-use.local resolution: "@internal/plugin-todo-list-backend@workspace:plugins/example-todo-list-backend" @@ -25409,6 +25395,7 @@ __metadata: "@backstage/plugin-azure-devops": "workspace:^" "@backstage/plugin-azure-sites": "workspace:^" "@backstage/plugin-badges": "workspace:^" + "@backstage/plugin-catalog": "workspace:^" "@backstage/plugin-catalog-common": "workspace:^" "@backstage/plugin-catalog-graph": "workspace:^" "@backstage/plugin-catalog-import": "workspace:^" @@ -25462,7 +25449,6 @@ __metadata: "@backstage/plugin-user-settings": "workspace:^" "@backstage/test-utils": "workspace:^" "@backstage/theme": "workspace:^" - "@internal/plugin-catalog-customized": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -25524,6 +25510,7 @@ __metadata: "@backstage/plugin-azure-devops": "workspace:^" "@backstage/plugin-azure-sites": "workspace:^" "@backstage/plugin-badges": "workspace:^" + "@backstage/plugin-catalog": "workspace:^" "@backstage/plugin-catalog-common": "workspace:^" "@backstage/plugin-catalog-graph": "workspace:^" "@backstage/plugin-catalog-import": "workspace:^" @@ -25578,7 +25565,6 @@ __metadata: "@backstage/plugin-user-settings": "workspace:^" "@backstage/test-utils": "workspace:^" "@backstage/theme": "workspace:^" - "@internal/plugin-catalog-customized": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61