Merge branch 'backstage:master' into master

This commit is contained in:
Yousif Al-Raheem
2021-11-22 13:56:56 +01:00
committed by GitHub
443 changed files with 5809 additions and 1917 deletions
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/errors': patch
---
Deprecate `parseErrorResponse` in favour of `parseErrorResponseBody`. Deprecate `data` field inside `ErrorResponse` in favour of `body`.
Rename the error name for unknown errors from `unknown` to `error`.
+2 -2
View File
@@ -23,13 +23,13 @@ const {
async function getDependencyReleaseLine(changesets, dependenciesUpdated) {
if (dependenciesUpdated.length === 0) return '';
const updatedDepenenciesList = dependenciesUpdated.map(
const updatedDependenciesList = dependenciesUpdated.map(
dependency => ` - ${dependency.name}@${dependency.newVersion}`,
);
// Return one `Updated dependencies` bullet instead of repeating for each changeset; this
// sacrifices the commit shas for brevity.
return ['- Updated dependencies', ...updatedDepenenciesList].join('\n');
return ['- Updated dependencies', ...updatedDependenciesList].join('\n');
}
module.exports = {
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/dev-utils': patch
---
Add theme switcher to sidebar of dev app.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-catalog': patch
---
Remove the "View Api" icon in the AboutCard, as the information is misleading for some users and is
duplicated in the tabs above.
-14
View File
@@ -1,14 +0,0 @@
---
'@backstage/config-loader': minor
---
Update `loadConfig` to return `LoadConfigResult` instead of an array of `AppConfig`.
This function is primarily used internally by other config loaders like `loadBackendConfig` which means no changes are required for most users.
If you use `loadConfig` directly you will need to update your usage from:
```diff
- const appConfigs = await loadConfig(options)
+ const { appConfigs } = await loadConfig(options)
```
@@ -1,5 +0,0 @@
---
'@backstage/plugin-cost-insights': patch
---
Fixed generation of sample data in the example Cost Insights client
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/catalog-client': patch
---
Update to the right version of @backstage/errors
-19
View File
@@ -1,19 +0,0 @@
---
'@backstage/plugin-gcp-projects': patch
---
UI updates to GCP-projects plugin
Adds the following to the project list page:
- pagination
- filtering
- sorting
- rows per page
- show/hide columns
Makes breadcrumb a link back to project list for the project details and new project views.
In project list page, updates New project button to use RouterLink instead of `href` to avoid login prompt.
In project details view, links to project details and logs now work, clicking on these will open the project or logs in GCP in new tab.
-8
View File
@@ -1,8 +0,0 @@
---
'@backstage/catalog-model': patch
'@backstage/cli': patch
'@backstage/config-loader': patch
'@backstage/plugin-scaffolder': patch
---
Update the json-schema dependency version.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli': patch
---
remove double config dep
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-kafka-backend': patch
---
Update Kafka configuration types
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Switch the default test coverage provider from the jest default one to `'v8'`, which provides much better coverage information when using the default Backstage test setup. This is considered a bug fix as the current coverage information is often very inaccurate.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/dev-utils': patch
---
Migrated to using `@backstage/app-defaults`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-common': patch
---
Added the `isDatabaseConflictError` function.
-13
View File
@@ -1,13 +0,0 @@
---
'@backstage/create-app': patch
---
Migrated the app template use the new `@backstage/app-defaults` for the `createApp` import, since the `createApp` exported by `@backstage/app-core-api` will be removed in the future.
To migrate an existing application, add the latest version of `@backstage/app-defaults` as a dependency in `packages/app/package.json`, and make the following change to `packages/app/src/App.tsx`:
```diff
-import { createApp, FlatRoutes } from '@backstage/core-app-api';
+import { createApp } from '@backstage/app-defaults';
+import { FlatRoutes } from '@backstage/core-app-api';
```
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/backend-common': patch
'@backstage/cli': patch
---
Update internal usage of `configLoader.loadConfig` that now returns an object instead of an array of configs.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/core-components': patch
'@backstage/plugin-user-settings': patch
---
Add Props Icon for Sidebar Item SidebarSearchField and Settings
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Disable ES transforms in tests transformed by the `jestSucraseTransform.js`. This is not considered a breaking change since all code is already transpiled this way in the development setup.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/create-app': patch
---
DefaultTechDocsCollator is now included in the search backend, and the Search Page updated with the SearchType component that includes the techdocs type
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-bazaar': patch
'@backstage/plugin-bazaar-backend': patch
---
A Bazaar project has been extended with the following fields: size, start date (optional), end date (optional) and a responsible person.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-components': patch
---
Changing the `Header` styles to use more theme variables. With this the title `font-size` will not change on resizing the window.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
Refactor and add regression tests for create-app tasks
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli': minor
---
Tweaked style insertion logic to make sure that JSS stylesheets always receive the highest priority.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-common': patch
---
Paths can be specified in backend.reading.allow to further restrict allowed targets
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/core-app-api': patch
'@backstage/test-utils': patch
---
Migrated to using new `ErrorApiError` and `ErrorApiErrorContext` names.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/core-components': patch
'@backstage/plugin-auth-backend': patch
---
Update OAuthAdapter to create identity.token from identity.idToken if it does not exist, and prevent overwrites to identity.toke. Update login page commonProvider to prefer .token over .idToken
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Skip empty file names when scaffolding with nunjucks
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
Adjust entity query construction to ensure sub-queries are always isolated from one another.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-common': patch
---
Add `AbortSignal` support to `UrlReader`
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-permission-common': minor
---
Accept configApi rather than enabled flag in PermissionClient constructor.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-app-api': patch
---
Deprecated the `BackstagePluginWithAnyOutput` type.
-12
View File
@@ -1,12 +0,0 @@
---
'@backstage/backend-common': patch
---
Make sure that server builder `start()` propagates errors (such as failing to bind to the required port) properly and doesn't resolve the promise prematurely.
After this change, the backend logger will be able to actually capture the error as it happens:
```
2021-11-11T10:54:21.334Z backstage info Initializing http server
2021-11-11T10:54:21.335Z backstage error listen EADDRINUSE: address already in use :::7000 code=EADDRINUSE errno=-48 syscall=listen address=:: port=7000
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-app-api': patch
---
Start exporting and marking several types as public to address errors in the API report.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-config-schema': patch
'@backstage/plugin-scaffolder': patch
---
Fixed a missing `await` when throwing server side errors
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-plugin-api': minor
---
Removed the unused `UserFlags` type.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-plugin-api': patch
---
Deprecated the `theme` property on `AppTheme`, replacing it with `Provider`. See https://backstage.io/docs/api/deprecations#app-theme for more details.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli': patch
---
Added a scaffolder backend module template for the `create` command.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-plugin-api': minor
---
Remove exports of unused types(`RouteOptions` and `RoutePath`).
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/test-utils': patch
---
Migrated to using `createSpecializedApp`.
+42
View File
@@ -0,0 +1,42 @@
---
'@backstage/plugin-catalog-backend': minor
---
**BREAKING** EntitiesSearchFilter fields have changed.
EntitiesSearchFilter now has only two fields: `key` and `value`. The `matchValueIn` and `matchValueExists` fields are no longer are supported. Previous filters written using the `matchValueIn` and `matchValueExists` fields can be rewritten as follows:
Filtering by existence of key only:
```diff
filter: {
{
key: 'abc',
- matchValueExists: true,
},
}
```
Filtering by key and values:
```diff
filter: {
{
key: 'abc',
- matchValueExists: true,
- matchValueIn: ['xyz'],
+ values: ['xyz'],
},
}
```
Negation of filters can now be achieved through a `not` object:
```
filter: {
not: {
key: 'abc',
values: ['xyz'],
},
}
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli': patch
---
Fixed a bug where calling `backstage-cli backend:bundle --build-dependencies` with no dependencies to be built would cause all monorepo packages to be built instead.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-common': patch
---
Do not redact empty or one-character strings. These imply that it's just a test or local dev, and unnecessarily ruin the log output.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/plugin-azure-devops': patch
'@backstage/plugin-azure-devops-backend': patch
'@backstage/plugin-azure-devops-common': minor
---
Improved Date handling for the Azure DevOps set of plugins by using strings and letting the frontend handle the conversion to DateTime
@@ -1,5 +0,0 @@
---
'@backstage/plugin-techdocs': patch
---
Fixed entity triplet case handling for certain locales.
@@ -1,5 +0,0 @@
---
'@backstage/techdocs-common': patch
---
Added OpenStack Swift case migration support.
@@ -1,6 +0,0 @@
---
'@backstage/techdocs-common': patch
'@backstage/plugin-techdocs-backend': patch
---
Allow amazon web services s3 buckets to pass an server side encryption configuration so they can publish to encrypted buckets
@@ -1,5 +0,0 @@
---
'@backstage/plugin-techdocs': patch
---
Use a better checkbox rendering in a task list.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-techdocs': patch
---
Updates reader component used to display techdocs documentation. A previous change made this component not usable out of a page which don't have entityRef in url parameters. Reader component EntityRef parameter is now used instead of url parameters. Techdocs documentation component can now be used in our custom pages.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli': patch
---
bump `@rollup/plugin-commonjs` from 17.1.0 to 21.0.1
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli': patch
---
Introduces new `backstage-cli create` command to replace `create-plugin` and make space for creating a wider array of things. The create command also adds a new template for creating isomorphic common plugin packages.
-9
View File
@@ -1,9 +0,0 @@
---
'@backstage/core-app-api': patch
---
The `createApp` function from `@backstage/core-app-api` has been deprecated, with two new options being provided as a replacement.
The first and most commonly used one is `createApp` from the new `@backstage/app-defaults` package, which behaves just like the existing `createApp`. In the future this method is likely to be expanded to add more APIs and other pieces into the default setup, for example the Utility APIs from `@backstage/integration-react`.
The other option that we now provide is to use `createSpecializedApp` from `@backstage/core-app-api`. This is a more low-level API where you need to provide a full set of options, including your own `components`, `icons`, `defaultApis`, and `themes`. The `createSpecializedApp` way of creating an app is particularly useful if you are not using `@backstage/core-components` or MUI, as it allows you to avoid those dependencies completely.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
adds getDefaultProcessor method to CatalogBuilder
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Update the default routes to use id instead of title
+63
View File
@@ -0,0 +1,63 @@
---
'@backstage/core-app-api': patch
'@backstage/test-utils': patch
---
The `ApiRegistry` from `@backstage/core-app-api` class has been deprecated and will be removed in a future release. To replace it, we have introduced two new helpers that are exported from `@backstage/test-utils`, namely `TestApiProvider` and `TestApiRegistry`.
These two new helpers are more tailored for writing tests and development setups, as they allow for partial implementations of each of the APIs.
When migrating existing code it is typically best to prefer usage of `TestApiProvider` when possible, so for example the following code:
```tsx
render(
<ApiProvider
apis={ApiRegistry.from([
[identityApiRef, mockIdentityApi as unknown as IdentityApi]
])}
>
{...}
</ApiProvider>
)
```
Would be migrated to this:
```tsx
render(
<TestApiProvider apis={[[identityApiRef, mockIdentityApi]]}>
{...}
</TestApiProvider>
)
```
In cases where the `ApiProvider` is used in a more standalone way, for example to reuse a set of APIs across multiple tests, the `TestApiRegistry` can be used instead. Note that the `TestApiRegistry` only has a single static factory method, `.from()`, and it is slightly different from the existing `.from()` method on `ApiRegistry` in that it doesn't require the API pairs to be wrapped in an outer array.
Usage that looks like this:
```ts
const apis = ApiRegistry.with(
identityApiRef,
mockIdentityApi as unknown as IdentityApi,
).with(configApiRef, new ConfigReader({}));
```
OR like this:
```ts
const apis = ApiRegistry.from([
[identityApiRef, mockIdentityApi as unknown as IdentityApi],
[configApiRef, new ConfigReader({})],
]);
```
Would be migrated to this:
```ts
const apis = TestApiRegistry.from(
[identityApiRef, mockIdentityApi],
[configApiRef, new ConfigReader({})],
);
```
If your app is still using the `ApiRegistry` to construct the `apis` for `createApp`, we recommend that you move over to use the new method of supplying API factories instead, using `createApiFactory`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-plugin-api': patch
---
Deprecated the `Error` and `ErrorContext` types, replacing them with identical `ErrorApiError` and `ErrorApiErrorContext` types.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-components': patch
---
Pin sidebar by default for easier navigation