core-api: remove deprecated registerRoute and deprecate addRoute

This commit is contained in:
Patrik Oldsberg
2021-01-19 23:37:11 +01:00
parent 54dd7b3003
commit a187b8ad0a
5 changed files with 61 additions and 31 deletions
+55
View File
@@ -0,0 +1,55 @@
---
'@backstage/core': minor
---
Removed deprecated `router.registerRoute` method in `createPlugin`.
Deprecated `router.addRoute` method in `createPlugin`.
Replace usage of the above two components with a routable extension.
For example, given the following:
```ts
import { createPlugin } from '@backstage/core';
import { MyPage } from './components/MyPage';
import { rootRoute } from './routes';
export const plugin = createPlugin({
id: 'my-plugin',
register({ router }) {
router.addRoute(rootRoute, MyPage);
},
});
```
Migrate to
```ts
import { createPlugin, createRoutableExtension } from '@backstage/core';
import { rootRoute } from './routes';
export const plugin = createPlugin({
id: 'my-plugin',
routes: {
root: rootRoute,
},
});
export const MyPage = plugin.provide(
createRoutableExtension({
component: () => import('./components/MyPage').then(m => m.MyPage),
mountPoint: rootRoute,
}),
);
```
And then use `MyPage` like this in the app:
```tsx
<FlatRoutes>
...
<Route path='/my-path' element={<MyPage />}>
...
</FlatRoutes>
```
-9
View File
@@ -54,13 +54,4 @@ addRoute(
Component: ComponentType<any>,
options?: RouteOptions,
): void;
/**
* @deprecated See the `addRoute` method
*/
registerRoute(
path: RoutePath,
Component: ComponentType<any>,
options?: RouteOptions,
): void;
```
-9
View File
@@ -15,15 +15,6 @@ addRoute(
Component: ComponentType<any>,
options?: RouteOptions,
): void;
/**
* @deprecated See the `addRoute` method
*/
registerRoute(
path: RoutePath,
Component: ComponentType<any>,
options?: RouteOptions,
): void;
```
## RouteRef
-3
View File
@@ -68,9 +68,6 @@ export class PluginImpl<
options,
});
},
registerRoute(path, component, options) {
outputs.push({ type: 'legacy-route', path, component, options });
},
},
featureFlags: {
register(name) {
+6 -10
View File
@@ -99,26 +99,22 @@ export type PluginConfig<
};
export type PluginHooks = {
/**
* @deprecated All router hooks have been deprecated
*/
router: RouterHooks;
featureFlags: FeatureFlagsHooks;
};
export type RouterHooks = {
/**
* @deprecated Use a routable extension instead, see https://backstage.io/docs/plugins/composability#porting-existing-plugins
*/
addRoute(
target: RouteRef,
Component: ComponentType<any>,
options?: RouteOptions,
): void;
/**
* @deprecated See the `addRoute` method
* @see https://github.com/backstage/backstage/issues/418
*/
registerRoute(
path: RoutePath,
Component: ComponentType<any>,
options?: RouteOptions,
): void;
};
export type FeatureFlagsHooks = {