Version Packages

This commit is contained in:
github-actions[bot]
2021-06-10 12:18:06 +00:00
parent ed351ec8cf
commit 4a93128245
144 changed files with 1399 additions and 965 deletions
-43
View File
@@ -1,43 +0,0 @@
---
'@backstage/cli': minor
---
Switch from `ts-jest` to `@sucrase/jest-plugin`, improving performance and aligning transpilation with bundling.
In order to switch back to `ts-jest`, install `ts-jest@^26.4.3` as a dependency in the root of your repo and add the following in the root `package.json`:
```json
"jest": {
"globals": {
"ts-jest": {
"isolatedModules": true
}
},
"transform": {
"\\.esm\\.js$": "@backstage/cli/config/jestEsmTransform.js",
"\\.(js|jsx|ts|tsx)$": "ts-jest",
"\\.(bmp|gif|jpg|jpeg|png|frag|xml|svg)$": "@backstage/cli/config/jestFileTransform.js",
"\\.(yaml)$": "yaml-jest"
}
}
```
Note that this will override the default jest transforms included with the `@backstage/cli`.
It is possible that some test code needs a small migration as a result of this change, which stems from a difference in how `sucrase` and `ts-jest` transform module re-exports.
Consider the following code:
```ts
import * as utils from './utils';
jest.spyOn(utils, 'myUtility').mockReturnValue(3);
```
If the `./utils` import for example refers to an index file that in turn re-exports from `./utils/myUtility`, you would have to change the code to the following to work around the fact that the exported object from `./utils` ends up not having configurable properties, thus breaking `jest.spyOn`.
```ts
import * as utils from './utils/myUtility';
jest.spyOn(utils, 'myUtility').mockReturnValue(3);
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog': patch
---
A `<CatalogResultListItem />` component is now available for use in custom Search Experiences.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-api': patch
---
Improve forwards compatibility with `@backstage/core-app-api` and `@backstage/core-plugin-api` by re-using route reference types and factory methods from `@backstage/core-plugin-api`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-cost-insights': patch
---
Move `canvas` package to `devDependencies`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-app-api': patch
---
Fixes a type bug where supplying all app icons to `createApp` was required, rather than just a partial list.
-43
View File
@@ -1,43 +0,0 @@
---
'@backstage/create-app': patch
---
Updated the `@gitbeaker/node` dependency past the broken one without a `dist` folder.
See [this issue](https://github.com/jdalrymple/gitbeaker/issues/1861) for more details.
If you get build errors that look like the following in your Backstage instance, you may want to also bump all of your `@gitbeaker/*` dependencies to at least `^30.2.0`.
```
node:internal/modules/cjs/loader:356
throw err;
^
Error: Cannot find module '/path/to/project/node_modules/@gitbeaker/node/dist/index.js'. Please verify that the package.json has a valid "main" entry
at tryPackage (node:internal/modules/cjs/loader:348:19)
at Function.Module._findPath (node:internal/modules/cjs/loader:561:18)
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:926:27)
at Function.Module._load (node:internal/modules/cjs/loader:773:27)
at Module.require (node:internal/modules/cjs/loader:1012:19)
at require (node:internal/modules/cjs/helpers:93:18)
at Object.<anonymous> (/path/to/project/test.js:4:18)
at Module._compile (node:internal/modules/cjs/loader:1108:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
at Module.load (node:internal/modules/cjs/loader:988:32) {
code: 'MODULE_NOT_FOUND',
path: '/path/to/project/node_modules/@gitbeaker/node/package.json',
requestPath: '@gitbeaker/node'
}
```
you could also consider pinning the version to an older one in your `package.json` either root or `packages/backend/package.json`, before the breakage occurred.
```json
"resolutions": {
"**/@gitbeaker/node": "29.2.4",
"**/@gitbeaker/core": "29.2.4",
"**/@gitbeaker/requester-utils": "29.2.4"
}
```
Be aware that this is only required short term until we can release our updated versions of `@backstage/plugin-scaffolder-backend`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
Restructure the next catalog types and files a bit
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-components': patch
---
Use app.title for helmet in header
-34
View File
@@ -1,34 +0,0 @@
---
'@backstage/core-app-api': patch
'@backstage/core-components': patch
'@backstage/core-plugin-api': patch
---
This change adds automatic error boundaries around extensions.
This means that all exposed parts of a plugin are wrapped in a general error boundary component, that is plugin aware. The default design for the error box is borrowed from `@backstage/errors`. To override the default "fallback", one must provide a component named `ErrorBoundaryFallback` to `createApp`, like so:
```ts
const app = createApp({
components: {
ErrorBoundaryFallback: props => {
// a custom fallback component
return (
<>
<h1>Oops.</h1>
<h2>
The plugin {props.plugin.getId()} failed with {props.error.message}
</h2>
<button onClick={props.resetError}>Try again</button>
</>
);
},
},
});
```
The props here include:
- `error`. An `Error` object or something that inherits it that represents the error that was thrown from any inner component.
- `resetError`. A callback that will simply attempt to mount the children of the error boundary again.
- `plugin`. A `BackstagePlugin` that can be used to look up info to be presented in the error message. For instance, you may want to keep a map of your internal plugins and team names or slack channels and present these when an error occurs. Typically, you'll do that by getting the plugin ID with `plugin.getId()`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-test-utils': patch
---
Skip running docker tests unless in CI
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-github-actions': patch
---
Add missing token on job list call to GitHub API
-23
View File
@@ -1,23 +0,0 @@
---
'@backstage/backend-common': patch
---
Omits the `upgrade-insecure-requests` Content-Security-Policy directive by default, to prevent automatic HTTPS request upgrading for HTTP-deployed Backstage sites.
If you previously disabled this using `false` in your `app-config.yaml`, this line is no longer necessary:
```diff
backend:
csp:
- upgrade-insecure-requests: false
```
To keep the existing behavior of `upgrade-insecure-requests` Content-Security-Policy being _enabled_, add the key with an empty array as the value in your `app-config.yaml`:
```diff
backend:
+ csp:
+ upgrade-insecure-requests: []
```
Read more on [upgrade-insecure-requests here](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/upgrade-insecure-requests).
-23
View File
@@ -1,23 +0,0 @@
---
'@backstage/catalog-model': patch
'@backstage/plugin-scaffolder': patch
'@backstage/plugin-scaffolder-backend': patch
---
Introduce conditional steps in scaffolder templates.
A step can now include an `if` property that only executes a step if the
condition is truthy. The condition can include handlebar templates.
```yaml
- id: register
if: '{{ not parameters.dryRun }}'
name: Register
action: catalog:register
input:
repoContentsUrl: '{{ steps.publish.output.repoContentsUrl }}'
catalogInfoPath: '/catalog-info.yaml'
```
Also introduces a `not` helper in handlebar templates that allows to negate
boolean expressions.
-8
View File
@@ -1,8 +0,0 @@
---
'@backstage/integration-react': patch
'@backstage/plugin-catalog': patch
---
Move `ScmIntegrationIcon` from `@backstage/plugin-catalog` to
`@backstage/integration-react` and make it customizable using
`app.getSystemIcon()`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': minor
---
Scaffolding a repository in Bitbucket will now use the apiBaseUrl if it is provided instead of only the host parameter
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder': patch
---
Provide a link to the template source on the `TemplateCard`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli': patch
---
Updated dependencies
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-plugin-api': patch
---
Apply fixes to the extension creation API that were mistakenly applied to `@backstage/core-app-api` instead.
-17
View File
@@ -1,17 +0,0 @@
---
'@backstage/create-app': patch
'@backstage/plugin-scaffolder-backend': patch
---
Migrating old `backstage.io/v1alpha1` templates to `backstage.io/v1beta2`
Deprecating the `create-react-app` Template. We're planning on removing the `create-react-app` templater, as it's been a little tricky to support and takes 15mins to run in a container. We've currently cached a copy of the output for `create-react-app` and ship that under our sample templates folder. If you want to continue using it, we suggest copying the template out of there and putting it in your own repository as it will be removed in upcoming releases.
We also recommend removing this entry from your `app-config.yaml` if it exists:
```diff
- - type: url
- target: https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/sample-templates/create-react-app/template.yaml
- rules:
- - allow: [Template]
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-app-api': patch
---
Deprecate and disable the extension creation methods, which were added to this package by mistake and should only exist within `@backstage/core-plugin-api`.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/plugin-catalog': patch
'@backstage/plugin-catalog-react': patch
---
Expose `getEntitySourceLocation`, `getEntityMetadataViewUrl`, and
`getEntityMetadataEditUrl` from `@backstage/plugin-catalog-react`.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/catalog-client': patch
'@backstage/plugin-catalog-import': patch
---
Display preview result final step.
-9
View File
@@ -1,9 +0,0 @@
---
'@backstage/search-common': patch
'@backstage/plugin-search-backend-node': patch
'@backstage/plugin-search': patch
---
The `<Search...Next /> set of components exported by the Search Plugin are now updated to use the Search Backend API. These will be made available as the default non-"next" versions in a follow-up release.
The interfaces for decorators and collators in the Search Backend have also seen minor, breaking revisions ahead of a general release. If you happen to be building on top of these interfaces, check and update your implementations accordingly. The APIs will be considered more stable in a follow-up release.
-76
View File
@@ -1,76 +0,0 @@
---
'@backstage/plugin-search-backend': minor
'@backstage/plugin-search-backend-node': minor
---
This release represents a move out of a pre-alpha phase of the Backstage Search
plugin, into an alpha phase. With this release, you gain more control over the
layout of your search page on the frontend, as well as the ability to extend
search on the backend to encompass everything Backstage users may want to find.
If you are updating to version `v0.4.0` of `@backstage/plugin-search` from a
prior release, you will need to make modifications to your app backend.
First, navigate to your backend package and install the two related search
backend packages:
```sh
cd packages/backend
yarn add @backstage/plugin-search-backend @backstage/plugin-search-backend-node
```
Wire up these new packages into your app backend by first creating a new
`search.ts` file at `src/plugins/search.ts` with contents like the following:
```typescript
import { useHotCleanup } from '@backstage/backend-common';
import { createRouter } from '@backstage/plugin-search-backend';
import {
IndexBuilder,
LunrSearchEngine,
} from '@backstage/plugin-search-backend-node';
import { PluginEnvironment } from '../types';
import { DefaultCatalogCollator } from '@backstage/plugin-catalog-backend';
export default async function createPlugin({
logger,
discovery,
}: PluginEnvironment) {
// Initialize a connection to a search engine.
const searchEngine = new LunrSearchEngine({ logger });
const indexBuilder = new IndexBuilder({ logger, searchEngine });
// Collators are responsible for gathering documents known to plugins. This
// particular collator gathers entities from the software catalog.
indexBuilder.addCollator({
defaultRefreshIntervalSeconds: 600,
collator: new DefaultCatalogCollator({ discovery }),
});
// The scheduler controls when documents are gathered from collators and sent
// to the search engine for indexing.
const { scheduler } = await indexBuilder.build();
// A 3 second delay gives the backend server a chance to initialize before
// any collators are executed, which may attempt requests against the API.
setTimeout(() => scheduler.start(), 3000);
useHotCleanup(module, () => scheduler.stop());
return await createRouter({
engine: indexBuilder.getSearchEngine(),
logger,
});
}
```
Then, ensure the search plugin you configured above is initialized by modifying
your backend's `index.ts` file in the following ways:
```diff
+import search from './plugins/search';
// ...
+const searchEnv = useHotMemoize(module, () => createEnv('search'));
// ...
+apiRouter.use('/search', await search(searchEnv));
// ...
```
-118
View File
@@ -1,118 +0,0 @@
---
'@backstage/plugin-search': minor
---
This release represents a move out of a pre-alpha phase of the Backstage Search
plugin, into an alpha phase. With this release, you gain more control over the
layout of your search page on the frontend, as well as the ability to extend
search on the backend to encompass everything Backstage users may want to find.
If you are updating to this version of `@backstage/plugin-search` from a prior
release, you will need to make the following modifications to your App:
In your app package, create a new `searchPage` component at, for example,
`packages/app/src/components/search/SearchPage.tsx` with contents like the
following:
```tsx
import React from 'react';
import { makeStyles, Theme, Grid, List, Paper } from '@material-ui/core';
import { Content, Header, Lifecycle, Page } from '@backstage/core';
import { CatalogResultListItem } from '@backstage/plugin-catalog';
import {
SearchBar,
SearchFilter,
SearchResult,
DefaultResultListItem,
} from '@backstage/plugin-search';
const useStyles = makeStyles((theme: Theme) => ({
bar: {
padding: theme.spacing(1, 0),
},
filters: {
padding: theme.spacing(2),
},
filter: {
'& + &': {
marginTop: theme.spacing(2.5),
},
},
}));
const SearchPage = () => {
const classes = useStyles();
return (
<Page themeId="home">
<Header title="Search" subtitle={<Lifecycle alpha />} />
<Content>
<Grid container direction="row">
<Grid item xs={12}>
<Paper className={classes.bar}>
<SearchBar debounceTime={100} />
</Paper>
</Grid>
<Grid item xs={3}>
<Paper className={classes.filters}>
<SearchFilter.Select
className={classes.filter}
name="kind"
values={['Component', 'Template']}
/>
<SearchFilter.Checkbox
className={classes.filter}
name="lifecycle"
values={['experimental', 'production']}
/>
</Paper>
</Grid>
<Grid item xs={9}>
<SearchResult>
{({ results }) => (
<List>
{results.map(({ type, document }) => {
switch (type) {
case 'software-catalog':
return (
<CatalogResultListItem
key={document.location}
result={document}
/>
);
default:
return (
<DefaultResultListItem
key={document.location}
result={document}
/>
);
}
})}
</List>
)}
</SearchResult>
</Grid>
</Grid>
</Content>
</Page>
);
};
export const searchPage = <SearchPage />;
```
Then in `App.tsx`, import this new `searchPage` component, and set it as a
child of the existing `<SearchPage />` route so that it looks like this:
```tsx
import { searchPage } from './components/search/SearchPage';
// ...
<Route path="/search" element={<SearchPage />}>
{searchPage}
</Route>;
```
You will also need to update your backend. For details, check the changeset for
`v0.2.0` of `@backstage/plugin-search-backend`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-github-deployments': patch
---
Add deployment statuses to the GithubDeployments plugin
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-app-api': patch
---
Update `createApp` options to allow plugins with unknown output types in order to improve forwards and backwards compatibility.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Add `debug:log` action for debugging.
-9
View File
@@ -1,9 +0,0 @@
---
'@backstage/cli': patch
---
Fix error message formatting in the packaging process.
error.errors can be undefined which will lead to a TypeError, swallowing the actual error message in the process.
For instance, if you break your tsconfig.json with invalid syntax, backstage-cli will not be able to build anything and it will be very hard to find out why because the underlying error message is hidden behind a TypeError.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog': patch
---
A new card that shows components that depend on the active component
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/backend-common': patch
'@backstage/integration': patch
---
Download archives as compressed tar files for Bitbucket to keep executable permissions.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Update gitbeaker past the broken version without a dist folder
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog': patch
---
Exported AboutCard contents and utility functions
-176
View File
@@ -1,176 +0,0 @@
---
'@backstage/create-app': patch
---
Added "out-of-the-box" alpha-milestone search features to scaffolded Backstage apps.
To apply this change to an existing app, do the following...
First, navigate to your backend package and install the two new search backend
packages:
```sh
cd packages/backend
yarn add @backstage/plugin-search-backend @backstage/plugin-search-backend-node
```
Wire up these new packages into your app backend by first creating a new
`search.ts` file at `src/plugins/search.ts` with contents like the following:
```typescript
import { useHotCleanup } from '@backstage/backend-common';
import { createRouter } from '@backstage/plugin-search-backend';
import {
IndexBuilder,
LunrSearchEngine,
} from '@backstage/plugin-search-backend-node';
import { PluginEnvironment } from '../types';
import { DefaultCatalogCollator } from '@backstage/plugin-catalog-backend';
export default async function createPlugin({
logger,
discovery,
}: PluginEnvironment) {
// Initialize a connection to a search engine.
const searchEngine = new LunrSearchEngine({ logger });
const indexBuilder = new IndexBuilder({ logger, searchEngine });
// Collators are responsible for gathering documents known to plugins. This
// particular collator gathers entities from the software catalog.
indexBuilder.addCollator({
defaultRefreshIntervalSeconds: 600,
collator: new DefaultCatalogCollator({ discovery }),
});
// The scheduler controls when documents are gathered from collators and sent
// to the search engine for indexing.
const { scheduler } = await indexBuilder.build();
// A 3 second delay gives the backend server a chance to initialize before
// any collators are executed, which may attempt requests against the API.
setTimeout(() => scheduler.start(), 3000);
useHotCleanup(module, () => scheduler.stop());
return await createRouter({
engine: indexBuilder.getSearchEngine(),
logger,
});
}
```
Then, ensure the search plugin you configured above is initialized by modifying
your backend's `index.ts` file in the following ways:
```diff
+import search from './plugins/search';
// ...
+const searchEnv = useHotMemoize(module, () => createEnv('search'));
// ...
+apiRouter.use('/search', await search(searchEnv));
// ...
```
In your frontend app package, create a new `searchPage` component at, for
example, `packages/app/src/components/search/SearchPage.tsx` with contents like
the following:
```tsx
import React from 'react';
import { makeStyles, Theme, Grid, List, Paper } from '@material-ui/core';
import { Content, Header, Lifecycle, Page } from '@backstage/core';
import { CatalogResultListItem } from '@backstage/plugin-catalog';
import {
SearchBar,
SearchFilter,
SearchResult,
DefaultResultListItem,
} from '@backstage/plugin-search';
const useStyles = makeStyles((theme: Theme) => ({
bar: {
padding: theme.spacing(1, 0),
},
filters: {
padding: theme.spacing(2),
},
filter: {
'& + &': {
marginTop: theme.spacing(2.5),
},
},
}));
const SearchPage = () => {
const classes = useStyles();
return (
<Page themeId="home">
<Header title="Search" subtitle={<Lifecycle alpha />} />
<Content>
<Grid container direction="row">
<Grid item xs={12}>
<Paper className={classes.bar}>
<SearchBar debounceTime={100} />
</Paper>
</Grid>
<Grid item xs={3}>
<Paper className={classes.filters}>
<SearchFilter.Select
className={classes.filter}
name="kind"
values={['Component', 'Template']}
/>
<SearchFilter.Checkbox
className={classes.filter}
name="lifecycle"
values={['experimental', 'production']}
/>
</Paper>
</Grid>
<Grid item xs={9}>
<SearchResult>
{({ results }) => (
<List>
{results.map(({ type, document }) => {
switch (type) {
case 'software-catalog':
return (
<CatalogResultListItem
key={document.location}
result={document}
/>
);
default:
return (
<DefaultResultListItem
key={document.location}
result={document}
/>
);
}
})}
</List>
)}
</SearchResult>
</Grid>
</Grid>
</Content>
</Page>
);
};
export const searchPage = <SearchPage />;
```
Then in `App.tsx`, import this new `searchPage` component, and set it as a
child of the existing `<SearchPage />` route so that it looks like this:
```diff
+import { searchPage } from './components/search/SearchPage';
// ...
-<Route path="/search" element={<SearchPage />} />
+<Route path="/search" element={<SearchPage />}>
+ {searchPage}
+</Route>;
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-proxy-backend': patch
---
Fixed proxy requests to the base URL of routes without a trailing slash redirecting to the `target` with the full path appended.
+30
View File
@@ -1,5 +1,35 @@
# example-app
## 0.2.32
### Patch Changes
- Updated dependencies [9cd3c533c]
- Updated dependencies [db1c8f93b]
- Updated dependencies [9d906c7a1]
- Updated dependencies [9bdd2cca8]
- Updated dependencies [27a9b503a]
- Updated dependencies [f4e3ac5ce]
- Updated dependencies [9b4010965]
- Updated dependencies [7f7443308]
- Updated dependencies [7028ee1ca]
- Updated dependencies [70bc30c5b]
- Updated dependencies [db1c8f93b]
- Updated dependencies [5aff84759]
- Updated dependencies [21e8ebef5]
- Updated dependencies [4fbb00707]
- Updated dependencies [d5ad47bbb]
- @backstage/cli@0.7.0
- @backstage/plugin-catalog@0.6.2
- @backstage/plugin-cost-insights@0.10.2
- @backstage/plugin-github-actions@0.4.9
- @backstage/catalog-model@0.8.2
- @backstage/plugin-scaffolder@0.9.8
- @backstage/integration-react@0.1.3
- @backstage/plugin-catalog-react@0.2.2
- @backstage/plugin-catalog-import@0.5.9
- @backstage/plugin-search@0.4.0
## 0.2.31
### Patch Changes
+11 -11
View File
@@ -1,25 +1,25 @@
{
"name": "example-app",
"version": "0.2.31",
"version": "0.2.32",
"private": true,
"bundled": true,
"dependencies": {
"@backstage/catalog-model": "^0.8.1",
"@backstage/cli": "^0.6.14",
"@backstage/catalog-model": "^0.8.2",
"@backstage/cli": "^0.7.0",
"@backstage/core": "^0.7.12",
"@backstage/integration-react": "^0.1.2",
"@backstage/integration-react": "^0.1.3",
"@backstage/plugin-api-docs": "^0.4.15",
"@backstage/plugin-badges": "^0.2.2",
"@backstage/plugin-catalog": "^0.6.1",
"@backstage/plugin-catalog-import": "^0.5.8",
"@backstage/plugin-catalog-react": "^0.2.1",
"@backstage/plugin-catalog": "^0.6.2",
"@backstage/plugin-catalog-import": "^0.5.9",
"@backstage/plugin-catalog-react": "^0.2.2",
"@backstage/plugin-circleci": "^0.2.15",
"@backstage/plugin-cloudbuild": "^0.2.16",
"@backstage/plugin-code-coverage": "^0.1.4",
"@backstage/plugin-cost-insights": "^0.10.1",
"@backstage/plugin-cost-insights": "^0.10.2",
"@backstage/plugin-explore": "^0.3.6",
"@backstage/plugin-gcp-projects": "^0.2.6",
"@backstage/plugin-github-actions": "^0.4.8",
"@backstage/plugin-github-actions": "^0.4.9",
"@backstage/plugin-graphiql": "^0.2.11",
"@backstage/plugin-jenkins": "^0.4.4",
"@backstage/plugin-kafka": "^0.2.8",
@@ -29,8 +29,8 @@
"@backstage/plugin-org": "^0.3.14",
"@backstage/plugin-pagerduty": "0.3.5",
"@backstage/plugin-rollbar": "^0.3.6",
"@backstage/plugin-scaffolder": "^0.9.7",
"@backstage/plugin-search": "^0.3.7",
"@backstage/plugin-scaffolder": "^0.9.8",
"@backstage/plugin-search": "^0.4.0",
"@backstage/plugin-sentry": "^0.3.11",
"@backstage/plugin-shortcuts": "^0.1.2",
"@backstage/plugin-tech-radar": "^0.4.0",
+28
View File
@@ -1,5 +1,33 @@
# @backstage/backend-common
## 0.8.2
### Patch Changes
- 92963779b: Omits the `upgrade-insecure-requests` Content-Security-Policy directive by default, to prevent automatic HTTPS request upgrading for HTTP-deployed Backstage sites.
If you previously disabled this using `false` in your `app-config.yaml`, this line is no longer necessary:
```diff
backend:
csp:
- upgrade-insecure-requests: false
```
To keep the existing behavior of `upgrade-insecure-requests` Content-Security-Policy being _enabled_, add the key with an empty array as the value in your `app-config.yaml`:
```diff
backend:
+ csp:
+ upgrade-insecure-requests: []
```
Read more on [upgrade-insecure-requests here](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/upgrade-insecure-requests).
- eda9dbd5f: Download archives as compressed tar files for Bitbucket to keep executable permissions.
- Updated dependencies [eda9dbd5f]
- @backstage/integration@0.5.6
## 0.8.1
### Patch Changes
+3 -3
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-common",
"description": "Common functionality library for Backstage backends",
"version": "0.8.1",
"version": "0.8.2",
"main": "src/index.ts",
"types": "src/index.ts",
"private": false,
@@ -33,7 +33,7 @@
"@backstage/config": "^0.1.5",
"@backstage/config-loader": "^0.6.2",
"@backstage/errors": "^0.1.1",
"@backstage/integration": "^0.5.3",
"@backstage/integration": "^0.5.6",
"@google-cloud/storage": "^5.8.0",
"@octokit/rest": "^18.5.3",
"@types/cors": "^2.8.6",
@@ -76,7 +76,7 @@
}
},
"devDependencies": {
"@backstage/cli": "^0.6.12",
"@backstage/cli": "^0.7.0",
"@backstage/test-utils": "^0.1.12",
"@types/archiver": "^5.1.0",
"@types/compression": "^1.7.0",
+14
View File
@@ -0,0 +1,14 @@
# @backstage/backend-test-utils
## 0.1.2
### Patch Changes
- 0711954a9: Skip running docker tests unless in CI
- Updated dependencies [9cd3c533c]
- Updated dependencies [92963779b]
- Updated dependencies [7f7443308]
- Updated dependencies [21e8ebef5]
- Updated dependencies [eda9dbd5f]
- @backstage/cli@0.7.0
- @backstage/backend-common@0.8.2
+4 -4
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-test-utils",
"description": "Test helpers library for Backstage backends",
"version": "0.1.1",
"version": "0.1.2",
"main": "src/index.ts",
"types": "src/index.ts",
"private": false,
@@ -30,8 +30,8 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/backend-common": "^0.8.0",
"@backstage/cli": "^0.6.10",
"@backstage/backend-common": "^0.8.2",
"@backstage/cli": "^0.7.0",
"@backstage/config": "^0.1.5",
"knex": "^0.95.1",
"mysql2": "^2.2.5",
@@ -41,7 +41,7 @@
"uuid": "^8.0.0"
},
"devDependencies": {
"@backstage/cli": "^0.6.10",
"@backstage/cli": "^0.7.0",
"jest": "^26.0.1"
},
"files": [
+26
View File
@@ -1,5 +1,31 @@
# example-backend
## 0.2.32
### Patch Changes
- Updated dependencies [9c63be545]
- Updated dependencies [92963779b]
- Updated dependencies [27a9b503a]
- Updated dependencies [66c6bfebd]
- Updated dependencies [55a253de2]
- Updated dependencies [70bc30c5b]
- Updated dependencies [db1c8f93b]
- Updated dependencies [5aff84759]
- Updated dependencies [f26e6008f]
- Updated dependencies [eda9dbd5f]
- Updated dependencies [4f8cf50fe]
- Updated dependencies [875809a59]
- @backstage/plugin-catalog-backend@0.10.2
- @backstage/backend-common@0.8.2
- @backstage/catalog-model@0.8.2
- @backstage/plugin-scaffolder-backend@0.12.0
- @backstage/catalog-client@0.3.13
- @backstage/plugin-search-backend-node@0.2.0
- @backstage/plugin-search-backend@0.2.0
- @backstage/plugin-proxy-backend@0.2.9
- example-app@0.2.32
## 0.2.30
### Patch Changes
+11 -11
View File
@@ -1,6 +1,6 @@
{
"name": "example-backend",
"version": "0.2.30",
"version": "0.2.32",
"main": "dist/index.cjs.js",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -27,30 +27,30 @@
"migrate:create": "knex migrate:make -x ts"
},
"dependencies": {
"@backstage/backend-common": "^0.8.0",
"@backstage/catalog-client": "^0.3.12",
"@backstage/catalog-model": "^0.8.0",
"@backstage/backend-common": "^0.8.2",
"@backstage/catalog-client": "^0.3.13",
"@backstage/catalog-model": "^0.8.2",
"@backstage/config": "^0.1.5",
"@backstage/plugin-app-backend": "^0.3.13",
"@backstage/plugin-auth-backend": "^0.3.12",
"@backstage/plugin-badges-backend": "^0.1.6",
"@backstage/plugin-catalog-backend": "^0.10.0",
"@backstage/plugin-catalog-backend": "^0.10.2",
"@backstage/plugin-code-coverage-backend": "^0.1.6",
"@backstage/plugin-graphql-backend": "^0.1.8",
"@backstage/plugin-kubernetes-backend": "^0.3.8",
"@backstage/plugin-kafka-backend": "^0.2.6",
"@backstage/plugin-proxy-backend": "^0.2.8",
"@backstage/plugin-proxy-backend": "^0.2.9",
"@backstage/plugin-rollbar-backend": "^0.1.11",
"@backstage/plugin-scaffolder-backend": "^0.11.4",
"@backstage/plugin-search-backend": "^0.1.5",
"@backstage/plugin-search-backend-node": "^0.1.3",
"@backstage/plugin-scaffolder-backend": "^0.12.0",
"@backstage/plugin-search-backend": "^0.2.0",
"@backstage/plugin-search-backend-node": "^0.2.0",
"@backstage/plugin-techdocs-backend": "^0.8.2",
"@backstage/plugin-todo-backend": "^0.1.6",
"@gitbeaker/node": "^30.2.0",
"@octokit/rest": "^18.5.3",
"azure-devops-node-api": "^10.1.1",
"dockerode": "^3.2.1",
"example-app": "^0.2.30",
"example-app": "^0.2.32",
"express": "^4.17.1",
"express-promise-router": "^4.1.0",
"knex": "^0.95.1",
@@ -60,7 +60,7 @@
"winston": "^3.2.1"
},
"devDependencies": {
"@backstage/cli": "^0.6.13",
"@backstage/cli": "^0.7.0",
"@types/dockerode": "^3.2.1",
"@types/express": "^4.17.6",
"@types/express-serve-static-core": "^4.17.5"
+8
View File
@@ -1,5 +1,13 @@
# @backstage/catalog-client
## 0.3.13
### Patch Changes
- 70bc30c5b: Display preview result final step.
- Updated dependencies [27a9b503a]
- @backstage/catalog-model@0.8.2
## 0.3.12
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/catalog-client",
"version": "0.3.12",
"version": "0.3.13",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -29,13 +29,13 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/catalog-model": "^0.8.0",
"@backstage/catalog-model": "^0.8.2",
"@backstage/config": "^0.1.5",
"@backstage/errors": "^0.1.1",
"cross-fetch": "^3.0.6"
},
"devDependencies": {
"@backstage/cli": "^0.6.13",
"@backstage/cli": "^0.7.0",
"@types/jest": "^26.0.7",
"msw": "^0.21.2"
},
+22
View File
@@ -1,5 +1,27 @@
# @backstage/catalog-model
## 0.8.2
### Patch Changes
- 27a9b503a: Introduce conditional steps in scaffolder templates.
A step can now include an `if` property that only executes a step if the
condition is truthy. The condition can include handlebar templates.
```yaml
- id: register
if: '{{ not parameters.dryRun }}'
name: Register
action: catalog:register
input:
repoContentsUrl: '{{ steps.publish.output.repoContentsUrl }}'
catalogInfoPath: '/catalog-info.yaml'
```
Also introduces a `not` helper in handlebar templates that allows to negate
boolean expressions.
## 0.8.1
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/catalog-model",
"version": "0.8.1",
"version": "0.8.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -41,7 +41,7 @@
"yup": "^0.29.3"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@types/express": "^4.17.6",
"@types/jest": "^26.0.7",
"@types/lodash": "^4.14.151",
+53
View File
@@ -1,5 +1,58 @@
# @backstage/cli
## 0.7.0
### Minor Changes
- 9cd3c533c: Switch from `ts-jest` to `@sucrase/jest-plugin`, improving performance and aligning transpilation with bundling.
In order to switch back to `ts-jest`, install `ts-jest@^26.4.3` as a dependency in the root of your repo and add the following in the root `package.json`:
```json
"jest": {
"globals": {
"ts-jest": {
"isolatedModules": true
}
},
"transform": {
"\\.esm\\.js$": "@backstage/cli/config/jestEsmTransform.js",
"\\.(js|jsx|ts|tsx)$": "ts-jest",
"\\.(bmp|gif|jpg|jpeg|png|frag|xml|svg)$": "@backstage/cli/config/jestFileTransform.js",
"\\.(yaml)$": "yaml-jest"
}
}
```
Note that this will override the default jest transforms included with the `@backstage/cli`.
It is possible that some test code needs a small migration as a result of this change, which stems from a difference in how `sucrase` and `ts-jest` transform module re-exports.
Consider the following code:
```ts
import * as utils from './utils';
jest.spyOn(utils, 'myUtility').mockReturnValue(3);
```
If the `./utils` import for example refers to an index file that in turn re-exports from `./utils/myUtility`, you would have to change the code to the following to work around the fact that the exported object from `./utils` ends up not having configurable properties, thus breaking `jest.spyOn`.
```ts
import * as utils from './utils/myUtility';
jest.spyOn(utils, 'myUtility').mockReturnValue(3);
```
### Patch Changes
- 7f7443308: Updated dependencies
- 21e8ebef5: Fix error message formatting in the packaging process.
error.errors can be undefined which will lead to a TypeError, swallowing the actual error message in the process.
For instance, if you break your tsconfig.json with invalid syntax, backstage-cli will not be able to build anything and it will be very hard to find out why because the underlying error message is hidden behind a TypeError.
## 0.6.14
### Patch Changes
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/cli",
"description": "CLI for developing Backstage plugins and apps",
"version": "0.6.14",
"version": "0.7.0",
"private": false,
"publishConfig": {
"access": "public"
@@ -118,7 +118,7 @@
"yn": "^4.0.0"
},
"devDependencies": {
"@backstage/backend-common": "^0.8.1",
"@backstage/backend-common": "^0.8.2",
"@backstage/config": "^0.1.5",
"@backstage/core": "^0.7.12",
"@backstage/dev-utils": "^0.1.17",
+15
View File
@@ -0,0 +1,15 @@
# @backstage/codemods
## 0.1.1
### Patch Changes
- Updated dependencies [9bca2a252]
- Updated dependencies [e47336ea4]
- Updated dependencies [75b8537ce]
- Updated dependencies [da8cba44f]
- Updated dependencies [da8cba44f]
- Updated dependencies [9bca2a252]
- @backstage/core-app-api@0.1.2
- @backstage/core-components@0.1.2
- @backstage/core-plugin-api@0.1.2
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/codemods",
"description": "A collection of codemods for Backstage projects",
"version": "0.1.0",
"version": "0.1.1",
"private": true,
"homepage": "https://backstage.io",
"repository": {
+9
View File
@@ -1,5 +1,14 @@
# @backstage/core-api
## 0.2.22
### Patch Changes
- 9bca2a252: Improve forwards compatibility with `@backstage/core-app-api` and `@backstage/core-plugin-api` by re-using route reference types and factory methods from `@backstage/core-plugin-api`.
- Updated dependencies [75b8537ce]
- Updated dependencies [da8cba44f]
- @backstage/core-plugin-api@0.1.2
## 0.2.21
### Patch Changes
+3 -3
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/core-api",
"description": "Internal Core API used by Backstage plugins and apps",
"version": "0.2.21",
"version": "0.2.22",
"private": false,
"publishConfig": {
"access": "public",
@@ -30,7 +30,7 @@
},
"dependencies": {
"@backstage/config": "^0.1.4",
"@backstage/core-plugin-api": "^0.1.1",
"@backstage/core-plugin-api": "^0.1.2",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
@@ -43,7 +43,7 @@
"zen-observable": "^0.8.15"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/test-utils": "^0.1.13",
"@backstage/test-utils-core": "^0.1.1",
"@testing-library/jest-dom": "^5.10.1",
+43
View File
@@ -1,5 +1,48 @@
# @backstage/core-app-api
## 0.1.2
### Patch Changes
- 9bca2a252: Fixes a type bug where supplying all app icons to `createApp` was required, rather than just a partial list.
- 75b8537ce: This change adds automatic error boundaries around extensions.
This means that all exposed parts of a plugin are wrapped in a general error boundary component, that is plugin aware. The default design for the error box is borrowed from `@backstage/errors`. To override the default "fallback", one must provide a component named `ErrorBoundaryFallback` to `createApp`, like so:
```ts
const app = createApp({
components: {
ErrorBoundaryFallback: props => {
// a custom fallback component
return (
<>
<h1>Oops.</h1>
<h2>
The plugin {props.plugin.getId()} failed with{' '}
{props.error.message}
</h2>
<button onClick={props.resetError}>Try again</button>
</>
);
},
},
});
```
The props here include:
- `error`. An `Error` object or something that inherits it that represents the error that was thrown from any inner component.
- `resetError`. A callback that will simply attempt to mount the children of the error boundary again.
- `plugin`. A `BackstagePlugin` that can be used to look up info to be presented in the error message. For instance, you may want to keep a map of your internal plugins and team names or slack channels and present these when an error occurs. Typically, you'll do that by getting the plugin ID with `plugin.getId()`.
- da8cba44f: Deprecate and disable the extension creation methods, which were added to this package by mistake and should only exist within `@backstage/core-plugin-api`.
- 9bca2a252: Update `createApp` options to allow plugins with unknown output types in order to improve forwards and backwards compatibility.
- Updated dependencies [e47336ea4]
- Updated dependencies [75b8537ce]
- Updated dependencies [da8cba44f]
- @backstage/core-components@0.1.2
- @backstage/core-plugin-api@0.1.2
## 0.1.1
### Patch Changes
+4 -4
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/core-app-api",
"description": "Core app API used by Backstage apps",
"version": "0.1.1",
"version": "0.1.2",
"private": false,
"publishConfig": {
"access": "public",
@@ -29,9 +29,9 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/core-components": "^0.1.1",
"@backstage/core-components": "^0.1.2",
"@backstage/config": "^0.1.3",
"@backstage/core-plugin-api": "^0.1.1",
"@backstage/core-plugin-api": "^0.1.2",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
@@ -44,7 +44,7 @@
"zen-observable": "^0.8.15"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/test-utils": "^0.1.13",
"@backstage/test-utils-core": "^0.1.1",
"@testing-library/jest-dom": "^5.10.1",
+39
View File
@@ -1,5 +1,44 @@
# @backstage/core-components
## 0.1.2
### Patch Changes
- e47336ea4: Use app.title for helmet in header
- 75b8537ce: This change adds automatic error boundaries around extensions.
This means that all exposed parts of a plugin are wrapped in a general error boundary component, that is plugin aware. The default design for the error box is borrowed from `@backstage/errors`. To override the default "fallback", one must provide a component named `ErrorBoundaryFallback` to `createApp`, like so:
```ts
const app = createApp({
components: {
ErrorBoundaryFallback: props => {
// a custom fallback component
return (
<>
<h1>Oops.</h1>
<h2>
The plugin {props.plugin.getId()} failed with{' '}
{props.error.message}
</h2>
<button onClick={props.resetError}>Try again</button>
</>
);
},
},
});
```
The props here include:
- `error`. An `Error` object or something that inherits it that represents the error that was thrown from any inner component.
- `resetError`. A callback that will simply attempt to mount the children of the error boundary again.
- `plugin`. A `BackstagePlugin` that can be used to look up info to be presented in the error message. For instance, you may want to keep a map of your internal plugins and team names or slack channels and present these when an error occurs. Typically, you'll do that by getting the plugin ID with `plugin.getId()`.
- Updated dependencies [75b8537ce]
- Updated dependencies [da8cba44f]
- @backstage/core-plugin-api@0.1.2
## 0.1.1
### Patch Changes
+4 -4
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/core-components",
"description": "Core components used by Backstage plugins and apps",
"version": "0.1.1",
"version": "0.1.2",
"private": false,
"publishConfig": {
"access": "public",
@@ -30,7 +30,7 @@
},
"dependencies": {
"@backstage/config": "^0.1.5",
"@backstage/core-plugin-api": "^0.1.1",
"@backstage/core-plugin-api": "^0.1.2",
"@backstage/errors": "^0.1.1",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
@@ -70,8 +70,8 @@
"zen-observable": "^0.8.15"
},
"devDependencies": {
"@backstage/core-app-api": "^0.1.1",
"@backstage/cli": "^0.6.14",
"@backstage/core-app-api": "^0.1.2",
"@backstage/cli": "^0.7.0",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^11.2.5",
+36
View File
@@ -1,5 +1,41 @@
# @backstage/core-plugin-api
## 0.1.2
### Patch Changes
- 75b8537ce: This change adds automatic error boundaries around extensions.
This means that all exposed parts of a plugin are wrapped in a general error boundary component, that is plugin aware. The default design for the error box is borrowed from `@backstage/errors`. To override the default "fallback", one must provide a component named `ErrorBoundaryFallback` to `createApp`, like so:
```ts
const app = createApp({
components: {
ErrorBoundaryFallback: props => {
// a custom fallback component
return (
<>
<h1>Oops.</h1>
<h2>
The plugin {props.plugin.getId()} failed with{' '}
{props.error.message}
</h2>
<button onClick={props.resetError}>Try again</button>
</>
);
},
},
});
```
The props here include:
- `error`. An `Error` object or something that inherits it that represents the error that was thrown from any inner component.
- `resetError`. A callback that will simply attempt to mount the children of the error boundary again.
- `plugin`. A `BackstagePlugin` that can be used to look up info to be presented in the error message. For instance, you may want to keep a map of your internal plugins and team names or slack channels and present these when an error occurs. Typically, you'll do that by getting the plugin ID with `plugin.getId()`.
- da8cba44f: Apply fixes to the extension creation API that were mistakenly applied to `@backstage/core-app-api` instead.
## 0.1.1
### Patch Changes
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/core-plugin-api",
"description": "Core API used by Backstage plugins",
"version": "0.1.1",
"version": "0.1.2",
"private": false,
"publishConfig": {
"access": "public",
@@ -41,7 +41,7 @@
"zen-observable": "^0.8.15"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/test-utils": "^0.1.13",
"@backstage/test-utils-core": "^0.1.1",
"@testing-library/jest-dom": "^5.10.1",
+2 -2
View File
@@ -30,7 +30,7 @@
},
"dependencies": {
"@backstage/config": "^0.1.5",
"@backstage/core-api": "^0.2.21",
"@backstage/core-api": "^0.2.22",
"@backstage/errors": "^0.1.1",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
@@ -71,7 +71,7 @@
"zen-observable": "^0.8.15"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^11.2.5",
+283
View File
@@ -1,5 +1,288 @@
# @backstage/create-app
## 1.0.0
### Patch Changes
- 4f8cf50fe: Updated the `@gitbeaker/node` dependency past the broken one without a `dist` folder.
See [this issue](https://github.com/jdalrymple/gitbeaker/issues/1861) for more details.
If you get build errors that look like the following in your Backstage instance, you may want to also bump all of your `@gitbeaker/*` dependencies to at least `^30.2.0`.
```
node:internal/modules/cjs/loader:356
throw err;
^
Error: Cannot find module '/path/to/project/node_modules/@gitbeaker/node/dist/index.js'. Please verify that the package.json has a valid "main" entry
at tryPackage (node:internal/modules/cjs/loader:348:19)
at Function.Module._findPath (node:internal/modules/cjs/loader:561:18)
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:926:27)
at Function.Module._load (node:internal/modules/cjs/loader:773:27)
at Module.require (node:internal/modules/cjs/loader:1012:19)
at require (node:internal/modules/cjs/helpers:93:18)
at Object.<anonymous> (/path/to/project/test.js:4:18)
at Module._compile (node:internal/modules/cjs/loader:1108:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
at Module.load (node:internal/modules/cjs/loader:988:32) {
code: 'MODULE_NOT_FOUND',
path: '/path/to/project/node_modules/@gitbeaker/node/package.json',
requestPath: '@gitbeaker/node'
}
```
you could also consider pinning the version to an older one in your `package.json` either root or `packages/backend/package.json`, before the breakage occurred.
```json
"resolutions": {
"**/@gitbeaker/node": "29.2.4",
"**/@gitbeaker/core": "29.2.4",
"**/@gitbeaker/requester-utils": "29.2.4"
}
```
Be aware that this is only required short term until we can release our updated versions of `@backstage/plugin-scaffolder-backend`.
- 55a253de2: Migrating old `backstage.io/v1alpha1` templates to `backstage.io/v1beta2`
Deprecating the `create-react-app` Template. We're planning on removing the `create-react-app` templater, as it's been a little tricky to support and takes 15mins to run in a container. We've currently cached a copy of the output for `create-react-app` and ship that under our sample templates folder. If you want to continue using it, we suggest copying the template out of there and putting it in your own repository as it will be removed in upcoming releases.
We also recommend removing this entry from your `app-config.yaml` if it exists:
```diff
- - type: url
- target: https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/sample-templates/create-react-app/template.yaml
- rules:
- - allow: [Template]
```
- 509b5638c: Added "out-of-the-box" alpha-milestone search features to scaffolded Backstage apps.
To apply this change to an existing app, do the following...
First, navigate to your backend package and install the two new search backend
packages:
```sh
cd packages/backend
yarn add @backstage/plugin-search-backend @backstage/plugin-search-backend-node
```
Wire up these new packages into your app backend by first creating a new
`search.ts` file at `src/plugins/search.ts` with contents like the following:
```typescript
import { useHotCleanup } from '@backstage/backend-common';
import { createRouter } from '@backstage/plugin-search-backend';
import {
IndexBuilder,
LunrSearchEngine,
} from '@backstage/plugin-search-backend-node';
import { PluginEnvironment } from '../types';
import { DefaultCatalogCollator } from '@backstage/plugin-catalog-backend';
export default async function createPlugin({
logger,
discovery,
}: PluginEnvironment) {
// Initialize a connection to a search engine.
const searchEngine = new LunrSearchEngine({ logger });
const indexBuilder = new IndexBuilder({ logger, searchEngine });
// Collators are responsible for gathering documents known to plugins. This
// particular collator gathers entities from the software catalog.
indexBuilder.addCollator({
defaultRefreshIntervalSeconds: 600,
collator: new DefaultCatalogCollator({ discovery }),
});
// The scheduler controls when documents are gathered from collators and sent
// to the search engine for indexing.
const { scheduler } = await indexBuilder.build();
// A 3 second delay gives the backend server a chance to initialize before
// any collators are executed, which may attempt requests against the API.
setTimeout(() => scheduler.start(), 3000);
useHotCleanup(module, () => scheduler.stop());
return await createRouter({
engine: indexBuilder.getSearchEngine(),
logger,
});
}
```
Then, ensure the search plugin you configured above is initialized by modifying
your backend's `index.ts` file in the following ways:
```diff
+import search from './plugins/search';
// ...
+const searchEnv = useHotMemoize(module, () => createEnv('search'));
// ...
+apiRouter.use('/search', await search(searchEnv));
// ...
```
In your frontend app package, create a new `searchPage` component at, for
example, `packages/app/src/components/search/SearchPage.tsx` with contents like
the following:
```tsx
import React from 'react';
import { makeStyles, Theme, Grid, List, Paper } from '@material-ui/core';
import { Content, Header, Lifecycle, Page } from '@backstage/core';
import { CatalogResultListItem } from '@backstage/plugin-catalog';
import {
SearchBar,
SearchFilter,
SearchResult,
DefaultResultListItem,
} from '@backstage/plugin-search';
const useStyles = makeStyles((theme: Theme) => ({
bar: {
padding: theme.spacing(1, 0),
},
filters: {
padding: theme.spacing(2),
},
filter: {
'& + &': {
marginTop: theme.spacing(2.5),
},
},
}));
const SearchPage = () => {
const classes = useStyles();
return (
<Page themeId="home">
<Header title="Search" subtitle={<Lifecycle alpha />} />
<Content>
<Grid container direction="row">
<Grid item xs={12}>
<Paper className={classes.bar}>
<SearchBar debounceTime={100} />
</Paper>
</Grid>
<Grid item xs={3}>
<Paper className={classes.filters}>
<SearchFilter.Select
className={classes.filter}
name="kind"
values={['Component', 'Template']}
/>
<SearchFilter.Checkbox
className={classes.filter}
name="lifecycle"
values={['experimental', 'production']}
/>
</Paper>
</Grid>
<Grid item xs={9}>
<SearchResult>
{({ results }) => (
<List>
{results.map(({ type, document }) => {
switch (type) {
case 'software-catalog':
return (
<CatalogResultListItem
key={document.location}
result={document}
/>
);
default:
return (
<DefaultResultListItem
key={document.location}
result={document}
/>
);
}
})}
</List>
)}
</SearchResult>
</Grid>
</Grid>
</Content>
</Page>
);
};
export const searchPage = <SearchPage />;
```
Then in `App.tsx`, import this new `searchPage` component, and set it as a
child of the existing `<SearchPage />` route so that it looks like this:
```diff
+import { searchPage } from './components/search/SearchPage';
// ...
-<Route path="/search" element={<SearchPage />} />
+<Route path="/search" element={<SearchPage />}>
+ {searchPage}
+</Route>;
```
- Updated dependencies [9cd3c533c]
- Updated dependencies [db1c8f93b]
- Updated dependencies [9c63be545]
- Updated dependencies [9bdd2cca8]
- Updated dependencies [92963779b]
- Updated dependencies [27a9b503a]
- Updated dependencies [f4e3ac5ce]
- Updated dependencies [66c6bfebd]
- Updated dependencies [9b4010965]
- Updated dependencies [7f7443308]
- Updated dependencies [55a253de2]
- Updated dependencies [7028ee1ca]
- Updated dependencies [70bc30c5b]
- Updated dependencies [db1c8f93b]
- Updated dependencies [5aff84759]
- Updated dependencies [5aff84759]
- Updated dependencies [f26e6008f]
- Updated dependencies [21e8ebef5]
- Updated dependencies [4fbb00707]
- Updated dependencies [eda9dbd5f]
- Updated dependencies [4f8cf50fe]
- Updated dependencies [d5ad47bbb]
- Updated dependencies [875809a59]
- @backstage/cli@0.7.0
- @backstage/plugin-catalog@0.6.2
- @backstage/plugin-catalog-backend@0.10.2
- @backstage/plugin-github-actions@0.4.9
- @backstage/backend-common@0.8.2
- @backstage/catalog-model@0.8.2
- @backstage/plugin-scaffolder@0.9.8
- @backstage/plugin-scaffolder-backend@0.12.0
- @backstage/integration-react@0.1.3
- @backstage/catalog-client@0.3.13
- @backstage/plugin-catalog-import@0.5.9
- @backstage/plugin-search-backend-node@0.2.0
- @backstage/plugin-search@0.4.0
- @backstage/plugin-search-backend@0.2.0
- @backstage/plugin-proxy-backend@0.2.9
- @backstage/core@0.7.12
- @backstage/errors@0.1.1
- @backstage/test-utils@0.1.13
- @backstage/theme@0.2.8
- @backstage/plugin-api-docs@0.4.15
- @backstage/plugin-app-backend@0.3.13
- @backstage/plugin-auth-backend@0.3.12
- @backstage/plugin-explore@0.3.6
- @backstage/plugin-lighthouse@0.2.17
- @backstage/plugin-rollbar-backend@0.1.11
- @backstage/plugin-tech-radar@0.4.0
- @backstage/plugin-techdocs@0.9.5
- @backstage/plugin-techdocs-backend@0.8.2
- @backstage/plugin-user-settings@0.2.10
## 0.3.24
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/create-app",
"description": "Create app package for Backstage",
"version": "0.3.24",
"version": "1.0.0",
"private": false,
"publishConfig": {
"access": "public"
+4 -4
View File
@@ -30,9 +30,9 @@
},
"dependencies": {
"@backstage/core": "^0.7.12",
"@backstage/catalog-model": "^0.8.1",
"@backstage/integration-react": "^0.1.2",
"@backstage/plugin-catalog-react": "^0.2.1",
"@backstage/catalog-model": "^0.8.2",
"@backstage/integration-react": "^0.1.3",
"@backstage/plugin-catalog-react": "^0.2.2",
"@backstage/test-utils": "^0.1.13",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
@@ -48,7 +48,7 @@
"react-router-dom": "6.0.0-beta.0"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@types/jest": "^26.0.7",
"@types/node": "^14.14.32"
},
+1 -1
View File
@@ -34,7 +34,7 @@
"serialize-error": "^8.0.1"
},
"devDependencies": {
"@backstage/cli": "^0.6.1",
"@backstage/cli": "^0.7.0",
"@types/jest": "^26.0.7"
},
"files": [
+10
View File
@@ -1,5 +1,15 @@
# @backstage/integration-react
## 0.1.3
### Patch Changes
- f4e3ac5ce: Move `ScmIntegrationIcon` from `@backstage/plugin-catalog` to
`@backstage/integration-react` and make it customizable using
`app.getSystemIcon()`.
- Updated dependencies [eda9dbd5f]
- @backstage/integration@0.5.6
## 0.1.2
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/integration-react",
"version": "0.1.2",
"version": "0.1.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -22,7 +22,7 @@
"dependencies": {
"@backstage/config": "^0.1.2",
"@backstage/core": "^0.7.9",
"@backstage/integration": "^0.5.0",
"@backstage/integration": "^0.5.6",
"@backstage/theme": "^0.2.3",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
@@ -32,7 +32,7 @@
"react-use": "^17.2.4"
},
"devDependencies": {
"@backstage/cli": "^0.6.11",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.14",
"@backstage/test-utils": "^0.1.11",
"@testing-library/jest-dom": "^5.10.1",
+6
View File
@@ -1,5 +1,11 @@
# @backstage/integration
## 0.5.6
### Patch Changes
- eda9dbd5f: Download archives as compressed tar files for Bitbucket to keep executable permissions.
## 0.5.5
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/integration",
"version": "0.5.5",
"version": "0.5.6",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -37,7 +37,7 @@
"luxon": "^1.25.0"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/config-loader": "^0.6.3",
"@backstage/test-utils": "^0.1.13",
"@types/jest": "^26.0.7",
+9
View File
@@ -0,0 +1,9 @@
# @backstage/search-common
## 0.1.2
### Patch Changes
- db1c8f93b: The `<Search...Next /> set of components exported by the Search Plugin are now updated to use the Search Backend API. These will be made available as the default non-"next" versions in a follow-up release.
The interfaces for decorators and collators in the Search Backend have also seen minor, breaking revisions ahead of a general release. If you happen to be building on top of these interfaces, check and update your implementations accordingly. The APIs will be considered more stable in a follow-up release.
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/search-common",
"description": "Common functionalities for Search, to be shared between various search-enabled plugins",
"version": "0.1.1",
"version": "0.1.2",
"main": "src/index.ts",
"types": "src/index.ts",
"private": false,
@@ -39,7 +39,7 @@
"@backstage/config": "^0.1.3"
},
"devDependencies": {
"@backstage/cli": "^0.6.2"
"@backstage/cli": "^0.7.0"
},
"jest": {
"roots": [
+4 -4
View File
@@ -38,11 +38,11 @@
"dependencies": {
"@azure/identity": "^1.2.2",
"@azure/storage-blob": "^12.4.0",
"@backstage/backend-common": "^0.8.1",
"@backstage/catalog-model": "^0.8.1",
"@backstage/backend-common": "^0.8.2",
"@backstage/catalog-model": "^0.8.2",
"@backstage/config": "^0.1.5",
"@backstage/errors": "^0.1.1",
"@backstage/integration": "^0.5.5",
"@backstage/integration": "^0.5.6",
"@google-cloud/storage": "^5.6.0",
"@types/express": "^4.17.6",
"aws-sdk": "^2.840.0",
@@ -60,7 +60,7 @@
"winston": "^3.2.1"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@types/fs-extra": "^9.0.5",
"@types/git-url-parse": "^9.0.0",
"@types/js-yaml": "^4.0.0",
+2 -2
View File
@@ -29,7 +29,7 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/core-api": "^0.2.21",
"@backstage/core-api": "^0.2.22",
"@backstage/test-utils-core": "^0.1.1",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
@@ -45,7 +45,7 @@
"zen-observable": "^0.8.15"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@types/jest": "^26.0.7",
"@types/node": "^14.14.32"
},
+1 -1
View File
@@ -31,7 +31,7 @@
"@material-ui/core": "^4.11.0"
},
"devDependencies": {
"@backstage/cli": "^0.6.14"
"@backstage/cli": "^0.7.0"
},
"files": [
"dist"
+3 -3
View File
@@ -30,9 +30,9 @@
},
"dependencies": {
"@asyncapi/react-component": "^0.23.0",
"@backstage/catalog-model": "^0.8.0",
"@backstage/catalog-model": "^0.8.2",
"@backstage/core": "^0.7.11",
"@backstage/plugin-catalog-react": "^0.2.0",
"@backstage/plugin-catalog-react": "^0.2.2",
"@backstage/theme": "^0.2.8",
"@material-icons/font": "^1.0.2",
"@material-ui/core": "^4.11.0",
@@ -49,7 +49,7 @@
"swagger-ui-react": "^3.37.2"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
+2 -2
View File
@@ -29,7 +29,7 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/backend-common": "^0.8.0",
"@backstage/backend-common": "^0.8.2",
"@backstage/config-loader": "^0.6.1",
"@backstage/config": "^0.1.5",
"@types/express": "^4.17.6",
@@ -40,7 +40,7 @@
"yn": "^4.0.0"
},
"devDependencies": {
"@backstage/cli": "^0.6.11",
"@backstage/cli": "^0.7.0",
"@types/supertest": "^2.0.8",
"msw": "^0.20.5",
"supertest": "^6.1.3"
+4 -4
View File
@@ -29,9 +29,9 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/backend-common": "^0.8.1",
"@backstage/catalog-client": "^0.3.12",
"@backstage/catalog-model": "^0.8.0",
"@backstage/backend-common": "^0.8.2",
"@backstage/catalog-client": "^0.3.13",
"@backstage/catalog-model": "^0.8.2",
"@backstage/config": "^0.1.5",
"@backstage/errors": "^0.1.1",
"@backstage/test-utils": "^0.1.12",
@@ -68,7 +68,7 @@
"yn": "^4.0.0"
},
"devDependencies": {
"@backstage/cli": "^0.6.13",
"@backstage/cli": "^0.7.0",
"@types/body-parser": "^1.19.0",
"@types/cookie-parser": "^1.4.2",
"@types/express-session": "^1.17.2",
+4 -4
View File
@@ -30,9 +30,9 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/backend-common": "^0.8.1",
"@backstage/catalog-client": "^0.3.12",
"@backstage/catalog-model": "^0.8.0",
"@backstage/backend-common": "^0.8.2",
"@backstage/catalog-client": "^0.3.13",
"@backstage/catalog-model": "^0.8.2",
"@backstage/config": "^0.1.5",
"@backstage/errors": "^0.1.1",
"@types/express": "^4.17.6",
@@ -45,7 +45,7 @@
"yn": "^4.0.0"
},
"devDependencies": {
"@backstage/cli": "^0.6.13",
"@backstage/cli": "^0.7.0",
"@types/supertest": "^2.0.8",
"supertest": "^6.1.3"
},
+3 -3
View File
@@ -20,10 +20,10 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/catalog-model": "^0.8.0",
"@backstage/catalog-model": "^0.8.2",
"@backstage/core": "^0.7.11",
"@backstage/errors": "^0.1.1",
"@backstage/plugin-catalog-react": "^0.2.0",
"@backstage/plugin-catalog-react": "^0.2.2",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
@@ -34,7 +34,7 @@
"react-use": "^17.2.4"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
+3 -3
View File
@@ -20,9 +20,9 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/catalog-model": "^0.8.0",
"@backstage/catalog-model": "^0.8.2",
"@backstage/core": "^0.7.11",
"@backstage/plugin-catalog-react": "^0.2.0",
"@backstage/plugin-catalog-react": "^0.2.2",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
@@ -37,7 +37,7 @@
"recharts": "^1.8.5"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
+18
View File
@@ -1,5 +1,23 @@
# @backstage/plugin-catalog-backend
## 0.10.2
### Patch Changes
- 9c63be545: Restructure the next catalog types and files a bit
- Updated dependencies [92963779b]
- Updated dependencies [27a9b503a]
- Updated dependencies [70bc30c5b]
- Updated dependencies [db1c8f93b]
- Updated dependencies [5aff84759]
- Updated dependencies [eda9dbd5f]
- @backstage/backend-common@0.8.2
- @backstage/catalog-model@0.8.2
- @backstage/catalog-client@0.3.13
- @backstage/search-common@0.1.2
- @backstage/plugin-search-backend-node@0.2.0
- @backstage/integration@0.5.6
## 0.10.1
### Patch Changes
+9 -9
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-catalog-backend",
"version": "0.10.1",
"version": "0.10.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -30,14 +30,14 @@
},
"dependencies": {
"@azure/msal-node": "^1.0.0-beta.3",
"@backstage/backend-common": "^0.8.1",
"@backstage/catalog-client": "^0.3.12",
"@backstage/catalog-model": "^0.8.1",
"@backstage/backend-common": "^0.8.2",
"@backstage/catalog-client": "^0.3.13",
"@backstage/catalog-model": "^0.8.2",
"@backstage/config": "^0.1.5",
"@backstage/errors": "^0.1.1",
"@backstage/integration": "^0.5.5",
"@backstage/plugin-search-backend-node": "^0.1.4",
"@backstage/search-common": "^0.1.1",
"@backstage/integration": "^0.5.6",
"@backstage/plugin-search-backend-node": "^0.2.0",
"@backstage/search-common": "^0.1.2",
"@microsoft/microsoft-graph-types": "^1.25.0",
"@octokit/graphql": "^4.5.8",
"@types/express": "^4.17.6",
@@ -65,8 +65,8 @@
"yup": "^0.29.3"
},
"devDependencies": {
"@backstage/backend-test-utils": "^0.1.1",
"@backstage/cli": "^0.6.14",
"@backstage/backend-test-utils": "^0.1.2",
"@backstage/cli": "^0.7.0",
"@backstage/test-utils": "^0.1.13",
"@types/core-js": "^2.5.4",
"@types/git-url-parse": "^9.0.0",
+3 -3
View File
@@ -30,8 +30,8 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/backend-common": "^0.8.0",
"@backstage/catalog-model": "^0.8.0",
"@backstage/backend-common": "^0.8.2",
"@backstage/catalog-model": "^0.8.2",
"@backstage/config": "^0.1.5",
"@graphql-modules/core": "^0.7.17",
"apollo-server": "^2.16.1",
@@ -42,7 +42,7 @@
"winston": "^3.2.1"
},
"devDependencies": {
"@backstage/cli": "^0.6.13",
"@backstage/cli": "^0.7.0",
"@backstage/test-utils": "^0.1.11",
"@graphql-codegen/cli": "^1.21.3",
"@graphql-codegen/typescript": "^1.17.7",
+16
View File
@@ -1,5 +1,21 @@
# @backstage/plugin-catalog-import
## 0.5.9
### Patch Changes
- 70bc30c5b: Display preview result final step.
- Updated dependencies [27a9b503a]
- Updated dependencies [f4e3ac5ce]
- Updated dependencies [7028ee1ca]
- Updated dependencies [70bc30c5b]
- Updated dependencies [eda9dbd5f]
- @backstage/catalog-model@0.8.2
- @backstage/integration-react@0.1.3
- @backstage/plugin-catalog-react@0.2.2
- @backstage/catalog-client@0.3.13
- @backstage/integration@0.5.6
## 0.5.8
### Patch Changes
+7 -7
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-catalog-import",
"version": "0.5.8",
"version": "0.5.9",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -30,12 +30,12 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/catalog-model": "^0.8.0",
"@backstage/catalog-client": "^0.3.12",
"@backstage/catalog-model": "^0.8.2",
"@backstage/catalog-client": "^0.3.13",
"@backstage/core": "^0.7.11",
"@backstage/integration": "^0.5.4",
"@backstage/integration-react": "^0.1.2",
"@backstage/plugin-catalog-react": "^0.2.0",
"@backstage/integration": "^0.5.6",
"@backstage/integration-react": "^0.1.3",
"@backstage/plugin-catalog-react": "^0.2.2",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
@@ -53,7 +53,7 @@
"yaml": "^1.10.0"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
+16
View File
@@ -1,5 +1,21 @@
# @backstage/plugin-catalog-react
## 0.2.2
### Patch Changes
- 7028ee1ca: Expose `getEntitySourceLocation`, `getEntityMetadataViewUrl`, and
`getEntityMetadataEditUrl` from `@backstage/plugin-catalog-react`.
- Updated dependencies [75b8537ce]
- Updated dependencies [27a9b503a]
- Updated dependencies [da8cba44f]
- Updated dependencies [70bc30c5b]
- Updated dependencies [eda9dbd5f]
- @backstage/core-plugin-api@0.1.2
- @backstage/catalog-model@0.8.2
- @backstage/catalog-client@0.3.13
- @backstage/integration@0.5.6
## 0.2.1
### Patch Changes
+6 -6
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-catalog-react",
"version": "0.2.1",
"version": "0.2.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -28,11 +28,11 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/catalog-client": "^0.3.12",
"@backstage/catalog-model": "^0.8.1",
"@backstage/catalog-client": "^0.3.13",
"@backstage/catalog-model": "^0.8.2",
"@backstage/core": "^0.7.12",
"@backstage/core-plugin-api": "^0.1.1",
"@backstage/integration": "^0.5.0",
"@backstage/core-plugin-api": "^0.1.2",
"@backstage/integration": "^0.5.6",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.45",
@@ -44,7 +44,7 @@
"react-use": "^17.2.4"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/core": "^0.7.12",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
+23
View File
@@ -1,5 +1,28 @@
# @backstage/plugin-catalog
## 0.6.2
### Patch Changes
- db1c8f93b: A `<CatalogResultListItem />` component is now available for use in custom Search Experiences.
- f4e3ac5ce: Move `ScmIntegrationIcon` from `@backstage/plugin-catalog` to
`@backstage/integration-react` and make it customizable using
`app.getSystemIcon()`.
- 7028ee1ca: Expose `getEntitySourceLocation`, `getEntityMetadataViewUrl`, and
`getEntityMetadataEditUrl` from `@backstage/plugin-catalog-react`.
- 4fbb00707: A new card that shows components that depend on the active component
- d5ad47bbb: Exported AboutCard contents and utility functions
- Updated dependencies [27a9b503a]
- Updated dependencies [f4e3ac5ce]
- Updated dependencies [7028ee1ca]
- Updated dependencies [70bc30c5b]
- Updated dependencies [eda9dbd5f]
- @backstage/catalog-model@0.8.2
- @backstage/integration-react@0.1.3
- @backstage/plugin-catalog-react@0.2.2
- @backstage/catalog-client@0.3.13
- @backstage/integration@0.5.6
## 0.6.1
### Patch Changes
+7 -7
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-catalog",
"version": "0.6.1",
"version": "0.6.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -30,13 +30,13 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/catalog-client": "^0.3.12",
"@backstage/catalog-model": "^0.8.1",
"@backstage/catalog-client": "^0.3.13",
"@backstage/catalog-model": "^0.8.2",
"@backstage/core": "^0.7.12",
"@backstage/errors": "^0.1.1",
"@backstage/integration": "^0.5.5",
"@backstage/integration-react": "^0.1.2",
"@backstage/plugin-catalog-react": "^0.2.1",
"@backstage/integration": "^0.5.6",
"@backstage/integration-react": "^0.1.3",
"@backstage/plugin-catalog-react": "^0.2.2",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
@@ -53,7 +53,7 @@
"react-use": "^17.2.4"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
+3 -3
View File
@@ -31,9 +31,9 @@
"postpack": "backstage-cli postpack"
},
"dependencies": {
"@backstage/catalog-model": "^0.8.0",
"@backstage/catalog-model": "^0.8.2",
"@backstage/core": "^0.7.11",
"@backstage/plugin-catalog-react": "^0.2.0",
"@backstage/plugin-catalog-react": "^0.2.2",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
@@ -50,7 +50,7 @@
"react-use": "^17.2.4"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
+3 -3
View File
@@ -30,8 +30,8 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/catalog-model": "^0.8.0",
"@backstage/plugin-catalog-react": "^0.2.0",
"@backstage/catalog-model": "^0.8.2",
"@backstage/plugin-catalog-react": "^0.2.2",
"@backstage/core": "^0.7.11",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
@@ -47,7 +47,7 @@
"react-use": "^17.2.4"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
+5 -5
View File
@@ -19,12 +19,12 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/backend-common": "^0.8.0",
"@backstage/catalog-client": "^0.3.12",
"@backstage/catalog-model": "^0.8.0",
"@backstage/backend-common": "^0.8.2",
"@backstage/catalog-client": "^0.3.13",
"@backstage/catalog-model": "^0.8.2",
"@backstage/config": "^0.1.5",
"@backstage/errors": "^0.1.1",
"@backstage/integration": "^0.5.4",
"@backstage/integration": "^0.5.6",
"@types/express": "^4.17.6",
"cross-fetch": "^3.0.6",
"express": "^4.17.1",
@@ -36,7 +36,7 @@
"yn": "^4.0.0"
},
"devDependencies": {
"@backstage/cli": "^0.6.13",
"@backstage/cli": "^0.7.0",
"@types/express-xml-bodyparser": "^0.3.2",
"@types/supertest": "^2.0.8",
"msw": "^0.21.2",
+3 -3
View File
@@ -20,11 +20,11 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/catalog-model": "^0.8.0",
"@backstage/catalog-model": "^0.8.2",
"@backstage/config": "^0.1.4",
"@backstage/core": "^0.7.11",
"@backstage/errors": "^0.1.1",
"@backstage/plugin-catalog-react": "^0.2.0",
"@backstage/plugin-catalog-react": "^0.2.2",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
@@ -39,7 +39,7 @@
"recharts": "^1.8.5"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
+1 -1
View File
@@ -34,7 +34,7 @@
"react-use": "^17.2.4"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
+6
View File
@@ -1,5 +1,11 @@
# @backstage/plugin-cost-insights
## 0.10.2
### Patch Changes
- 9d906c7a1: Move `canvas` package to `devDependencies`.
## 0.10.1
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-cost-insights",
"version": "0.10.1",
"version": "0.10.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -54,7 +54,7 @@
"yup": "^0.29.3"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
+1 -1
View File
@@ -31,7 +31,7 @@
"@backstage/core": "^0.7.9"
},
"devDependencies": {
"@backstage/cli": "^0.6.11",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.14",
"@backstage/test-utils": "^0.1.11",
"@testing-library/jest-dom": "^5.10.1",
+3 -3
View File
@@ -30,9 +30,9 @@
"start": "backstage-cli plugin:serve"
},
"dependencies": {
"@backstage/catalog-model": "^0.8.0",
"@backstage/catalog-model": "^0.8.2",
"@backstage/core": "^0.7.11",
"@backstage/plugin-catalog-react": "^0.2.0",
"@backstage/plugin-catalog-react": "^0.2.2",
"@backstage/plugin-explore-react": "^0.0.5",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
@@ -45,7 +45,7 @@
"react-use": "^17.2.4"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
+3 -3
View File
@@ -31,10 +31,10 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/catalog-model": "^0.8.0",
"@backstage/catalog-model": "^0.8.2",
"@backstage/core": "^0.7.11",
"@backstage/errors": "^0.1.1",
"@backstage/plugin-catalog-react": "^0.2.0",
"@backstage/plugin-catalog-react": "^0.2.2",
"@backstage/theme": "^0.2.8",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
@@ -47,7 +47,7 @@
"react-use": "^17.2.4"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
+1 -1
View File
@@ -41,7 +41,7 @@
"react-use": "^17.2.4"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",
+2 -2
View File
@@ -21,7 +21,7 @@
},
"dependencies": {
"@backstage/core": "^0.7.11",
"@backstage/integration": "^0.5.3",
"@backstage/integration": "^0.5.6",
"@backstage/theme": "^0.2.8",
"recharts": "^1.8.5",
"@material-ui/core": "^4.11.0",
@@ -36,7 +36,7 @@
"react": "^16.13.1"
},
"devDependencies": {
"@backstage/cli": "^0.6.14",
"@backstage/cli": "^0.7.0",
"@backstage/dev-utils": "^0.1.17",
"@backstage/test-utils": "^0.1.13",
"@testing-library/jest-dom": "^5.10.1",

Some files were not shown because too many files have changed in this diff Show More