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.
+
+ );
+ }
+
+ 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==