Merge pull request #21270 from backstage/vinzscam/move-collect-legacy-routes-to-compat

Move over collectLegacyRoutes to core-compat-api
This commit is contained in:
Patrik Oldsberg
2023-11-15 10:30:46 +01:00
committed by GitHub
27 changed files with 84 additions and 62 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-compat-api': patch
---
Added `convertLegacyRouteRef` utility to convert existing route refs to be used with the new experimental packages.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-plugin-api': patch
---
Removed the alpha `convertLegacyRouteRef` utility, which as been moved to `@backstage/core-compat-api`
+11
View File
@@ -0,0 +1,11 @@
---
'@backstage/plugin-catalog-import': patch
'@backstage/plugin-user-settings': patch
'@backstage/plugin-tech-radar': patch
'@backstage/plugin-graphiql': patch
'@backstage/plugin-techdocs': patch
'@backstage/plugin-catalog': patch
'@backstage/plugin-search': patch
---
The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`.
+25
View File
@@ -5,9 +5,16 @@
```ts
/// <reference types="react" />
import { AnyRouteRefParams } from '@backstage/core-plugin-api';
import { BackstagePlugin } from '@backstage/frontend-plugin-api';
import { ExtensionOverrides } from '@backstage/frontend-plugin-api';
import { ExternalRouteRef } from '@backstage/core-plugin-api';
import { ExternalRouteRef as ExternalRouteRef_2 } from '@backstage/frontend-plugin-api';
import { default as React_2 } from 'react';
import { RouteRef } from '@backstage/core-plugin-api';
import { RouteRef as RouteRef_2 } from '@backstage/frontend-plugin-api';
import { SubRouteRef } from '@backstage/core-plugin-api';
import { SubRouteRef as SubRouteRef_2 } from '@backstage/frontend-plugin-api';
// @public (undocumented)
export function collectLegacyRoutes(
@@ -19,5 +26,23 @@ export function convertLegacyApp(
rootElement: React_2.JSX.Element,
): (ExtensionOverrides | BackstagePlugin)[];
// @public
export function convertLegacyRouteRef<TParams extends AnyRouteRefParams>(
ref: RouteRef<TParams>,
): RouteRef_2<TParams>;
// @public
export function convertLegacyRouteRef<TParams extends AnyRouteRefParams>(
ref: SubRouteRef<TParams>,
): SubRouteRef_2<TParams>;
// @public
export function convertLegacyRouteRef<
TParams extends AnyRouteRefParams,
TOptional extends boolean,
>(
ref: ExternalRouteRef<TParams, TOptional>,
): ExternalRouteRef_2<TParams, TOptional>;
// (No @packageDocumentation comment for this package)
```
+1 -1
View File
@@ -25,7 +25,6 @@
},
"devDependencies": {
"@backstage/cli": "workspace:^",
"@backstage/core-app-api": "workspace:^",
"@backstage/plugin-puppetdb": "workspace:^",
"@backstage/plugin-stackstorm": "workspace:^",
"@oriflame/backstage-plugin-score-card": "^0.7.0",
@@ -39,6 +38,7 @@
"react-router-dom": "6.0.0-beta.0 || ^6.3.0"
},
"dependencies": {
"@backstage/core-app-api": "workspace:^",
"@backstage/core-plugin-api": "workspace:^",
"@backstage/frontend-plugin-api": "workspace:^"
}
@@ -28,7 +28,7 @@ import {
RouteRef,
getComponentData,
} from '@backstage/core-plugin-api';
import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha';
import { convertLegacyRouteRef } from './convertLegacyRouteRef';
/*
@@ -14,7 +14,6 @@
* limitations under the License.
*/
import { routeRefType } from './types';
import {
RouteRef as LegacyRouteRef,
SubRouteRef as LegacySubRouteRef,
@@ -22,9 +21,9 @@ import {
AnyRouteRefParams,
} from '@backstage/core-plugin-api';
// Relative imports to avoid dependency, at least for now
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { routeRefType } from '../../core-plugin-api/src/routing/types';
import {
RouteRef,
SubRouteRef,
@@ -32,29 +31,14 @@ import {
createRouteRef,
createSubRouteRef,
createExternalRouteRef,
} from '../../../frontend-plugin-api/src/routing';
} from '@backstage/frontend-plugin-api';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { toInternalRouteRef } from '../../../frontend-plugin-api/src/routing/RouteRef';
import { toInternalRouteRef } from '../../frontend-plugin-api/src/routing/RouteRef';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { toInternalSubRouteRef } from '../../../frontend-plugin-api/src/routing/SubRouteRef';
import { toInternalSubRouteRef } from '../../frontend-plugin-api/src/routing/SubRouteRef';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { toInternalExternalRouteRef } from '../../../frontend-plugin-api/src/routing/ExternalRouteRef';
// TODO(Rugvip): Once this is moved to a compat package these aliases can be removed and imported from frontend- instead
/** @ignore */
type NewRouteRef<TParams extends AnyRouteRefParams = AnyRouteRefParams> =
RouteRef<TParams>;
/** @ignore */
type NewSubRouteRef<TParams extends AnyRouteRefParams = AnyRouteRefParams> =
SubRouteRef<TParams>;
/** @ignore */
type NewExternalRouteRef<
TParams extends AnyRouteRefParams = AnyRouteRefParams,
TOptional extends boolean = boolean,
> = ExternalRouteRef<TParams, TOptional>;
import { toInternalExternalRouteRef } from '../../frontend-plugin-api/src/routing/ExternalRouteRef';
/**
* A temporary helper to convert a legacy route ref to the new system.
@@ -66,7 +50,7 @@ type NewExternalRouteRef<
*/
export function convertLegacyRouteRef<TParams extends AnyRouteRefParams>(
ref: LegacyRouteRef<TParams>,
): NewRouteRef<TParams>;
): RouteRef<TParams>;
/**
* A temporary helper to convert a legacy sub route ref to the new system.
@@ -78,7 +62,7 @@ export function convertLegacyRouteRef<TParams extends AnyRouteRefParams>(
*/
export function convertLegacyRouteRef<TParams extends AnyRouteRefParams>(
ref: LegacySubRouteRef<TParams>,
): NewSubRouteRef<TParams>;
): SubRouteRef<TParams>;
/**
* A temporary helper to convert a legacy external route ref to the new system.
@@ -93,14 +77,14 @@ export function convertLegacyRouteRef<
TOptional extends boolean,
>(
ref: LegacyExternalRouteRef<TParams, TOptional>,
): NewExternalRouteRef<TParams, TOptional>;
): ExternalRouteRef<TParams, TOptional>;
export function convertLegacyRouteRef(
ref: LegacyRouteRef | LegacySubRouteRef | LegacyExternalRouteRef,
): NewRouteRef | NewSubRouteRef | NewExternalRouteRef {
): RouteRef | SubRouteRef | ExternalRouteRef {
// Ref has already been converted
if ('$$type' in ref) {
return ref as unknown as NewRouteRef | NewSubRouteRef | NewExternalRouteRef;
return ref as unknown as RouteRef | SubRouteRef | ExternalRouteRef;
}
const type = (ref as unknown as { [routeRefType]: unknown })[routeRefType];
+1
View File
@@ -15,3 +15,4 @@
*/
export { collectLegacyRoutes } from './collectLegacyRoutes';
export { convertLegacyApp } from './convertLegacyApp';
export { convertLegacyRouteRef } from './convertLegacyRouteRef';
@@ -3,12 +3,8 @@
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
import { AnyRouteRefParams } from '@backstage/core-plugin-api';
import { ApiRef } from '@backstage/core-plugin-api';
import { ExternalRouteRef } from '@backstage/core-plugin-api';
import { Observable } from '@backstage/types';
import { RouteRef } from '@backstage/core-plugin-api';
import { SubRouteRef } from '@backstage/core-plugin-api';
import { TranslationMessages as TranslationMessages_2 } from '@backstage/core-plugin-api/alpha';
import { TranslationRef as TranslationRef_2 } from '@backstage/core-plugin-api/alpha';
@@ -29,24 +25,6 @@ export type AppLanguageApi = {
// @alpha (undocumented)
export const appLanguageApiRef: ApiRef<AppLanguageApi>;
// @public
export function convertLegacyRouteRef<TParams extends AnyRouteRefParams>(
ref: RouteRef<TParams>,
): NewRouteRef<TParams>;
// @public
export function convertLegacyRouteRef<TParams extends AnyRouteRefParams>(
ref: SubRouteRef<TParams>,
): NewSubRouteRef<TParams>;
// @public
export function convertLegacyRouteRef<
TParams extends AnyRouteRefParams,
TOptional extends boolean,
>(
ref: ExternalRouteRef<TParams, TOptional>,
): NewExternalRouteRef<TParams, TOptional>;
// @alpha
export function createTranslationMessages<
TId extends string,
-1
View File
@@ -16,4 +16,3 @@
export * from './translation';
export * from './apis/alpha';
export { convertLegacyRouteRef } from './routing/convertLegacyRouteRef';
+1
View File
@@ -49,6 +49,7 @@
"@backstage/catalog-client": "workspace:^",
"@backstage/catalog-model": "workspace:^",
"@backstage/config": "workspace:^",
"@backstage/core-compat-api": "workspace:^",
"@backstage/core-components": "workspace:^",
"@backstage/core-plugin-api": "workspace:^",
"@backstage/errors": "workspace:^",
+1 -1
View File
@@ -20,7 +20,7 @@ import {
discoveryApiRef,
identityApiRef,
} from '@backstage/core-plugin-api';
import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha';
import { convertLegacyRouteRef } from '@backstage/core-compat-api';
import {
createApiExtension,
createPageExtension,
+1
View File
@@ -48,6 +48,7 @@
"dependencies": {
"@backstage/catalog-client": "workspace:^",
"@backstage/catalog-model": "workspace:^",
"@backstage/core-compat-api": "workspace:^",
"@backstage/core-components": "workspace:^",
"@backstage/core-plugin-api": "workspace:^",
"@backstage/errors": "workspace:^",
+1 -1
View File
@@ -15,7 +15,7 @@
*/
import HomeIcon from '@material-ui/icons/Home';
import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha';
import { convertLegacyRouteRef } from '@backstage/core-compat-api';
import { createNavItemExtension } from '@backstage/frontend-plugin-api';
import { rootRouteRef } from '../routes';
+1 -1
View File
@@ -15,7 +15,7 @@
*/
import React from 'react';
import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha';
import { convertLegacyRouteRef } from '@backstage/core-compat-api';
import {
createPageExtension,
coreExtensionData,
+1 -1
View File
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha';
import { convertLegacyRouteRef } from '@backstage/core-compat-api';
import { createPlugin } from '@backstage/frontend-plugin-api';
import { entityRouteRef } from '@backstage/plugin-catalog-react';
+1
View File
@@ -46,6 +46,7 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
"@backstage/core-compat-api": "workspace:^",
"@backstage/core-components": "workspace:^",
"@backstage/core-plugin-api": "workspace:^",
"@backstage/frontend-plugin-api": "workspace:^",
+1 -1
View File
@@ -34,7 +34,7 @@ import {
} from '@backstage/plugin-graphiql';
import { createApiFactory, IconComponent } from '@backstage/core-plugin-api';
import { graphiQLRouteRef } from './route-refs';
import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha';
import { convertLegacyRouteRef } from '@backstage/core-compat-api';
/** @alpha */
export const GraphiqlPage = createPageExtension({
+1
View File
@@ -48,6 +48,7 @@
"dependencies": {
"@backstage/catalog-model": "workspace:^",
"@backstage/config": "workspace:^",
"@backstage/core-compat-api": "workspace:^",
"@backstage/core-components": "workspace:^",
"@backstage/core-plugin-api": "workspace:^",
"@backstage/errors": "workspace:^",
+1 -1
View File
@@ -67,7 +67,7 @@ import { rootRouteRef } from './plugin';
import { SearchClient } from './apis';
import { SearchType } from './components/SearchType';
import { UrlUpdater } from './components/SearchPage/SearchPage';
import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha';
import { convertLegacyRouteRef } from '@backstage/core-compat-api';
/** @alpha */
export const SearchApi = createApiExtension({
+1
View File
@@ -46,6 +46,7 @@
"start": "backstage-cli package start"
},
"dependencies": {
"@backstage/core-compat-api": "workspace:^",
"@backstage/core-components": "workspace:^",
"@backstage/core-plugin-api": "workspace:^",
"@backstage/frontend-plugin-api": "workspace:^",
+1 -1
View File
@@ -24,7 +24,7 @@ import {
import React from 'react';
import { techRadarApiRef } from './api';
import { SampleTechRadarApi } from './sample';
import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha';
import { convertLegacyRouteRef } from '@backstage/core-compat-api';
import { rootRouteRef } from './plugin';
/** @alpha */
+1
View File
@@ -49,6 +49,7 @@
"dependencies": {
"@backstage/catalog-model": "workspace:^",
"@backstage/config": "workspace:^",
"@backstage/core-compat-api": "workspace:^",
"@backstage/core-components": "workspace:^",
"@backstage/core-plugin-api": "workspace:^",
"@backstage/errors": "workspace:^",
+1 -1
View File
@@ -31,7 +31,7 @@ import {
fetchApiRef,
identityApiRef,
} from '@backstage/core-plugin-api';
import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha';
import { convertLegacyRouteRef } from '@backstage/core-compat-api';
import {
techdocsApiRef,
techdocsStorageApiRef,
+1
View File
@@ -47,6 +47,7 @@
},
"dependencies": {
"@backstage/core-app-api": "workspace:^",
"@backstage/core-compat-api": "workspace:^",
"@backstage/core-components": "workspace:^",
"@backstage/core-plugin-api": "workspace:^",
"@backstage/errors": "workspace:^",
+1 -1
View File
@@ -19,7 +19,7 @@ import {
createPageExtension,
createPlugin,
} from '@backstage/frontend-plugin-api';
import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha';
import { convertLegacyRouteRef } from '@backstage/core-compat-api';
import { settingsRouteRef } from './plugin';
import React from 'react';
+7
View File
@@ -5892,6 +5892,7 @@ __metadata:
"@backstage/cli": "workspace:^"
"@backstage/config": "workspace:^"
"@backstage/core-app-api": "workspace:^"
"@backstage/core-compat-api": "workspace:^"
"@backstage/core-components": "workspace:^"
"@backstage/core-plugin-api": "workspace:^"
"@backstage/dev-utils": "workspace:^"
@@ -6024,6 +6025,7 @@ __metadata:
"@backstage/catalog-model": "workspace:^"
"@backstage/cli": "workspace:^"
"@backstage/core-app-api": "workspace:^"
"@backstage/core-compat-api": "workspace:^"
"@backstage/core-components": "workspace:^"
"@backstage/core-plugin-api": "workspace:^"
"@backstage/dev-utils": "workspace:^"
@@ -7220,6 +7222,7 @@ __metadata:
dependencies:
"@backstage/cli": "workspace:^"
"@backstage/core-app-api": "workspace:^"
"@backstage/core-compat-api": "workspace:^"
"@backstage/core-components": "workspace:^"
"@backstage/core-plugin-api": "workspace:^"
"@backstage/dev-utils": "workspace:^"
@@ -9119,6 +9122,7 @@ __metadata:
"@backstage/cli": "workspace:^"
"@backstage/config": "workspace:^"
"@backstage/core-app-api": "workspace:^"
"@backstage/core-compat-api": "workspace:^"
"@backstage/core-components": "workspace:^"
"@backstage/core-plugin-api": "workspace:^"
"@backstage/dev-utils": "workspace:^"
@@ -9523,6 +9527,7 @@ __metadata:
dependencies:
"@backstage/cli": "workspace:^"
"@backstage/core-app-api": "workspace:^"
"@backstage/core-compat-api": "workspace:^"
"@backstage/core-components": "workspace:^"
"@backstage/core-plugin-api": "workspace:^"
"@backstage/dev-utils": "workspace:^"
@@ -9736,6 +9741,7 @@ __metadata:
"@backstage/cli": "workspace:^"
"@backstage/config": "workspace:^"
"@backstage/core-app-api": "workspace:^"
"@backstage/core-compat-api": "workspace:^"
"@backstage/core-components": "workspace:^"
"@backstage/core-plugin-api": "workspace:^"
"@backstage/dev-utils": "workspace:^"
@@ -9865,6 +9871,7 @@ __metadata:
dependencies:
"@backstage/cli": "workspace:^"
"@backstage/core-app-api": "workspace:^"
"@backstage/core-compat-api": "workspace:^"
"@backstage/core-components": "workspace:^"
"@backstage/core-plugin-api": "workspace:^"
"@backstage/dev-utils": "workspace:^"