diff --git a/.changeset/brave-waves-explain.md b/.changeset/brave-waves-explain.md new file mode 100644 index 0000000000..5e76f192e0 --- /dev/null +++ b/.changeset/brave-waves-explain.md @@ -0,0 +1,15 @@ +--- +'@backstage/create-app': patch +--- + +Removed the included `jest` configuration from the root `package.json` as the `transformModules` option no longer exists. + +To apply this change to an existing app, make the follow change to the root `package.json`: + +```diff +- "jest": { +- "transformModules": [ +- "@asyncapi/react-component" +- ] +- } +``` diff --git a/.changeset/breezy-dolphins-lay.md b/.changeset/breezy-dolphins-lay.md deleted file mode 100644 index 0197979531..0000000000 --- a/.changeset/breezy-dolphins-lay.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@backstage/plugin-auth-backend': patch ---- - -AWS-ALB: update provider to the latest changes described [here](https://backstage.io/docs/auth/identity-resolver). - -This removes the `ExperimentalIdentityResolver` type in favor of `SignInResolver` and `AuthHandler`. -The AWS ALB provider can now be configured in the same way as the Google provider in the example. diff --git a/.changeset/brown-paws-marry.md b/.changeset/brown-paws-marry.md new file mode 100644 index 0000000000..c771d5e1f4 --- /dev/null +++ b/.changeset/brown-paws-marry.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend': patch +--- + +Fix a bug preventing an access token to be refreshed a second time with the GitHub provider. diff --git a/.changeset/dirty-balloons-develop.md b/.changeset/dirty-balloons-develop.md deleted file mode 100644 index 6dd9005cca..0000000000 --- a/.changeset/dirty-balloons-develop.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-api-docs': patch ---- - -Bump `swagger-ui-react` to `^4.0.0-rc.3`. diff --git a/.changeset/funny-dolls-draw.md b/.changeset/funny-dolls-draw.md deleted file mode 100644 index f194b30750..0000000000 --- a/.changeset/funny-dolls-draw.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -'@backstage/create-app': patch ---- - -The scaffolder plugin has just released the beta 3 version of software templates, which replaces the handlebars templating syntax. As part of this change, the template entity schema is no longer included in the core catalog-model as with previous versions. The decoupling of the template entities version will allow us to more easily make updates in the future. - -In order to use the new beta 3 templates, the following changes are **required** for any existing installation, inside `packages/backend/src/plugins/catalog.ts`: - -```diff -+import { ScaffolderEntitiesProcessor } from '@backstage/plugin-scaffolder-backend'; - -... - - const builder = await CatalogBuilder.create(env); -+ builder.addProcessor(new ScaffolderEntitiesProcessor()); - const { processingEngine, router } = await builder.build(); -``` - -If you're interested in learning more about creating custom kinds, please check out the [extending the model](https://backstage.io/docs/features/software-catalog/extending-the-model) documentation. diff --git a/.changeset/happy-hotels-explain.md b/.changeset/happy-hotels-explain.md deleted file mode 100644 index ede18c3187..0000000000 --- a/.changeset/happy-hotels-explain.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/core-app-api': patch -'@backstage/core-components': patch -'@backstage/theme': patch ---- - -Internal refactor to avoid importing all of `@material-ui/core`. diff --git a/.changeset/hip-suns-fix.md b/.changeset/hip-suns-fix.md deleted file mode 100644 index 4555c7b179..0000000000 --- a/.changeset/hip-suns-fix.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-components': patch ---- - -update the null check to use the optional chaining operator in case of non-null assertion operator is not working in function extractInitials(values: string) diff --git a/.changeset/honest-drinks-eat.md b/.changeset/honest-drinks-eat.md deleted file mode 100644 index b6cb168e00..0000000000 --- a/.changeset/honest-drinks-eat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-graphiql': patch ---- - -Add experimental `experimentalInstallationRecipe` to `package.json`. diff --git a/.changeset/hungry-bugs-drop.md b/.changeset/hungry-bugs-drop.md deleted file mode 100644 index d13e21d446..0000000000 --- a/.changeset/hungry-bugs-drop.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-components': patch ---- - -Resolve a warning in ` - } - > - A newer version of this documentation is now available, please refresh - to view. - - )} - {state === 'CONTENT_STALE_ERROR' && ( - } - classes={{ message: classes.message }} - > - Building a newer version of this documentation failed.{' '} - {syncErrorMessage} - - )} - {state === 'CONTENT_NOT_FOUND' && ( - <> - {syncErrorMessage && ( - } - classes={{ message: classes.message }} - > - Building a newer version of this documentation failed.{' '} - {syncErrorMessage} - - )} - - - )} - + {withSearch && shadowDomRef?.current?.shadowRoot?.innerHTML && ( @@ -455,3 +421,17 @@ export const Reader = ({ entityRef, onReady, withSearch = true }: Props) => { ); }; + +export const Reader = ({ + entityRef, + onReady = () => {}, + withSearch = true, +}: Props) => ( + + + +); diff --git a/plugins/techdocs/src/reader/components/TechDocsSearch.tsx b/plugins/techdocs/src/reader/components/TechDocsSearch.tsx index 5d330100ce..64229e6620 100644 --- a/plugins/techdocs/src/reader/components/TechDocsSearch.tsx +++ b/plugins/techdocs/src/reader/components/TechDocsSearch.tsx @@ -61,7 +61,7 @@ export const buildInitialFilters = ( return legacyPaths ? entityId : Object.entries(entityId).reduce((acc, [key, value]) => { - return { ...acc, [key]: value.toLocaleLowerCase('en-US') }; + return { ...acc, [key]: value?.toLocaleLowerCase('en-US') }; }, {}); }; @@ -175,7 +175,7 @@ const TechDocsSearchBar = ({ ); }; -const TechDocsSearch = (props: TechDocsSearchProps) => { +export const TechDocsSearch = (props: TechDocsSearchProps) => { const configApi = useApi(configApiRef); const legacyPaths = configApi.getOptionalBoolean( 'techdocs.legacyUseCaseSensitiveTripletPaths', @@ -192,4 +192,3 @@ const TechDocsSearch = (props: TechDocsSearchProps) => { ); }; -export { TechDocsSearch }; diff --git a/plugins/techdocs/src/reader/components/TechDocsStateIndicator.tsx b/plugins/techdocs/src/reader/components/TechDocsStateIndicator.tsx new file mode 100644 index 0000000000..e70c17d14a --- /dev/null +++ b/plugins/techdocs/src/reader/components/TechDocsStateIndicator.tsx @@ -0,0 +1,142 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from 'react'; +import { Progress } from '@backstage/core-components'; +import { CircularProgress, Button, makeStyles } from '@material-ui/core'; +import { Alert } from '@material-ui/lab'; + +import { TechDocsBuildLogs } from './TechDocsBuildLogs'; +import { TechDocsNotFound } from './TechDocsNotFound'; +import { useTechDocsReader } from './Reader'; + +const useStyles = makeStyles(() => ({ + message: { + // `word-break: break-word` is deprecated, but gives legacy support to browsers not supporting `overflow-wrap` yet + // https://developer.mozilla.org/en-US/docs/Web/CSS/word-break + wordBreak: 'break-word', + overflowWrap: 'anywhere', + }, +})); + +/** + * Note: this component is currently being exported so that we can rapidly + * iterate on alternative implementations that extend core + * functionality. There is no guarantee that this component will continue to be + * exported by the package in the future! + * + * todo: Make public or stop exporting (ctrl+f "altReaderExperiments") + * @internal + */ +export const TechDocsStateIndicator = () => { + let StateAlert: JSX.Element | null = null; + const classes = useStyles(); + + const { + state, + contentReload, + contentErrorMessage, + syncErrorMessage, + buildLog, + } = useTechDocsReader(); + + const ReaderProgress = state === 'CHECKING' ? : null; + + if (state === 'INITIAL_BUILD') { + StateAlert = ( + } + action={} + > + Documentation is accessed for the first time and is being prepared. The + subsequent loads are much faster. + + ); + } + + if (state === 'CONTENT_STALE_REFRESHING') { + StateAlert = ( + } + action={} + > + A newer version of this documentation is being prepared and will be + available shortly. + + ); + } + + if (state === 'CONTENT_STALE_READY') { + StateAlert = ( + contentReload()}> + Refresh + + } + > + A newer version of this documentation is now available, please refresh + to view. + + ); + } + + if (state === 'CONTENT_STALE_ERROR') { + StateAlert = ( + } + classes={{ message: classes.message }} + > + Building a newer version of this documentation failed.{' '} + {syncErrorMessage} + + ); + } + + if (state === 'CONTENT_NOT_FOUND') { + StateAlert = ( + <> + {syncErrorMessage && ( + } + classes={{ message: classes.message }} + > + Building a newer version of this documentation failed.{' '} + {syncErrorMessage} + + )} + + + ); + } + + return ( + <> + {ReaderProgress} + {StateAlert} + + ); +}; diff --git a/plugins/techdocs/src/reader/components/index.ts b/plugins/techdocs/src/reader/components/index.ts index 4f6d151e5d..99a0a7a3bc 100644 --- a/plugins/techdocs/src/reader/components/index.ts +++ b/plugins/techdocs/src/reader/components/index.ts @@ -17,3 +17,18 @@ export * from './Reader'; export * from './TechDocsPage'; export * from './TechDocsPageHeader'; +export * from './TechDocsStateIndicator'; + +/** + * Note: this component is currently being exported so that we can rapidly + * iterate on alternative implementations that extend core + * functionality. There is no guarantee that this component will continue to be + * exported by the package in the future! + * + * Why is this comment here instead of above the component itself? It's a + * workaround for some kind of bug in @microsoft/api-extractor. + * + * todo: Make public or stop exporting (ctrl+f "altReaderExperiments") + * @internal + */ +export { TechDocsSearch } from './TechDocsSearch'; diff --git a/plugins/techdocs/src/reader/transformers/index.ts b/plugins/techdocs/src/reader/transformers/index.ts index cd1ad6511c..530bea2092 100644 --- a/plugins/techdocs/src/reader/transformers/index.ts +++ b/plugins/techdocs/src/reader/transformers/index.ts @@ -23,4 +23,5 @@ export * from './simplifyMkdocsFooter'; export * from './onCssReady'; export * from './sanitizeDOM'; export * from './injectCss'; +export * from './scrollIntoAnchor'; export * from './transformer'; diff --git a/plugins/techdocs/src/reader/transformers/scrollIntoAnchor.test.ts b/plugins/techdocs/src/reader/transformers/scrollIntoAnchor.test.ts new file mode 100644 index 0000000000..b06762399b --- /dev/null +++ b/plugins/techdocs/src/reader/transformers/scrollIntoAnchor.test.ts @@ -0,0 +1,46 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { scrollIntoAnchor } from '../transformers'; + +jest.useFakeTimers(); + +describe('scrollIntoAnchor', () => { + const transformer = scrollIntoAnchor(); + const dom = { querySelector: jest.fn() }; + + afterEach(() => { + jest.clearAllMocks(); + }); + + it('does nothing if there is no anchor element', async () => { + transformer(dom as unknown as Element); + jest.advanceTimersByTime(200); + expect(dom.querySelector).not.toHaveBeenCalled(); + }); + + it('scroll to the hash anchor element', async () => { + const scrollIntoView = jest.fn(); + dom.querySelector.mockReturnValue({ scrollIntoView }); + const hash = '#hash'; + window.location.hash = hash; + transformer(dom as unknown as Element); + jest.advanceTimersByTime(200); + expect(dom.querySelector).toHaveBeenCalledWith(`#${hash.slice(1)}`); + expect(scrollIntoView).toHaveBeenCalledWith(); + window.location.hash = ''; + }); +}); diff --git a/plugins/techdocs/src/reader/transformers/scrollIntoAnchor.ts b/plugins/techdocs/src/reader/transformers/scrollIntoAnchor.ts new file mode 100644 index 0000000000..0fa977865e --- /dev/null +++ b/plugins/techdocs/src/reader/transformers/scrollIntoAnchor.ts @@ -0,0 +1,30 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { Transformer } from './transformer'; + +export const scrollIntoAnchor = (): Transformer => { + return dom => { + setTimeout(() => { + // Scroll to the desired anchor on initial navigation + if (window.location.hash) { + const hash = window.location.hash.slice(1); + dom?.querySelector(`#${hash}`)?.scrollIntoView(); + } + }, 200); + return dom; + }; +}; diff --git a/plugins/todo/CHANGELOG.md b/plugins/todo/CHANGELOG.md index 880df42ca1..99c33c425e 100644 --- a/plugins/todo/CHANGELOG.md +++ b/plugins/todo/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-todo +## 0.1.14 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@0.6.0 + - @backstage/core-components@0.7.0 + - @backstage/theme@0.2.11 + ## 0.1.13 ### Patch Changes diff --git a/plugins/todo/package.json b/plugins/todo/package.json index 03a955fda3..1c1af5e360 100644 --- a/plugins/todo/package.json +++ b/plugins/todo/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-todo", "description": "A Backstage plugin that lets you browse TODO comments in your source code", - "version": "0.1.13", + "version": "0.1.14", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -28,11 +28,11 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.4", - "@backstage/core-components": "^0.6.1", + "@backstage/core-components": "^0.7.0", "@backstage/core-plugin-api": "^0.1.10", "@backstage/errors": "^0.1.2", - "@backstage/plugin-catalog-react": "^0.5.2", - "@backstage/theme": "^0.2.10", + "@backstage/plugin-catalog-react": "^0.6.0", + "@backstage/theme": "^0.2.11", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.57", @@ -41,10 +41,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.15", - "@backstage/core-app-api": "^0.1.16", - "@backstage/dev-utils": "^0.2.11", - "@backstage/test-utils": "^0.1.18", + "@backstage/cli": "^0.7.16", + "@backstage/core-app-api": "^0.1.17", + "@backstage/dev-utils": "^0.2.12", + "@backstage/test-utils": "^0.1.19", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/user-settings/CHANGELOG.md b/plugins/user-settings/CHANGELOG.md index b16e327f02..0cc6dbd72e 100644 --- a/plugins/user-settings/CHANGELOG.md +++ b/plugins/user-settings/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-user-settings +## 0.3.9 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.7.0 + - @backstage/theme@0.2.11 + ## 0.3.8 ### Patch Changes diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json index c8f105080a..44f33df9c8 100644 --- a/plugins/user-settings/package.json +++ b/plugins/user-settings/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-user-settings", "description": "A Backstage plugin that provides a settings page", - "version": "0.3.8", + "version": "0.3.9", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,9 +31,9 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.6.1", + "@backstage/core-components": "^0.7.0", "@backstage/core-plugin-api": "^0.1.10", - "@backstage/theme": "^0.2.10", + "@backstage/theme": "^0.2.11", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.57", @@ -43,11 +43,11 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.15", - "@backstage/core-app-api": "^0.1.16", + "@backstage/cli": "^0.7.16", + "@backstage/core-app-api": "^0.1.17", "@backstage/core-plugin-api": "^0.1.10", - "@backstage/dev-utils": "^0.2.11", - "@backstage/test-utils": "^0.1.18", + "@backstage/dev-utils": "^0.2.12", + "@backstage/test-utils": "^0.1.19", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/welcome/CHANGELOG.md b/plugins/welcome/CHANGELOG.md index d6952c886a..3f9412a073 100644 --- a/plugins/welcome/CHANGELOG.md +++ b/plugins/welcome/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-welcome +## 0.3.8 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.7.0 + - @backstage/theme@0.2.11 + ## 0.3.7 ### Patch Changes diff --git a/plugins/welcome/package.json b/plugins/welcome/package.json index e0f6684dbc..a286857ccc 100644 --- a/plugins/welcome/package.json +++ b/plugins/welcome/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-welcome", "description": "An old Backstage plugin that provides a welcome page", - "version": "0.3.7", + "version": "0.3.8", "main": "src/index.ts", "types": "src/index.ts", "private": false, @@ -31,9 +31,9 @@ "start": "backstage-cli plugin:serve" }, "dependencies": { - "@backstage/core-components": "^0.6.1", + "@backstage/core-components": "^0.7.0", "@backstage/core-plugin-api": "^0.1.10", - "@backstage/theme": "^0.2.10", + "@backstage/theme": "^0.2.11", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.57", @@ -43,10 +43,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.15", - "@backstage/core-app-api": "^0.1.16", - "@backstage/dev-utils": "^0.2.11", - "@backstage/test-utils": "^0.1.18", + "@backstage/cli": "^0.7.16", + "@backstage/core-app-api": "^0.1.17", + "@backstage/dev-utils": "^0.2.12", + "@backstage/test-utils": "^0.1.19", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/xcmetrics/CHANGELOG.md b/plugins/xcmetrics/CHANGELOG.md index ce8dae1168..a7d2d480b7 100644 --- a/plugins/xcmetrics/CHANGELOG.md +++ b/plugins/xcmetrics/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-xcmetrics +## 0.2.9 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.7.0 + - @backstage/theme@0.2.11 + ## 0.2.8 ### Patch Changes diff --git a/plugins/xcmetrics/package.json b/plugins/xcmetrics/package.json index e6ef2c2631..2d2f9983d6 100644 --- a/plugins/xcmetrics/package.json +++ b/plugins/xcmetrics/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-xcmetrics", "description": "A Backstage plugin that shows XCode build metrics for your components", - "version": "0.2.8", + "version": "0.2.9", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -21,10 +21,10 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.6.1", + "@backstage/core-components": "^0.7.0", "@backstage/core-plugin-api": "^0.1.10", "@backstage/errors": "^0.1.1", - "@backstage/theme": "^0.2.10", + "@backstage/theme": "^0.2.11", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.57", @@ -36,10 +36,10 @@ "recharts": "^1.8.5" }, "devDependencies": { - "@backstage/cli": "^0.7.15", - "@backstage/core-app-api": "^0.1.16", - "@backstage/dev-utils": "^0.2.11", - "@backstage/test-utils": "^0.1.18", + "@backstage/cli": "^0.7.16", + "@backstage/core-app-api": "^0.1.17", + "@backstage/dev-utils": "^0.2.12", + "@backstage/test-utils": "^0.1.19", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/yarn.lock b/yarn.lock index b2fb7fa420..a8755c668a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2557,6 +2557,49 @@ remark-gfm "^1.0.0" zen-observable "^0.8.15" +"@backstage/core-components@^0.6.1": + version "0.6.1" + resolved "https://registry.npmjs.org/@backstage/core-components/-/core-components-0.6.1.tgz#65cfc704828f76c48ad5115404779206bb6fe1bb" + integrity sha512-gQRRcYEv98BFLpVW5nu2MhuzgjoMVEhPMyUSRc9NYa58GA1D8Q7zV7xYdbfCanMOlKDmi+rQ3Cp2u6C60+uhNg== + dependencies: + "@backstage/config" "^0.1.10" + "@backstage/core-plugin-api" "^0.1.10" + "@backstage/errors" "^0.1.2" + "@backstage/theme" "^0.2.10" + "@material-table/core" "^3.1.0" + "@material-ui/core" "^4.12.2" + "@material-ui/icons" "^4.9.1" + "@material-ui/lab" "4.0.0-alpha.57" + "@types/dagre" "^0.7.44" + "@types/react" "*" + "@types/react-sparklines" "^1.7.0" + "@types/react-text-truncate" "^0.14.0" + classnames "^2.2.6" + clsx "^1.1.0" + d3-selection "^2.0.0" + d3-shape "^2.0.0" + d3-zoom "^2.0.0" + dagre "^0.8.5" + immer "^9.0.1" + lodash "^4.17.21" + pluralize "^8.0.0" + prop-types "^15.7.2" + qs "^6.9.4" + rc-progress "^3.0.0" + react "^16.12.0" + react-dom "^16.12.0" + react-helmet "6.1.0" + react-hook-form "^7.12.2" + react-markdown "^5.0.2" + react-router "6.0.0-beta.0" + react-router-dom "6.0.0-beta.0" + react-sparklines "^1.7.0" + react-syntax-highlighter "^15.4.3" + react-text-truncate "^0.16.0" + react-use "^17.2.4" + remark-gfm "^1.0.0" + zen-observable "^0.8.15" + "@backstage/core@*": version "0.7.14" resolved "https://registry.npmjs.org/@backstage/core/-/core-0.7.14.tgz#863844fe40bb6a29bcc2d297e42055633b0e886f" @@ -2627,6 +2670,29 @@ react-router-dom "6.0.0-beta.0" react-use "^17.2.4" +"@backstage/plugin-catalog-react@^0.5.0": + version "0.5.2" + resolved "https://registry.npmjs.org/@backstage/plugin-catalog-react/-/plugin-catalog-react-0.5.2.tgz#7d1af3b0aa2397e4c62847fe78b8fe5afd90ee07" + integrity sha512-eoVGSrFyPWgMNZY9rMwEm0QS7B+FRLR2L+nRUlFjK4YnGQCYMXMZroJqSMRdBqBKlPiMgZO2AzZiFROcpSPwmA== + dependencies: + "@backstage/catalog-client" "^0.5.0" + "@backstage/catalog-model" "^0.9.4" + "@backstage/core-app-api" "^0.1.16" + "@backstage/core-components" "^0.6.1" + "@backstage/core-plugin-api" "^0.1.10" + "@backstage/integration" "^0.6.7" + "@backstage/version-bridge" "^0.1.0" + "@material-ui/core" "^4.12.2" + "@material-ui/icons" "^4.9.1" + "@material-ui/lab" "4.0.0-alpha.57" + "@types/react" "*" + jwt-decode "^3.1.0" + lodash "^4.17.21" + qs "^6.9.4" + react "^16.13.1" + react-router "6.0.0-beta.0" + react-use "^17.2.4" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -26017,7 +26083,7 @@ svgo@^1.0.0, svgo@^1.2.2: unquote "~1.1.1" util.promisify "~1.0.0" -swagger-client@^3.16.1: +swagger-client@3.16.1, swagger-client@^3.16.1: version "3.16.1" resolved "https://registry.npmjs.org/swagger-client/-/swagger-client-3.16.1.tgz#df86c9d407ab52c00cb356e714b0ec732bb3ad40" integrity sha512-BcNRQzXHRGuXfhN0f80ptlr+bSaPvXwo8+gWbpmTnbKdAjcWOKAWwUx7rgGHjTKZh0qROr/GX9xOZIY8LrBuTg==