diff --git a/plugins/adr-backend/.eslintrc.js b/plugins/adr-backend/.eslintrc.js deleted file mode 100644 index e2a53a6ad2..0000000000 --- a/plugins/adr-backend/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); diff --git a/plugins/adr-backend/CHANGELOG.md b/plugins/adr-backend/CHANGELOG.md deleted file mode 100644 index 657da1b6b2..0000000000 --- a/plugins/adr-backend/CHANGELOG.md +++ /dev/null @@ -1,1425 +0,0 @@ -# @backstage/plugin-adr-backend - -## 0.4.14 - -### Patch Changes - -- d5a1fe1: Replaced winston logger with `LoggerService` -- Updated dependencies - - @backstage/backend-common@0.21.7 - - @backstage/backend-plugin-api@0.6.17 - - @backstage/catalog-client@1.6.4 - - @backstage/integration@1.10.0 - - @backstage/catalog-model@1.4.5 - - @backstage/config@1.2.0 - - @backstage/errors@1.2.4 - - @backstage/plugin-adr-common@0.2.22 - - @backstage/plugin-search-common@1.2.11 - -## 0.4.14-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.7-next.1 - - @backstage/backend-plugin-api@0.6.17-next.1 - - @backstage/catalog-client@1.6.4-next.0 - - @backstage/catalog-model@1.4.5 - - @backstage/config@1.2.0 - - @backstage/errors@1.2.4 - - @backstage/integration@1.10.0-next.0 - - @backstage/plugin-adr-common@0.2.22-next.0 - - @backstage/plugin-search-common@1.2.11 - -## 0.4.14-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.7-next.0 - - @backstage/integration@1.10.0-next.0 - - @backstage/backend-plugin-api@0.6.17-next.0 - - @backstage/catalog-client@1.6.3 - - @backstage/catalog-model@1.4.5 - - @backstage/config@1.2.0 - - @backstage/errors@1.2.4 - - @backstage/plugin-adr-common@0.2.22-next.0 - - @backstage/plugin-search-common@1.2.11 - -## 0.4.13 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-client@1.6.3 - - @backstage/backend-common@0.21.6 - - @backstage/backend-plugin-api@0.6.16 - - @backstage/catalog-model@1.4.5 - - @backstage/config@1.2.0 - - @backstage/errors@1.2.4 - - @backstage/integration@1.9.1 - - @backstage/plugin-adr-common@0.2.21 - - @backstage/plugin-search-common@1.2.11 - -## 0.4.12 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-client@1.6.2 - - @backstage/backend-common@0.21.5 - - @backstage/backend-plugin-api@0.6.15 - - @backstage/catalog-model@1.4.5 - - @backstage/config@1.2.0 - - @backstage/errors@1.2.4 - - @backstage/integration@1.9.1 - - @backstage/plugin-adr-common@0.2.21 - - @backstage/plugin-search-common@1.2.11 - -## 0.4.11 - -### Patch Changes - -- 334c5fe: Updated dependency `marked` to `^12.0.0`. -- c8fdd83: Migrated `DefaultAdrCollatorFactory` to support new auth services. -- Updated dependencies - - @backstage/backend-common@0.21.4 - - @backstage/integration@1.9.1 - - @backstage/config@1.2.0 - - @backstage/plugin-adr-common@0.2.21 - - @backstage/errors@1.2.4 - - @backstage/backend-plugin-api@0.6.14 - - @backstage/plugin-search-common@1.2.11 - - @backstage/catalog-client@1.6.1 - - @backstage/catalog-model@1.4.5 - -## 0.4.11-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.9.1-next.2 - - @backstage/catalog-client@1.6.1-next.1 - - @backstage/backend-common@0.21.4-next.2 - - @backstage/plugin-adr-common@0.2.21-next.2 - - @backstage/backend-plugin-api@0.6.14-next.2 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/config@1.2.0-next.1 - - @backstage/errors@1.2.4-next.0 - - @backstage/plugin-search-common@1.2.11-next.1 - -## 0.4.11-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/config@1.2.0-next.1 - - @backstage/backend-common@0.21.4-next.1 - - @backstage/backend-plugin-api@0.6.14-next.1 - - @backstage/integration@1.9.1-next.1 - - @backstage/catalog-client@1.6.1-next.0 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/errors@1.2.4-next.0 - - @backstage/plugin-adr-common@0.2.21-next.1 - - @backstage/plugin-search-common@1.2.11-next.1 - -## 0.4.10-next.0 - -### Patch Changes - -- 334c5fe: Updated dependency `marked` to `^12.0.0`. -- c8fdd83: Migrated `DefaultAdrCollatorFactory` to support new auth services. -- Updated dependencies - - @backstage/backend-common@0.21.3-next.0 - - @backstage/plugin-adr-common@0.2.21-next.0 - - @backstage/errors@1.2.4-next.0 - - @backstage/backend-plugin-api@0.6.13-next.0 - - @backstage/plugin-search-common@1.2.11-next.0 - - @backstage/catalog-client@1.6.1-next.0 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/config@1.1.2-next.0 - - @backstage/integration@1.9.1-next.0 - -## 0.4.7 - -### Patch Changes - -- b64ce5a: Updated New Backend System instructions to use default import -- 9aac2b0: Use `--cwd` as the first `yarn` argument -- Updated dependencies - - @backstage/backend-common@0.21.0 - - @backstage/backend-plugin-api@0.6.10 - - @backstage/catalog-model@1.4.4 - - @backstage/integration@1.9.0 - - @backstage/catalog-client@1.6.0 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/plugin-adr-common@0.2.20 - - @backstage/plugin-search-common@1.2.10 - -## 0.4.7-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.0-next.3 - - @backstage/integration@1.9.0-next.1 - - @backstage/backend-plugin-api@0.6.10-next.3 - - @backstage/catalog-client@1.6.0-next.1 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/plugin-adr-common@0.2.20-next.1 - - @backstage/plugin-search-common@1.2.10 - -## 0.4.7-next.2 - -### Patch Changes - -- 9aac2b0: Use `--cwd` as the first `yarn` argument -- Updated dependencies - - @backstage/backend-common@0.21.0-next.2 - - @backstage/backend-plugin-api@0.6.10-next.2 - - @backstage/config@1.1.1 - - @backstage/catalog-client@1.6.0-next.1 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/errors@1.2.3 - - @backstage/integration@1.9.0-next.0 - - @backstage/plugin-adr-common@0.2.20-next.0 - - @backstage/plugin-search-common@1.2.10 - -## 0.4.7-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/catalog-client@1.6.0-next.1 - - @backstage/backend-plugin-api@0.6.10-next.1 - - @backstage/backend-common@0.21.0-next.1 - - @backstage/integration@1.9.0-next.0 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/plugin-adr-common@0.2.20-next.0 - - @backstage/plugin-search-common@1.2.10 - -## 0.4.7-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.0-next.0 - - @backstage/catalog-client@1.6.0-next.0 - - @backstage/backend-plugin-api@0.6.10-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/integration@1.8.0 - - @backstage/plugin-adr-common@0.2.19 - - @backstage/plugin-search-common@1.2.10 - -## 0.4.6 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/backend-common@0.20.1 - - @backstage/catalog-client@1.5.2 - - @backstage/backend-plugin-api@0.6.9 - - @backstage/catalog-model@1.4.3 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/integration@1.8.0 - - @backstage/plugin-adr-common@0.2.19 - - @backstage/plugin-search-common@1.2.10 - -## 0.4.6-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.6.9-next.2 - - @backstage/backend-common@0.20.1-next.2 - -## 0.4.6-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.1-next.1 - - @backstage/integration@1.8.0 - - @backstage/config@1.1.1 - - @backstage/backend-plugin-api@0.6.9-next.1 - - @backstage/catalog-client@1.5.2-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/errors@1.2.3 - - @backstage/plugin-adr-common@0.2.18 - - @backstage/plugin-search-common@1.2.9 - -## 0.4.6-next.0 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/backend-common@0.20.1-next.0 - - @backstage/catalog-client@1.5.2-next.0 - - @backstage/backend-plugin-api@0.6.9-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/integration@1.8.0 - - @backstage/plugin-adr-common@0.2.18 - - @backstage/plugin-search-common@1.2.9 - -## 0.4.5 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0 - - @backstage/catalog-client@1.5.0 - - @backstage/integration@1.8.0 - - @backstage/backend-plugin-api@0.6.8 - - @backstage/catalog-model@1.4.3 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/plugin-adr-common@0.2.18 - - @backstage/plugin-search-common@1.2.9 - -## 0.4.5-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0-next.3 - - @backstage/backend-plugin-api@0.6.8-next.3 - - @backstage/catalog-client@1.5.0-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/integration@1.8.0-next.1 - - @backstage/plugin-adr-common@0.2.18-next.1 - - @backstage/plugin-search-common@1.2.8 - -## 0.4.5-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0-next.2 - - @backstage/catalog-client@1.5.0-next.1 - - @backstage/backend-plugin-api@0.6.8-next.2 - - @backstage/catalog-model@1.4.3 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/integration@1.8.0-next.1 - - @backstage/plugin-adr-common@0.2.18-next.1 - - @backstage/plugin-search-common@1.2.8 - -## 0.4.5-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-client@1.5.0-next.0 - - @backstage/integration@1.8.0-next.1 - - @backstage/backend-common@0.20.0-next.1 - - @backstage/backend-plugin-api@0.6.8-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/plugin-adr-common@0.2.18-next.1 - - @backstage/plugin-search-common@1.2.8 - -## 0.4.5-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0-next.0 - - @backstage/integration@1.8.0-next.0 - - @backstage/backend-plugin-api@0.6.8-next.0 - - @backstage/catalog-client@1.4.6 - - @backstage/catalog-model@1.4.3 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/plugin-adr-common@0.2.18-next.0 - - @backstage/plugin-search-common@1.2.8 - -## 0.4.4 - -### Patch Changes - -- 68f8a55622: Updated dependency `@types/marked` to `^5.0.0`. -- Updated dependencies - - @backstage/integration@1.7.2 - - @backstage/backend-common@0.19.9 - - @backstage/backend-plugin-api@0.6.7 - - @backstage/catalog-client@1.4.6 - - @backstage/catalog-model@1.4.3 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/plugin-adr-common@0.2.17 - - @backstage/plugin-search-common@1.2.8 - -## 0.4.4-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.6.7-next.2 - - @backstage/backend-common@0.19.9-next.2 - -## 0.4.4-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.2-next.0 - - @backstage/backend-common@0.19.9-next.1 - - @backstage/plugin-adr-common@0.2.17-next.0 - - @backstage/backend-plugin-api@0.6.7-next.1 - - @backstage/catalog-client@1.4.5 - - @backstage/catalog-model@1.4.3 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/plugin-search-common@1.2.7 - -## 0.4.4-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.9-next.0 - - @backstage/integration@1.7.1 - - @backstage/backend-plugin-api@0.6.7-next.0 - - @backstage/catalog-client@1.4.5 - - @backstage/catalog-model@1.4.3 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/plugin-adr-common@0.2.16 - - @backstage/plugin-search-common@1.2.7 - -## 0.4.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.8 - - @backstage/integration@1.7.1 - - @backstage/catalog-model@1.4.3 - - @backstage/errors@1.2.3 - - @backstage/backend-plugin-api@0.6.6 - - @backstage/plugin-adr-common@0.2.16 - - @backstage/catalog-client@1.4.5 - - @backstage/config@1.1.1 - - @backstage/plugin-search-common@1.2.7 - -## 0.4.3-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.8-next.2 - - @backstage/catalog-model@1.4.3-next.0 - - @backstage/integration@1.7.1-next.1 - - @backstage/errors@1.2.3-next.0 - - @backstage/backend-plugin-api@0.6.6-next.2 - - @backstage/catalog-client@1.4.5-next.0 - - @backstage/config@1.1.1-next.0 - - @backstage/plugin-adr-common@0.2.16-next.1 - - @backstage/plugin-search-common@1.2.7-next.0 - -## 0.4.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.7-next.1 - - @backstage/backend-plugin-api@0.6.5-next.1 - - @backstage/config@1.1.0 - - @backstage/catalog-client@1.4.4 - - @backstage/catalog-model@1.4.2 - - @backstage/errors@1.2.2 - - @backstage/integration@1.7.1-next.0 - - @backstage/plugin-adr-common@0.2.16-next.0 - - @backstage/plugin-search-common@1.2.6 - -## 0.4.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.1-next.0 - - @backstage/backend-common@0.19.7-next.0 - - @backstage/plugin-adr-common@0.2.16-next.0 - - @backstage/config@1.1.0 - - @backstage/backend-plugin-api@0.6.5-next.0 - - @backstage/catalog-client@1.4.4 - - @backstage/catalog-model@1.4.2 - - @backstage/errors@1.2.2 - - @backstage/plugin-search-common@1.2.6 - -## 0.4.0 - -### Minor Changes - -- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export. - - For example, if you are currently importing the plugin using the following pattern: - - ```ts - import { examplePlugin } from '@backstage/plugin-example-backend'; - - backend.add(examplePlugin); - ``` - - It should be migrated to this: - - ```ts - backend.add(import('@backstage/plugin-example-backend')); - ``` - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.5 - - @backstage/config@1.1.0 - - @backstage/catalog-client@1.4.4 - - @backstage/catalog-model@1.4.2 - - @backstage/errors@1.2.2 - - @backstage/integration@1.7.0 - - @backstage/plugin-adr-common@0.2.15 - - @backstage/plugin-search-common@1.2.6 - - @backstage/backend-plugin-api@0.6.3 - -## 0.4.0-next.3 - -### Minor Changes - -- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export. - - For example, if you are currently importing the plugin using the following pattern: - - ```ts - import { examplePlugin } from '@backstage/plugin-example-backend'; - - backend.add(examplePlugin); - ``` - - It should be migrated to this: - - ```ts - backend.add(import('@backstage/plugin-example-backend')); - ``` - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-client@1.4.4-next.2 - - @backstage/catalog-model@1.4.2-next.2 - - @backstage/config@1.1.0-next.2 - - @backstage/errors@1.2.2-next.0 - - @backstage/integration@1.7.0-next.3 - - @backstage/plugin-adr-common@0.2.15-next.3 - - @backstage/plugin-search-common@1.2.6-next.2 - - @backstage/backend-plugin-api@0.6.3-next.3 - - @backstage/backend-common@0.19.5-next.3 - -## 0.3.9-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/config@1.1.0-next.1 - - @backstage/backend-common@0.19.5-next.2 - - @backstage/integration@1.7.0-next.2 - - @backstage/backend-plugin-api@0.6.3-next.2 - - @backstage/catalog-model@1.4.2-next.1 - - @backstage/catalog-client@1.4.4-next.1 - - @backstage/errors@1.2.1 - - @backstage/plugin-adr-common@0.2.15-next.2 - - @backstage/plugin-search-common@1.2.6-next.1 - -## 0.3.9-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/config@1.1.0-next.0 - - @backstage/integration@1.7.0-next.1 - - @backstage/backend-common@0.19.5-next.1 - - @backstage/backend-plugin-api@0.6.3-next.1 - - @backstage/catalog-model@1.4.2-next.0 - - @backstage/plugin-adr-common@0.2.15-next.1 - - @backstage/catalog-client@1.4.4-next.0 - - @backstage/errors@1.2.1 - - @backstage/plugin-search-common@1.2.6-next.0 - -## 0.3.8-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.4-next.0 - - @backstage/integration@1.7.0-next.0 - - @backstage/backend-plugin-api@0.6.2-next.0 - - @backstage/catalog-client@1.4.3 - - @backstage/catalog-model@1.4.1 - - @backstage/config@1.0.8 - - @backstage/errors@1.2.1 - - @backstage/plugin-adr-common@0.2.14-next.0 - - @backstage/plugin-search-common@1.2.5 - -## 0.3.6 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.2 - - @backstage/backend-plugin-api@0.6.0 - - @backstage/integration@1.6.0 - - @backstage/catalog-client@1.4.3 - - @backstage/catalog-model@1.4.1 - - @backstage/config@1.0.8 - - @backstage/errors@1.2.1 - - @backstage/plugin-adr-common@0.2.12 - - @backstage/plugin-search-common@1.2.5 - -## 0.3.6-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.6.0-next.2 - - @backstage/backend-common@0.19.2-next.2 - -## 0.3.6-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.2-next.1 - - @backstage/backend-plugin-api@0.6.0-next.1 - - @backstage/integration@1.5.1 - - @backstage/catalog-client@1.4.3 - - @backstage/catalog-model@1.4.1 - - @backstage/config@1.0.8 - - @backstage/errors@1.2.1 - - @backstage/plugin-adr-common@0.2.11 - - @backstage/plugin-search-common@1.2.5 - -## 0.3.6-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.2-next.0 - - @backstage/backend-plugin-api@0.5.5-next.0 - - @backstage/catalog-client@1.4.3 - - @backstage/catalog-model@1.4.1 - - @backstage/config@1.0.8 - - @backstage/errors@1.2.1 - - @backstage/integration@1.5.1 - - @backstage/plugin-adr-common@0.2.11 - - @backstage/plugin-search-common@1.2.5 - -## 0.3.5 - -### Patch Changes - -- a8805a9a4f25: Added support for the [new backend system](https://backstage.io/docs/backend-system/) -- Updated dependencies - - @backstage/errors@1.2.1 - - @backstage/backend-common@0.19.1 - - @backstage/plugin-adr-common@0.2.11 - - @backstage/backend-plugin-api@0.5.4 - - @backstage/catalog-client@1.4.3 - - @backstage/catalog-model@1.4.1 - - @backstage/config@1.0.8 - - @backstage/integration@1.5.1 - - @backstage/plugin-search-common@1.2.5 - -## 0.3.5-next.1 - -### Patch Changes - -- a8805a9a4f25: Added support for the [new backend system](https://backstage.io/docs/backend-system/) -- Updated dependencies - - @backstage/plugin-adr-common@0.2.11-next.1 - - @backstage/backend-common@0.19.1-next.0 - - @backstage/backend-plugin-api@0.5.4-next.0 - - @backstage/catalog-client@1.4.3-next.0 - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/config@1.0.8 - - @backstage/errors@1.2.1-next.0 - - @backstage/integration@1.5.1-next.0 - - @backstage/plugin-search-common@1.2.5-next.0 - -## 0.3.5-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/errors@1.2.1-next.0 - - @backstage/backend-common@0.19.1-next.0 - - @backstage/catalog-client@1.4.3-next.0 - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/config@1.0.8 - - @backstage/integration@1.5.1-next.0 - - @backstage/plugin-adr-common@0.2.11-next.0 - - @backstage/plugin-search-common@1.2.5-next.0 - -## 0.3.4 - -### Patch Changes - -- 58524588448c: Use front matter parser for MADR v3 formatted ADRs when indexing status/date -- Updated dependencies - - @backstage/backend-common@0.19.0 - - @backstage/catalog-client@1.4.2 - - @backstage/integration@1.5.0 - - @backstage/catalog-model@1.4.0 - - @backstage/errors@1.2.0 - - @backstage/plugin-adr-common@0.2.10 - - @backstage/config@1.0.8 - - @backstage/plugin-search-common@1.2.4 - -## 0.3.4-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.0-next.2 - - @backstage/catalog-model@1.4.0-next.1 - - @backstage/catalog-client@1.4.2-next.2 - - @backstage/config@1.0.7 - - @backstage/errors@1.2.0-next.0 - - @backstage/integration@1.5.0-next.0 - - @backstage/plugin-adr-common@0.2.10-next.1 - - @backstage/plugin-search-common@1.2.4-next.0 - -## 0.3.4-next.1 - -### Patch Changes - -- 58524588448c: Use front matter parser for MADR v3 formatted ADRs when indexing status/date -- Updated dependencies - - @backstage/backend-common@0.19.0-next.1 - - @backstage/integration@1.5.0-next.0 - - @backstage/errors@1.2.0-next.0 - - @backstage/catalog-model@1.4.0-next.0 - - @backstage/plugin-adr-common@0.2.10-next.0 - - @backstage/catalog-client@1.4.2-next.1 - - @backstage/config@1.0.7 - - @backstage/plugin-search-common@1.2.4-next.0 - -## 0.3.4-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-client@1.4.2-next.0 - - @backstage/backend-common@0.18.6-next.0 - - @backstage/integration@1.4.5 - - @backstage/config@1.0.7 - - @backstage/catalog-model@1.3.0 - - @backstage/errors@1.1.5 - - @backstage/plugin-adr-common@0.2.9 - - @backstage/plugin-search-common@1.2.3 - -## 0.3.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.5 - - @backstage/integration@1.4.5 - - @backstage/catalog-client@1.4.1 - - @backstage/catalog-model@1.3.0 - - @backstage/config@1.0.7 - - @backstage/errors@1.1.5 - - @backstage/plugin-adr-common@0.2.9 - - @backstage/plugin-search-common@1.2.3 - -## 0.3.3-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.5-next.1 - - @backstage/config@1.0.7 - -## 0.3.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.5-next.0 - - @backstage/integration@1.4.5-next.0 - - @backstage/plugin-adr-common@0.2.9-next.0 - - @backstage/catalog-client@1.4.1 - - @backstage/catalog-model@1.3.0 - - @backstage/config@1.0.7 - - @backstage/errors@1.1.5 - - @backstage/plugin-search-common@1.2.3 - -## 0.3.2 - -### Patch Changes - -- 7d75f6d9b8f: chore: Improve API Reference documentation -- Updated dependencies - - @backstage/backend-common@0.18.4 - - @backstage/catalog-client@1.4.1 - - @backstage/plugin-adr-common@0.2.8 - - @backstage/catalog-model@1.3.0 - - @backstage/integration@1.4.4 - - @backstage/config@1.0.7 - - @backstage/errors@1.1.5 - - @backstage/plugin-search-common@1.2.3 - -## 0.3.2-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-adr-common@0.2.8-next.1 - - @backstage/catalog-model@1.3.0-next.0 - - @backstage/backend-common@0.18.4-next.2 - - @backstage/catalog-client@1.4.1-next.1 - - @backstage/config@1.0.7 - - @backstage/errors@1.1.5 - - @backstage/integration@1.4.4-next.0 - - @backstage/plugin-search-common@1.2.3-next.0 - -## 0.3.2-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.4-next.2 - - @backstage/catalog-client@1.4.1-next.0 - - @backstage/catalog-model@1.2.1 - - @backstage/config@1.0.7 - - @backstage/errors@1.1.5 - - @backstage/integration@1.4.4-next.0 - - @backstage/plugin-adr-common@0.2.8-next.0 - - @backstage/plugin-search-common@1.2.3-next.0 - -## 0.3.2-next.1 - -### Patch Changes - -- 7d75f6d9b8f: chore: Improve API Reference documentation -- Updated dependencies - - @backstage/integration@1.4.4-next.0 - - @backstage/backend-common@0.18.4-next.1 - - @backstage/catalog-client@1.4.0 - - @backstage/catalog-model@1.2.1 - - @backstage/config@1.0.7 - - @backstage/errors@1.1.5 - - @backstage/plugin-adr-common@0.2.8-next.0 - - @backstage/plugin-search-common@1.2.3-next.0 - -## 0.3.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.4-next.0 - - @backstage/config@1.0.7 - - @backstage/integration@1.4.3 - - @backstage/catalog-client@1.4.0 - - @backstage/catalog-model@1.2.1 - - @backstage/errors@1.1.5 - - @backstage/plugin-adr-common@0.2.7 - - @backstage/plugin-search-common@1.2.2 - -## 0.3.1 - -### Patch Changes - -- 2a73ded3861: Support MADR v3 format -- 8bf24946c66: Adjust express dependencies to be the same as the rest of the project -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/catalog-client@1.4.0 - - @backstage/backend-common@0.18.3 - - @backstage/errors@1.1.5 - - @backstage/catalog-model@1.2.1 - - @backstage/integration@1.4.3 - - @backstage/config@1.0.7 - - @backstage/plugin-adr-common@0.2.7 - - @backstage/plugin-search-common@1.2.2 - -## 0.3.1-next.2 - -### Patch Changes - -- 2a73ded3861: Support MADR v3 format -- Updated dependencies - - @backstage/backend-common@0.18.3-next.2 - - @backstage/config@1.0.7-next.0 - - @backstage/integration@1.4.3-next.0 - -## 0.3.1-next.1 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/errors@1.1.5-next.0 - - @backstage/backend-common@0.18.3-next.1 - - @backstage/catalog-client@1.4.0-next.1 - - @backstage/integration@1.4.3-next.0 - - @backstage/config@1.0.7-next.0 - - @backstage/catalog-model@1.2.1-next.1 - - @backstage/plugin-adr-common@0.2.7-next.1 - - @backstage/plugin-search-common@1.2.2-next.0 - -## 0.3.1-next.0 - -### Patch Changes - -- 8bf24946c6: Adjust express dependencies to be the same as the rest of the project -- Updated dependencies - - @backstage/catalog-client@1.4.0-next.0 - - @backstage/backend-common@0.18.3-next.0 - - @backstage/catalog-model@1.2.1-next.0 - - @backstage/config@1.0.6 - - @backstage/errors@1.1.4 - - @backstage/integration@1.4.2 - - @backstage/plugin-adr-common@0.2.7-next.0 - - @backstage/plugin-search-common@1.2.1 - -## 0.3.0 - -### Minor Changes - -- 0a32911d8a: Display title, status and date in ADR navigation, sourced from ADR content and reverse order. - -### Patch Changes - -- c51efce2a0: Update docs to always use `yarn add --cwd` for app & backend -- Updated dependencies - - @backstage/backend-common@0.18.2 - - @backstage/catalog-model@1.2.0 - - @backstage/catalog-client@1.3.1 - - @backstage/config@1.0.6 - - @backstage/errors@1.1.4 - - @backstage/integration@1.4.2 - - @backstage/plugin-adr-common@0.2.6 - - @backstage/plugin-search-common@1.2.1 - -## 0.2.7-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.2-next.2 - - @backstage/catalog-model@1.2.0-next.1 - - @backstage/catalog-client@1.3.1-next.1 - - @backstage/config@1.0.6 - - @backstage/errors@1.1.4 - - @backstage/integration@1.4.2 - - @backstage/plugin-adr-common@0.2.6-next.1 - - @backstage/plugin-search-common@1.2.1 - -## 0.2.7-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.2-next.1 - - @backstage/catalog-client@1.3.1-next.0 - - @backstage/catalog-model@1.1.6-next.0 - - @backstage/config@1.0.6 - - @backstage/errors@1.1.4 - - @backstage/integration@1.4.2 - - @backstage/plugin-adr-common@0.2.6-next.0 - - @backstage/plugin-search-common@1.2.1 - -## 0.2.7-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.6-next.0 - - @backstage/backend-common@0.18.2-next.0 - - @backstage/catalog-client@1.3.1-next.0 - - @backstage/plugin-adr-common@0.2.6-next.0 - -## 0.2.5 - -### Patch Changes - -- aa17643a06: This plugin now exports a `createRouter` method which uses `UrlReaders` to make requests to your SCM. Please make sure you read the [install instructions](https://github.com/backstage/backstage/blob/master/plugins/adr-backend/README.md#install) -- 21ffbdd5ee: Clarify that default ADR parsers support MADR specification v2.x -- Updated dependencies - - @backstage/backend-common@0.18.0 - - @backstage/catalog-model@1.1.5 - - @backstage/catalog-client@1.3.0 - - @backstage/config@1.0.6 - - @backstage/errors@1.1.4 - - @backstage/integration@1.4.2 - - @backstage/plugin-adr-common@0.2.5 - - @backstage/plugin-search-common@1.2.1 - -## 0.2.5-next.2 - -### Patch Changes - -- e4469d0ec1: The ADR plugin can now work with sites other than GitHub. Expanded the ADR backend plugin to provide endpoints to facilitate this. - - **BREAKING** The ADR plugin now uses UrlReaders. You will have to [configure integrations](https://backstage.io/docs/integrations/index#configuration) for all sites you want to get ADRs from. If you would like to create your own implementation that has different behavior, you can override the AdrApi [just like you can with other apis.](https://backstage.io/docs/api/utility-apis#app-apis) The previously used Octokit implementation has been completely removed. - -- 21ffbdd5ee: Clarify that default ADR parsers support MADR specification v2.x -- Updated dependencies - - @backstage/backend-common@0.18.0-next.1 - - @backstage/catalog-client@1.3.0-next.2 - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/config@1.0.6-next.0 - - @backstage/errors@1.1.4 - - @backstage/integration@1.4.2-next.0 - - @backstage/plugin-adr-common@0.2.5-next.1 - - @backstage/plugin-search-common@1.2.1-next.0 - -## 0.2.5-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.0-next.0 - - @backstage/config@1.0.6-next.0 - - @backstage/catalog-client@1.3.0-next.1 - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/errors@1.1.4 - - @backstage/integration@1.4.2-next.0 - - @backstage/plugin-adr-common@0.2.5-next.1 - - @backstage/plugin-search-common@1.2.1-next.0 - -## 0.2.5-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.0 - - @backstage/catalog-client@1.3.0-next.0 - - @backstage/backend-common@0.17.0 - - @backstage/config@1.0.5 - - @backstage/errors@1.1.4 - - @backstage/integration@1.4.1 - - @backstage/plugin-adr-common@0.2.5-next.0 - - @backstage/plugin-search-common@1.2.0 - -## 0.2.4 - -### Patch Changes - -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/catalog-client@1.2.0 - - @backstage/backend-common@0.17.0 - - @backstage/errors@1.1.4 - - @backstage/integration@1.4.1 - - @backstage/plugin-search-common@1.2.0 - - @backstage/catalog-model@1.1.4 - - @backstage/config@1.0.5 - - @backstage/plugin-adr-common@0.2.4 - -## 0.2.4-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.17.0-next.3 - - @backstage/catalog-client@1.2.0-next.1 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/config@1.0.5-next.1 - - @backstage/errors@1.1.4-next.1 - - @backstage/integration@1.4.1-next.1 - - @backstage/plugin-adr-common@0.2.4-next.3 - - @backstage/plugin-search-common@1.2.0-next.3 - -## 0.2.4-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.17.0-next.2 - - @backstage/plugin-search-common@1.2.0-next.2 - - @backstage/catalog-client@1.2.0-next.1 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/config@1.0.5-next.1 - - @backstage/errors@1.1.4-next.1 - - @backstage/integration@1.4.1-next.1 - - @backstage/plugin-adr-common@0.2.4-next.2 - -## 0.2.4-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.17.0-next.1 - - @backstage/config@1.0.5-next.1 - - @backstage/integration@1.4.1-next.1 - - @backstage/catalog-client@1.2.0-next.1 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/errors@1.1.4-next.1 - - @backstage/plugin-adr-common@0.2.4-next.1 - - @backstage/plugin-search-common@1.1.2-next.1 - -## 0.2.4-next.0 - -### Patch Changes - -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/catalog-client@1.2.0-next.0 - - @backstage/backend-common@0.16.1-next.0 - - @backstage/integration@1.4.1-next.0 - - @backstage/catalog-model@1.1.4-next.0 - - @backstage/config@1.0.5-next.0 - - @backstage/errors@1.1.4-next.0 - - @backstage/plugin-adr-common@0.2.4-next.0 - - @backstage/plugin-search-common@1.1.2-next.0 - -## 0.2.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.16.0 - - @backstage/integration@1.4.0 - - @backstage/catalog-model@1.1.3 - - @backstage/catalog-client@1.1.2 - - @backstage/config@1.0.4 - - @backstage/errors@1.1.3 - - @backstage/plugin-adr-common@0.2.3 - - @backstage/plugin-search-common@1.1.1 - -## 0.2.3-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.16.0-next.1 - - @backstage/catalog-client@1.1.2-next.0 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/config@1.0.4-next.0 - - @backstage/errors@1.1.3-next.0 - - @backstage/integration@1.4.0-next.0 - - @backstage/plugin-adr-common@0.2.3-next.0 - - @backstage/plugin-search-common@1.1.1-next.0 - -## 0.2.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.16.0-next.0 - - @backstage/integration@1.4.0-next.0 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/plugin-adr-common@0.2.3-next.0 - - @backstage/catalog-client@1.1.2-next.0 - - @backstage/config@1.0.4-next.0 - - @backstage/errors@1.1.3-next.0 - - @backstage/plugin-search-common@1.1.1-next.0 - -## 0.2.2 - -### Patch Changes - -- 8006f8a602: In order to improve the debuggability of the search indexing process, messages logged during indexing are now tagged with a `documentType` whose value corresponds to the `type` being indexed. -- Updated dependencies - - @backstage/catalog-model@1.1.2 - - @backstage/backend-common@0.15.2 - - @backstage/catalog-client@1.1.1 - - @backstage/plugin-search-common@1.1.0 - - @backstage/plugin-adr-common@0.2.2 - - @backstage/config@1.0.3 - - @backstage/errors@1.1.2 - - @backstage/integration@1.3.2 - -## 0.2.2-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.15.2-next.2 - - @backstage/plugin-search-common@1.1.0-next.2 - - @backstage/catalog-client@1.1.1-next.2 - - @backstage/catalog-model@1.1.2-next.2 - - @backstage/config@1.0.3-next.2 - - @backstage/errors@1.1.2-next.2 - - @backstage/integration@1.3.2-next.2 - - @backstage/plugin-adr-common@0.2.2-next.2 - -## 0.2.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-client@1.1.1-next.1 - - @backstage/backend-common@0.15.2-next.1 - - @backstage/plugin-search-common@1.1.0-next.1 - - @backstage/catalog-model@1.1.2-next.1 - - @backstage/config@1.0.3-next.1 - - @backstage/errors@1.1.2-next.1 - - @backstage/integration@1.3.2-next.1 - - @backstage/plugin-adr-common@0.2.2-next.1 - -## 0.2.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2-next.0 - - @backstage/catalog-client@1.1.1-next.0 - - @backstage/plugin-adr-common@0.2.2-next.0 - - @backstage/backend-common@0.15.2-next.0 - - @backstage/config@1.0.3-next.0 - - @backstage/errors@1.1.2-next.0 - - @backstage/integration@1.3.2-next.0 - - @backstage/plugin-search-common@1.0.2-next.0 - -## 0.2.1 - -### Patch Changes - -- b489de83b1: Continue processing subsequent entities when an error occurs in collator -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- Updated dependencies - - @backstage/backend-common@0.15.1 - - @backstage/integration@1.3.1 - - @backstage/catalog-client@1.1.0 - - @backstage/catalog-model@1.1.1 - - @backstage/config@1.0.2 - - @backstage/errors@1.1.1 - - @backstage/plugin-adr-common@0.2.1 - - @backstage/plugin-search-common@1.0.1 - -## 0.2.1-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-client@1.1.0-next.2 - - @backstage/catalog-model@1.1.1-next.0 - - @backstage/config@1.0.2-next.0 - - @backstage/errors@1.1.1-next.0 - - @backstage/integration@1.3.1-next.2 - - @backstage/backend-common@0.15.1-next.3 - - @backstage/plugin-adr-common@0.2.1-next.1 - -## 0.2.1-next.2 - -### Patch Changes - -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- Updated dependencies - - @backstage/backend-common@0.15.1-next.2 - - @backstage/integration@1.3.1-next.1 - - @backstage/catalog-client@1.0.5-next.1 - -## 0.2.1-next.1 - -### Patch Changes - -- b489de83b1: Continue processing subsequent entities when an error occurs in collator -- Updated dependencies - - @backstage/backend-common@0.15.1-next.1 - -## 0.2.1-next.0 - -### Patch Changes - -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- Updated dependencies - - @backstage/backend-common@0.15.1-next.0 - - @backstage/catalog-client@1.0.5-next.0 - - @backstage/integration@1.3.1-next.0 - - @backstage/plugin-adr-common@0.2.1-next.0 - - @backstage/plugin-search-common@1.0.1-next.0 - -## 0.2.0 - -### Minor Changes - -- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem` - - BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.15.0 - - @backstage/plugin-adr-common@0.2.0 - - @backstage/integration@1.3.0 - -## 0.2.0-next.1 - -### Minor Changes - -- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem` - - BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-adr-common@0.2.0-next.1 - - @backstage/backend-common@0.15.0-next.2 - -## 0.1.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.15.0-next.0 - - @backstage/integration@1.3.0-next.0 - - @backstage/plugin-adr-common@0.1.3-next.0 - -## 0.1.2 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`. -- 8006d0f9bf: Updated dependency `msw` to `^0.44.0`. -- Updated dependencies - - @backstage/backend-common@0.14.1 - - @backstage/catalog-model@1.1.0 - - @backstage/plugin-search-common@1.0.0 - - @backstage/integration@1.2.2 - - @backstage/catalog-client@1.0.4 - - @backstage/errors@1.1.0 - - @backstage/plugin-adr-common@0.1.2 - -## 0.1.2-next.2 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`. -- Updated dependencies - - @backstage/backend-common@0.14.1-next.3 - - @backstage/catalog-client@1.0.4-next.2 - - @backstage/integration@1.2.2-next.3 - - @backstage/catalog-model@1.1.0-next.3 - -## 0.1.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.0-next.1 - - @backstage/backend-common@0.14.1-next.1 - - @backstage/errors@1.1.0-next.0 - - @backstage/catalog-client@1.0.4-next.1 - - @backstage/integration@1.2.2-next.1 - - @backstage/plugin-adr-common@0.1.2-next.1 - - @backstage/plugin-search-common@0.3.6-next.0 - -## 0.1.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.14.1-next.0 - - @backstage/catalog-model@1.1.0-next.0 - - @backstage/integration@1.2.2-next.0 - - @backstage/catalog-client@1.0.4-next.0 - - @backstage/plugin-adr-common@0.1.2-next.0 - -## 0.1.1 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/plugin-search-common@0.3.5 - - @backstage/backend-common@0.14.0 - - @backstage/integration@1.2.1 - - @backstage/catalog-client@1.0.3 - - @backstage/catalog-model@1.0.3 - - @backstage/plugin-adr-common@0.1.1 - -## 0.1.1-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-search-common@0.3.5-next.1 - - @backstage/backend-common@0.14.0-next.2 - - @backstage/integration@1.2.1-next.2 - -## 0.1.1-next.1 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/backend-common@0.13.6-next.1 - - @backstage/catalog-client@1.0.3-next.0 - - @backstage/integration@1.2.1-next.1 - - @backstage/catalog-model@1.0.3-next.0 - - @backstage/plugin-search-common@0.3.5-next.0 - - @backstage/plugin-adr-common@0.1.1-next.1 - -## 0.1.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.6-next.0 - - @backstage/integration@1.2.1-next.0 - - @backstage/plugin-adr-common@0.1.1-next.0 - -## 0.1.0 - -### Minor Changes - -- e73075a301: Implement ADR plugin - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.3 - - @backstage/plugin-adr-common@0.1.0 - - @backstage/integration@1.2.0 - - @backstage/config@1.0.1 - - @backstage/plugin-search-common@0.3.4 - - @backstage/catalog-client@1.0.2 - - @backstage/catalog-model@1.0.2 - -## 0.1.0-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.3-next.2 - - @backstage/config@1.0.1-next.0 - - @backstage/plugin-search-common@0.3.4-next.0 - - @backstage/catalog-model@1.0.2-next.0 - - @backstage/integration@1.2.0-next.1 - - @backstage/plugin-adr-common@0.1.0-next.1 - - @backstage/catalog-client@1.0.2-next.0 - -## 0.1.0-next.0 - -### Minor Changes - -- e73075a301: Implement ADR plugin - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-adr-common@0.1.0-next.0 - - @backstage/backend-common@0.13.3-next.1 diff --git a/plugins/adr-backend/README.md b/plugins/adr-backend/README.md deleted file mode 100644 index 81dd865846..0000000000 --- a/plugins/adr-backend/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Deprecated - -This package has been moved to the [backstage-community/plugins](https://github.com/backstage/community-plugins) repository. Migrate to using `@backstage-community/plugin-adr-backend` instead. diff --git a/plugins/adr-backend/api-report.md b/plugins/adr-backend/api-report.md deleted file mode 100644 index bd8859fe69..0000000000 --- a/plugins/adr-backend/api-report.md +++ /dev/null @@ -1,87 +0,0 @@ -## API Report File for "@backstage/plugin-adr-backend" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -/// - -import { AdrDocument } from '@backstage/plugin-adr-common'; -import { AdrFilePathFilterFn } from '@backstage/plugin-adr-common'; -import { AuthService } from '@backstage/backend-plugin-api'; -import { BackendFeature } from '@backstage/backend-plugin-api'; -import { CacheClient } from '@backstage/backend-common'; -import { CatalogApi } from '@backstage/catalog-client'; -import { Config } from '@backstage/config'; -import { DocumentCollatorFactory } from '@backstage/plugin-search-common'; -import { Entity } from '@backstage/catalog-model'; -import express from 'express'; -import { LoggerService } from '@backstage/backend-plugin-api'; -import { PluginCacheManager } from '@backstage/backend-common'; -import { PluginEndpointDiscovery } from '@backstage/backend-common'; -import { Readable } from 'stream'; -import { TokenManager } from '@backstage/backend-common'; -import { UrlReader } from '@backstage/backend-common'; - -// @public -export type AdrCollatorFactoryOptions = { - adrFilePathFilterFn?: AdrFilePathFilterFn; - cache: PluginCacheManager; - config: Config; - catalogClient?: CatalogApi; - discovery: PluginEndpointDiscovery; - logger: LoggerService; - parser?: AdrParser; - reader: UrlReader; - tokenManager: TokenManager; - auth?: AuthService; -}; - -// @public -export type AdrParser = (ctx: AdrParserContext) => Promise; - -// @public -export type AdrParserContext = { - entity: Entity; - content: string; - path: string; -}; - -// @public -const adrPlugin: () => BackendFeature; -export default adrPlugin; - -// @public (undocumented) -export type AdrRouterOptions = { - reader: UrlReader; - cacheClient: CacheClient; - logger: LoggerService; -}; - -// @public -export const createMadrParser: (options?: MadrParserOptions) => AdrParser; - -// @public (undocumented) -export function createRouter( - options: AdrRouterOptions, -): Promise; - -// @public -export class DefaultAdrCollatorFactory implements DocumentCollatorFactory { - // (undocumented) - execute(): AsyncGenerator; - // (undocumented) - static fromConfig( - options: AdrCollatorFactoryOptions, - ): DefaultAdrCollatorFactory; - // (undocumented) - getCollator(): Promise; - // (undocumented) - readonly type: string; -} - -// @public -export type MadrParserOptions = { - locationTemplate?: string; - dateFormat?: string; -}; -``` diff --git a/plugins/adr-backend/catalog-info.yaml b/plugins/adr-backend/catalog-info.yaml deleted file mode 100644 index 9bd35f2722..0000000000 --- a/plugins/adr-backend/catalog-info.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: backstage-plugin-adr-backend - title: '@backstage/plugin-adr-backend' -spec: - lifecycle: experimental - type: backstage-backend-plugin - owner: kuangp diff --git a/plugins/adr-backend/knip-report.md b/plugins/adr-backend/knip-report.md deleted file mode 100644 index 2aaf4dcd0e..0000000000 --- a/plugins/adr-backend/knip-report.md +++ /dev/null @@ -1,9 +0,0 @@ -# Knip report - -## Unused dependencies (2) - -| Name | Location | Severity | -| :--------- | :----------- | :------- | -| node-fetch | package.json | error | -| yn | package.json | error | - diff --git a/plugins/adr-backend/package.json b/plugins/adr-backend/package.json deleted file mode 100644 index 4974fe4d4b..0000000000 --- a/plugins/adr-backend/package.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "@backstage/plugin-adr-backend", - "version": "0.4.14", - "backstage": { - "role": "backend-plugin", - "moved": "@backstage-community/plugin-adr-backend" - }, - "publishConfig": { - "access": "public", - "main": "dist/index.cjs.js", - "types": "dist/index.d.ts" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/adr-backend" - }, - "license": "Apache-2.0", - "main": "src/index.ts", - "types": "src/index.ts", - "files": [ - "dist" - ], - "scripts": { - "build": "backstage-cli package build", - "clean": "backstage-cli package clean", - "lint": "backstage-cli package lint", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack", - "start": "backstage-cli package start", - "test": "backstage-cli package test" - }, - "dependencies": { - "@backstage/backend-common": "workspace:^", - "@backstage/backend-plugin-api": "workspace:^", - "@backstage/catalog-client": "workspace:^", - "@backstage/catalog-model": "workspace:^", - "@backstage/config": "workspace:^", - "@backstage/errors": "workspace:^", - "@backstage/integration": "workspace:^", - "@backstage/plugin-adr-common": "workspace:^", - "@backstage/plugin-search-common": "workspace:^", - "@types/express": "^4.17.6", - "express": "^4.17.1", - "express-promise-router": "^4.1.0", - "luxon": "^3.0.0", - "marked": "^12.0.0", - "node-fetch": "^2.6.5", - "yn": "^4.0.0" - }, - "devDependencies": { - "@backstage/cli": "workspace:^", - "@types/supertest": "^2.0.8", - "supertest": "^6.1.3" - }, - "deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-adr-backend instead." -} diff --git a/plugins/adr-backend/src/index.ts b/plugins/adr-backend/src/index.ts deleted file mode 100644 index a2a9788dcb..0000000000 --- a/plugins/adr-backend/src/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2022 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. - */ - -/** - * Architecture Decision Records backend plugin. - * - * @packageDocumentation - */ - -export * from './search'; -export * from './service'; -export { adrPlugin as default } from './plugin'; diff --git a/plugins/adr-backend/src/plugin.ts b/plugins/adr-backend/src/plugin.ts deleted file mode 100644 index bf5c69047f..0000000000 --- a/plugins/adr-backend/src/plugin.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2023 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 { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; -import { createRouter } from './service/router'; - -/** - * ADR backend plugin - * - * @public - */ -export const adrPlugin = createBackendPlugin({ - pluginId: 'adr', - register(env) { - env.registerInit({ - deps: { - logger: coreServices.logger, - reader: coreServices.urlReader, - cache: coreServices.cache, - httpRouter: coreServices.httpRouter, - }, - async init({ httpRouter, logger, reader, cache }) { - httpRouter.use( - await createRouter({ - logger, - reader, - cacheClient: cache, - }), - ); - }, - }); - }, -}); diff --git a/plugins/adr-backend/src/search/DefaultAdrCollatorFactory.ts b/plugins/adr-backend/src/search/DefaultAdrCollatorFactory.ts deleted file mode 100644 index 5e1c81220d..0000000000 --- a/plugins/adr-backend/src/search/DefaultAdrCollatorFactory.ts +++ /dev/null @@ -1,228 +0,0 @@ -/* - * Copyright 2022 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 { Readable } from 'stream'; -import { - CacheClient, - createLegacyAuthAdapters, - PluginCacheManager, - PluginEndpointDiscovery, - TokenManager, - UrlReader, -} from '@backstage/backend-common'; -import { - CATALOG_FILTER_EXISTS, - CatalogApi, - CatalogClient, -} from '@backstage/catalog-client'; -import { stringifyEntityRef } from '@backstage/catalog-model'; -import { Config } from '@backstage/config'; -import { NotModifiedError, stringifyError } from '@backstage/errors'; -import { - ScmIntegrationRegistry, - ScmIntegrations, -} from '@backstage/integration'; -import { - AdrDocument, - AdrFilePathFilterFn, - ANNOTATION_ADR_LOCATION, - getAdrLocationUrl, - madrFilePathFilter, -} from '@backstage/plugin-adr-common'; -import { DocumentCollatorFactory } from '@backstage/plugin-search-common'; - -import { createMadrParser } from './createMadrParser'; -import { AdrParser } from './types'; -import { AuthService, LoggerService } from '@backstage/backend-plugin-api'; - -/** - * Options to configure the AdrCollatorFactory - * @public - */ -export type AdrCollatorFactoryOptions = { - /** - * Function used to filter ADR file paths. - * Defaults to filtering paths following MADR filename format. - */ - adrFilePathFilterFn?: AdrFilePathFilterFn; - /** - * Plugin cache manager - */ - cache: PluginCacheManager; - /** - * App Config - */ - config: Config; - /** - * Catalog API client. Defaults to CatalogClient. - */ - catalogClient?: CatalogApi; - /** - * Plugin Endpoint Discovery client - */ - discovery: PluginEndpointDiscovery; - /** - * Logger - */ - logger: LoggerService; - /** - * ADR content parser. Defaults to built in MADR parser. - */ - parser?: AdrParser; - /** - * URL Reader - */ - reader: UrlReader; - /** - * Token Manager - */ - tokenManager: TokenManager; - /** - * Auth Service - */ - auth?: AuthService; -}; - -/** - * Default collator to index ADR documents for Backstage search. - * @public - */ -export class DefaultAdrCollatorFactory implements DocumentCollatorFactory { - public readonly type: string = 'adr'; - private readonly adrFilePathFilterFn: AdrFilePathFilterFn; - private readonly cacheClient: CacheClient; - private readonly catalogClient: CatalogApi; - private readonly logger: LoggerService; - private readonly parser: AdrParser; - private readonly reader: UrlReader; - private readonly auth: AuthService; - private readonly scmIntegrations: ScmIntegrationRegistry; - - private constructor(options: AdrCollatorFactoryOptions) { - this.adrFilePathFilterFn = - options.adrFilePathFilterFn ?? madrFilePathFilter; - this.cacheClient = options.cache.getClient(); - this.catalogClient = - options.catalogClient ?? - new CatalogClient({ discoveryApi: options.discovery }); - this.logger = options.logger.child({ documentType: this.type }); - this.parser = options.parser ?? createMadrParser(); - this.reader = options.reader; - this.scmIntegrations = ScmIntegrations.fromConfig(options.config); - - this.auth = createLegacyAuthAdapters(options).auth; - } - - static fromConfig(options: AdrCollatorFactoryOptions) { - return new DefaultAdrCollatorFactory(options); - } - - async getCollator() { - return Readable.from(this.execute()); - } - - async *execute(): AsyncGenerator { - const { token } = await this.auth.getPluginRequestToken({ - onBehalfOf: await this.auth.getOwnServiceCredentials(), - targetPluginId: 'catalog', - }); - - const entities = ( - await this.catalogClient.getEntities( - { - filter: { - [`metadata.annotations.${ANNOTATION_ADR_LOCATION}`]: - CATALOG_FILTER_EXISTS, - }, - fields: [ - 'kind', - 'metadata.annotations', - 'metadata.name', - 'metadata.namespace', - 'metadata.title', - ], - }, - { token }, - ) - ).items; - - for (const ent of entities) { - let adrsUrl: string; - try { - adrsUrl = getAdrLocationUrl(ent, this.scmIntegrations); - } catch (e: any) { - this.logger.error( - `Unable to get ADR location URL for ${stringifyEntityRef( - ent, - )}: ${stringifyError(e)}`, - ); - continue; - } - - const cacheItem = (await this.cacheClient.get(adrsUrl)) as { - adrFiles: { - path: string; - content: string; - }[]; - etag: string; - }; - - let adrFiles = cacheItem?.adrFiles; - try { - const tree = await this.reader.readTree(adrsUrl, { - etag: cacheItem?.etag, - filter: filePath => this.adrFilePathFilterFn(filePath), - }); - - adrFiles = await Promise.all( - ( - await tree.files() - ).map(async f => ({ - path: f.path, - content: (await f.content()).toString('utf8'), - })), - ); - - await this.cacheClient.set(adrsUrl, { adrFiles, etag: tree.etag }); - } catch (error: any) { - // Ignore error if we're able to use cached response - if (!cacheItem || error.name !== NotModifiedError.name) { - this.logger.error( - `Unable to fetch ADRs from ${adrsUrl}: ${stringifyError(error)}`, - ); - continue; - } - } - - for (const { content, path } of adrFiles) { - try { - const adrDoc = await this.parser({ - entity: ent, - path, - content, - }); - yield adrDoc; - } catch (e: any) { - this.logger.error( - `Unable to parse ADR ${path}: ${stringifyError(e)}`, - ); - } - } - - this.logger.info(`Indexed ${adrFiles.length} ADRs from ${adrsUrl}`); - } - } -} diff --git a/plugins/adr-backend/src/search/createMadrParser.ts b/plugins/adr-backend/src/search/createMadrParser.ts deleted file mode 100644 index 1bc3c852e9..0000000000 --- a/plugins/adr-backend/src/search/createMadrParser.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2022 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 { stringifyEntityRef } from '@backstage/catalog-model'; -import { MADR_DATE_FORMAT } from '@backstage/plugin-adr-common'; - -import { AdrParser } from './types'; -import { madrParser } from './madrParser'; - -const applyArgsToFormat = ( - format: string, - args: Record, -): string => { - let formatted = format; - for (const [key, value] of Object.entries(args)) { - formatted = formatted.replace(`:${key}`, value); - } - return formatted.toLowerCase(); -}; - -const DEFAULT_LOCATION_TEMPLATE = - '/catalog/:namespace/:kind/:name/adrs?record=:record'; - -/** - * - * Options for the default MADR content parser - * @public - */ -export type MadrParserOptions = { - /** - * Location template for the route of the frontend plugin - * Defaults to '/catalog/:namespace/:kind/:name/adrs?record=:record' - */ - locationTemplate?: string; - /** - * luxon DateTime format string to parse ADR dates with. - * Defaults to 'yyyy-MM-dd' - */ - dateFormat?: string; -}; - -/** - * Default content parser for ADRs following the MADR template (https://adr.github.io/madr/) - * @public - */ -export const createMadrParser = ( - options: MadrParserOptions = {}, -): AdrParser => { - const locationTemplate = - options.locationTemplate ?? DEFAULT_LOCATION_TEMPLATE; - const dateFormat = options.dateFormat ?? MADR_DATE_FORMAT; - - return async ({ entity, content, path }) => { - const madr = madrParser(content, dateFormat); - return { - title: madr.title ?? path.replace(/\.md$/, ''), - text: content, - status: madr.status, - date: madr.date, - entityRef: stringifyEntityRef(entity), - entityTitle: entity.metadata.title, - location: applyArgsToFormat(locationTemplate, { - namespace: entity.metadata.namespace || 'default', - kind: entity.kind, - name: entity.metadata.name, - record: path, - }), - }; - }; -}; diff --git a/plugins/adr-backend/src/search/index.ts b/plugins/adr-backend/src/search/index.ts deleted file mode 100644 index 33f14631ec..0000000000 --- a/plugins/adr-backend/src/search/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2022 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. - */ - -export * from './DefaultAdrCollatorFactory'; -export * from './createMadrParser'; -export * from './types'; diff --git a/plugins/adr-backend/src/search/madrParser.ts b/plugins/adr-backend/src/search/madrParser.ts deleted file mode 100644 index bb466d13c3..0000000000 --- a/plugins/adr-backend/src/search/madrParser.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2023 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 { DateTime } from 'luxon'; -import { marked, Tokens, TokensList } from 'marked'; -import { - MADR_DATE_FORMAT, - parseMadrWithFrontmatter, -} from '@backstage/plugin-adr-common'; - -const getTitle = (tokens: TokensList): string | undefined => { - return ( - tokens.find(t => t.type === 'heading' && t.depth === 1) as Tokens.Heading - )?.text; -}; - -const getStatusForV2Format = (tokens: TokensList): string | undefined => - (tokens.find(t => t.type === 'list') as Tokens.List)?.items - ?.find(t => /^status:/i.test(t.text)) - ?.text.replace(/^status:/i, '') - .trim() - .toLocaleLowerCase('en-US'); - -const getDateForV2Format = (tokens: TokensList): string | undefined => { - const listTokens = (tokens.find(t => t.type === 'list') as Tokens.List) - ?.items; - const adrDateTime = listTokens - ?.find(t => /^date:/i.test(t.text)) - ?.text.replace(/^date:/i, '') - .trim(); - return adrDateTime; -}; - -const getStatus = ( - tokens: TokensList, - frontMatterStatus?: string, -): string | undefined => { - return frontMatterStatus ?? getStatusForV2Format(tokens); -}; -const getDate = ( - tokens: TokensList, - dateFormat: string, - frontMatterDate?: string, -): string | undefined => { - const dateString = frontMatterDate ?? getDateForV2Format(tokens); - if (!dateString) { - return undefined; - } - const date = DateTime.fromFormat(dateString, dateFormat); - return date?.isValid ? date.toFormat(MADR_DATE_FORMAT) : undefined; -}; - -export const madrParser = (content: string, dateFormat = MADR_DATE_FORMAT) => { - const preparsed = parseMadrWithFrontmatter(content); - const tokens = marked.lexer(preparsed.content); - if (!tokens.length) { - throw new Error('ADR has no content'); - } - - return { - title: getTitle(tokens), - status: getStatus(tokens, preparsed.status), - date: getDate(tokens, dateFormat, preparsed.date), - }; -}; diff --git a/plugins/adr-backend/src/search/types.ts b/plugins/adr-backend/src/search/types.ts deleted file mode 100644 index 8ac47d5c8b..0000000000 --- a/plugins/adr-backend/src/search/types.ts +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2022 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 { Entity } from '@backstage/catalog-model'; -import { AdrDocument } from '@backstage/plugin-adr-common'; - -/** - * Context passed to a AdrParser. - * @public - */ -export type AdrParserContext = { - /** - * The entity associated with the ADR. - */ - entity: Entity; - /** - * The ADR content string. - */ - content: string; - /** - * The ADR file path. - */ - path: string; -}; - -/** - * ADR parser function type. - * @public - */ -export type AdrParser = (ctx: AdrParserContext) => Promise; diff --git a/plugins/adr-backend/src/service/index.ts b/plugins/adr-backend/src/service/index.ts deleted file mode 100644 index 3736acb188..0000000000 --- a/plugins/adr-backend/src/service/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2022 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. - */ - -export { createRouter } from './router'; -export type { AdrRouterOptions } from './router'; diff --git a/plugins/adr-backend/src/service/router.test.ts b/plugins/adr-backend/src/service/router.test.ts deleted file mode 100644 index f79b3e8edb..0000000000 --- a/plugins/adr-backend/src/service/router.test.ts +++ /dev/null @@ -1,231 +0,0 @@ -/* - * Copyright 2022 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 { - CacheClient, - ReadTreeResponse, - ReadTreeResponseFile, - ReadUrlResponse, - UrlReader, -} from '@backstage/backend-common'; -import express from 'express'; -import request from 'supertest'; -import { createRouter } from './router'; -import { LoggerService } from '@backstage/backend-plugin-api'; - -const listEndpointName = '/list'; -const fileEndpointName = '/file'; - -const makeBufferFromString = (string: string) => async () => - Buffer.from(string); - -const testingUrlFakeFileTree: ReadTreeResponseFile[] = [ - { - path: 'folder/testFile001.txt', - content: makeBufferFromString('folder/testFile001.txt content'), - }, - { - path: 'testFile001.txt', - content: makeBufferFromString('testFile002.txt content'), - }, - { - path: 'testFile002.txt', - content: makeBufferFromString('testFile001.txt content'), - }, -]; - -const makeFileContent = async (fileContent: string) => { - const result: ReadUrlResponse = { - buffer: makeBufferFromString(fileContent), - }; - return result; -}; - -const testFileOneContent = 'testFileOne content'; -const testFileTwoContent = 'testFileTwo content'; -const genericFileContent = 'file content'; - -const mockUrlReader: UrlReader = { - readUrl(url: string) { - switch (url) { - case 'testFileOne': - return makeFileContent(testFileOneContent); - case 'testFileTwo': - return makeFileContent(testFileTwoContent); - default: - return makeFileContent(genericFileContent); - } - }, - readTree() { - const result: ReadTreeResponse = { - files: async () => testingUrlFakeFileTree, - archive() { - throw new Error('Function not implemented.'); - }, - dir() { - throw new Error('Function not implemented.'); - }, - etag: '', - }; - - const resultPromise = async () => result; - return resultPromise(); - }, - search() { - throw new Error('search not implemented.'); - }, -}; - -class MockCacheClient implements CacheClient { - private itemRegistry: { [key: string]: any }; - - constructor() { - this.itemRegistry = {}; - } - - async get(key: string) { - return this.itemRegistry[key]; - } - - async set(key: string, value: any) { - this.itemRegistry[key] = value; - } - - async delete(key: string) { - delete this.itemRegistry[key]; - } - - withOptions = () => this; -} - -describe('createRouter', () => { - let app: express.Express; - - beforeEach(async () => { - jest.resetAllMocks(); - - const router = await createRouter({ - reader: mockUrlReader, - cacheClient: new MockCacheClient(), - logger: { - error: (message: any) => message, - } as LoggerService, - }); - app = express().use(router); - }); - - describe(`GET ${listEndpointName}`, () => { - it('returns bad request (400) when no url is provided', async () => { - const urlNotSpecifiedRequest = await request(app).get(listEndpointName); - const urlNotSpecifiedStatus = urlNotSpecifiedRequest.status; - const urlNotSpecifiedMessage = urlNotSpecifiedRequest.body.message; - - const urlNotFilledRequest = await request(app).get( - `${listEndpointName}?url=`, - ); - const urlNotFilledStatus = urlNotFilledRequest.status; - const urlNotFilledMessage = urlNotFilledRequest.body.message; - - const expectedStatusCode = 400; - const expectedErrorMessage = 'No URL provided'; - - expect(urlNotSpecifiedStatus).toBe(expectedStatusCode); - expect(urlNotSpecifiedMessage).toBe(expectedErrorMessage); - - expect(urlNotFilledStatus).toBe(expectedStatusCode); - expect(urlNotFilledMessage).toBe(expectedErrorMessage); - }); - - it('returns the correct listing when reading a url', async () => { - const result = await request(app).get(`${listEndpointName}?url=testing`); - const { status, body, error } = result; - - const expectedStatusCode = 200; - const expectedBody = { - data: [ - { - type: 'file', - name: 'testFile002.txt', - path: 'testFile002.txt', - }, - { - type: 'file', - name: 'testFile001.txt', - path: 'testFile001.txt', - }, - { - type: 'file', - name: 'testFile001.txt', - path: 'folder/testFile001.txt', - }, - ], - }; - - expect(error).toBeFalsy(); - expect(status).toBe(expectedStatusCode); - expect(body).toEqual(expectedBody); - }); - }); - - describe(`GET ${fileEndpointName}`, () => { - it('returns bad request (400) when no url is provided', async () => { - const urlNotSpecifiedRequest = await request(app).get(fileEndpointName); - const urlNotSpecifiedStatus = urlNotSpecifiedRequest.status; - const urlNotSpecifiedMessage = urlNotSpecifiedRequest.body.message; - - const urlNotFilledRequest = await request(app).get( - `${fileEndpointName}?url=`, - ); - const urlNotFilledStatus = urlNotFilledRequest.status; - const urlNotFilledMessage = urlNotFilledRequest.body.message; - - const expectedStatusCode = 400; - const expectedErrorMessage = 'No URL provided'; - - expect(urlNotSpecifiedStatus).toBe(expectedStatusCode); - expect(urlNotSpecifiedMessage).toBe(expectedErrorMessage); - - expect(urlNotFilledStatus).toBe(expectedStatusCode); - expect(urlNotFilledMessage).toBe(expectedErrorMessage); - }); - - it('returns the correct file contents when reading a url', async () => { - const fileOneResponse = await request(app).get( - `${fileEndpointName}?url=testFileOne`, - ); - const fileOneStatus = fileOneResponse.status; - const fileOneBody = fileOneResponse.body; - const fileOneError = fileOneResponse.error; - - const fileTwoResponse = await request(app).get( - `${fileEndpointName}?url=testFileTwo`, - ); - const fileTwoStatus = fileTwoResponse.status; - const fileTwoBody = fileTwoResponse.body; - const fileTwoError = fileTwoResponse.error; - - const expectedStatusCode = 200; - - expect(fileOneError).toBeFalsy(); - expect(fileOneStatus).toBe(expectedStatusCode); - expect(fileOneBody.data).toBe(testFileOneContent); - - expect(fileTwoError).toBeFalsy(); - expect(fileTwoStatus).toBe(expectedStatusCode); - expect(fileTwoBody.data).toBe(testFileTwoContent); - }); - }); -}); diff --git a/plugins/adr-backend/src/service/router.ts b/plugins/adr-backend/src/service/router.ts deleted file mode 100644 index ab0a8afbcb..0000000000 --- a/plugins/adr-backend/src/service/router.ts +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright 2022 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 { CacheClient, UrlReader } from '@backstage/backend-common'; -import { NotModifiedError, stringifyError } from '@backstage/errors'; -import express from 'express'; -import Router from 'express-promise-router'; -import { madrParser } from '../search/madrParser'; -import { LoggerService } from '@backstage/backend-plugin-api'; - -/** @public */ -export type AdrRouterOptions = { - reader: UrlReader; - cacheClient: CacheClient; - logger: LoggerService; -}; - -/** @public */ -export async function createRouter( - options: AdrRouterOptions, -): Promise { - const { reader, cacheClient, logger } = options; - - const router = Router(); - router.use(express.json()); - - router.get('/list', async (req, res) => { - const urlToProcess = req.query.url as string; - if (!urlToProcess) { - res.statusCode = 400; - res.json({ message: 'No URL provided' }); - return; - } - - const cachedTree = (await cacheClient.get(urlToProcess)) as { - data: { - type: string; - name: string; - path: string; - }[]; - etag: string; - }; - const cachedData = cachedTree?.data; - - try { - const treeGetResponse = await reader.readTree(urlToProcess, { - etag: cachedTree?.etag, - }); - const files = await treeGetResponse.files(); - const data = await Promise.all( - files - .map(async file => { - const fileContent = await file.content(); - const adrInfo = madrParser(fileContent.toString()); - return { - type: 'file', - name: file.path.substring(file.path.lastIndexOf('/') + 1), - path: file.path, - ...adrInfo, - }; - }) - .reverse(), - ); - - await cacheClient.set(urlToProcess, { - data, - etag: treeGetResponse.etag, - }); - - res.json({ data }); - } catch (error: any) { - if (cachedData && error.name === NotModifiedError.name) { - res.json({ data: cachedData }); - return; - } - - const message = stringifyError(error); - logger.error(`Unable to fetch ADRs from ${urlToProcess}: ${message}`); - res.statusCode = 500; - res.json({ message }); - } - }); - - router.get('/file', async (req, res) => { - const urlToProcess = req.query.url as string; - if (!urlToProcess) { - res.statusCode = 400; - res.json({ message: 'No URL provided' }); - return; - } - - const cachedFileContent = (await cacheClient.get(urlToProcess)) as { - data: string; - etag: string; - }; - - try { - const fileGetResponse = await reader.readUrl(urlToProcess, { - etag: cachedFileContent?.etag, - }); - const fileBuffer = await fileGetResponse.buffer(); - const data = fileBuffer.toString(); - - await cacheClient.set(urlToProcess, { - data, - etag: fileGetResponse.etag, - }); - - res.json({ data }); - } catch (error) { - if (cachedFileContent && error.name === NotModifiedError.name) { - res.json({ data: cachedFileContent.data }); - return; - } - - const message = stringifyError(error); - logger.error(`Unable to fetch ADRs from ${urlToProcess}: ${message}`); - res.statusCode = 500; - res.json({ message }); - } - }); - - return router; -} diff --git a/plugins/adr-common/.eslintrc.js b/plugins/adr-common/.eslintrc.js deleted file mode 100644 index e2a53a6ad2..0000000000 --- a/plugins/adr-common/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); diff --git a/plugins/adr-common/CHANGELOG.md b/plugins/adr-common/CHANGELOG.md deleted file mode 100644 index 61a608b1d0..0000000000 --- a/plugins/adr-common/CHANGELOG.md +++ /dev/null @@ -1,636 +0,0 @@ -# @backstage/plugin-adr-common - -## 0.2.22 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.10.0 - - @backstage/catalog-model@1.4.5 - - @backstage/plugin-search-common@1.2.11 - -## 0.2.22-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.10.0-next.0 - - @backstage/catalog-model@1.4.5 - - @backstage/plugin-search-common@1.2.11 - -## 0.2.21 - -### Patch Changes - -- 5335634: Fixed Azure DevOps ADR file path reading -- Updated dependencies - - @backstage/integration@1.9.1 - - @backstage/plugin-search-common@1.2.11 - - @backstage/catalog-model@1.4.5 - -## 0.2.21-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.9.1-next.2 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/plugin-search-common@1.2.11-next.1 - -## 0.2.21-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.9.1-next.1 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/plugin-search-common@1.2.11-next.1 - -## 0.2.21-next.0 - -### Patch Changes - -- 5335634: Fixed Azure DevOps ADR file path reading -- Updated dependencies - - @backstage/plugin-search-common@1.2.11-next.0 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/integration@1.9.1-next.0 - -## 0.2.20 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.4 - - @backstage/integration@1.9.0 - - @backstage/plugin-search-common@1.2.10 - -## 0.2.20-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.9.0-next.1 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/plugin-search-common@1.2.10 - -## 0.2.20-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/integration@1.9.0-next.0 - - @backstage/plugin-search-common@1.2.10 - -## 0.2.19 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.3 - - @backstage/integration@1.8.0 - - @backstage/plugin-search-common@1.2.10 - -## 0.2.18 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.8.0 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-search-common@1.2.9 - -## 0.2.18-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.8.0-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-search-common@1.2.8 - -## 0.2.18-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.8.0-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-search-common@1.2.8 - -## 0.2.17 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.2 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-search-common@1.2.8 - -## 0.2.17-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.2-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-search-common@1.2.7 - -## 0.2.16 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.1 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-search-common@1.2.7 - -## 0.2.16-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.3-next.0 - - @backstage/integration@1.7.1-next.1 - - @backstage/plugin-search-common@1.2.7-next.0 - -## 0.2.16-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.1-next.0 - - @backstage/catalog-model@1.4.2 - - @backstage/plugin-search-common@1.2.6 - -## 0.2.15 - -### Patch Changes - -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- Updated dependencies - - @backstage/catalog-model@1.4.2 - - @backstage/integration@1.7.0 - - @backstage/plugin-search-common@1.2.6 - -## 0.2.15-next.3 - -### Patch Changes - -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- Updated dependencies - - @backstage/catalog-model@1.4.2-next.2 - - @backstage/integration@1.7.0-next.3 - - @backstage/plugin-search-common@1.2.6-next.2 - -## 0.2.15-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.0-next.2 - - @backstage/catalog-model@1.4.2-next.1 - - @backstage/plugin-search-common@1.2.6-next.1 - -## 0.2.15-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.0-next.1 - - @backstage/catalog-model@1.4.2-next.0 - - @backstage/plugin-search-common@1.2.6-next.0 - -## 0.2.14-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.0-next.0 - - @backstage/catalog-model@1.4.1 - - @backstage/plugin-search-common@1.2.5 - -## 0.2.12 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.6.0 - - @backstage/catalog-model@1.4.1 - - @backstage/plugin-search-common@1.2.5 - -## 0.2.11 - -### Patch Changes - -- 2b4513abb784: fixed error with date parsing. -- Updated dependencies - - @backstage/catalog-model@1.4.1 - - @backstage/integration@1.5.1 - - @backstage/plugin-search-common@1.2.5 - -## 0.2.11-next.1 - -### Patch Changes - -- 2b4513abb784: fixed error with date parsing. -- Updated dependencies - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/integration@1.5.1-next.0 - - @backstage/plugin-search-common@1.2.5-next.0 - -## 0.2.11-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/integration@1.5.1-next.0 - - @backstage/plugin-search-common@1.2.5-next.0 - -## 0.2.10 - -### Patch Changes - -- 58524588448c: Add utility function for parsing MADR front matter -- Updated dependencies - - @backstage/integration@1.5.0 - - @backstage/catalog-model@1.4.0 - - @backstage/plugin-search-common@1.2.4 - -## 0.2.10-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.0-next.1 - - @backstage/integration@1.5.0-next.0 - - @backstage/plugin-search-common@1.2.4-next.0 - -## 0.2.10-next.0 - -### Patch Changes - -- 58524588448c: Add utility function for parsing MADR front matter -- Updated dependencies - - @backstage/integration@1.5.0-next.0 - - @backstage/catalog-model@1.4.0-next.0 - - @backstage/plugin-search-common@1.2.4-next.0 - -## 0.2.9 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.5 - - @backstage/catalog-model@1.3.0 - - @backstage/plugin-search-common@1.2.3 - -## 0.2.9-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.5-next.0 - - @backstage/catalog-model@1.3.0 - - @backstage/plugin-search-common@1.2.3 - -## 0.2.8 - -### Patch Changes - -- 77aa3a4d47e: use path attribute to fetch files instead of name and update the UI to navigate over subdirectories -- Updated dependencies - - @backstage/catalog-model@1.3.0 - - @backstage/integration@1.4.4 - - @backstage/plugin-search-common@1.2.3 - -## 0.2.8-next.1 - -### Patch Changes - -- 77aa3a4d47e: use path attribute to fetch files instead of name and update the UI to navigate over subdirectories -- Updated dependencies - - @backstage/catalog-model@1.3.0-next.0 - - @backstage/integration@1.4.4-next.0 - - @backstage/plugin-search-common@1.2.3-next.0 - -## 0.2.8-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.4-next.0 - - @backstage/catalog-model@1.2.1 - - @backstage/plugin-search-common@1.2.3-next.0 - -## 0.2.7 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.2.1 - - @backstage/integration@1.4.3 - - @backstage/plugin-search-common@1.2.2 - -## 0.2.7-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.3-next.0 - - @backstage/catalog-model@1.2.1-next.1 - - @backstage/plugin-search-common@1.2.2-next.0 - -## 0.2.7-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.2.1-next.0 - - @backstage/integration@1.4.2 - - @backstage/plugin-search-common@1.2.1 - -## 0.2.6 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.2.0 - - @backstage/integration@1.4.2 - - @backstage/plugin-search-common@1.2.1 - -## 0.2.6-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.2.0-next.1 - - @backstage/integration@1.4.2 - - @backstage/plugin-search-common@1.2.1 - -## 0.2.6-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.6-next.0 - -## 0.2.5 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5 - - @backstage/integration@1.4.2 - - @backstage/plugin-search-common@1.2.1 - -## 0.2.5-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/integration@1.4.2-next.0 - - @backstage/plugin-search-common@1.2.1-next.0 - -## 0.2.5-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.0 - - @backstage/integration@1.4.1 - - @backstage/plugin-search-common@1.2.0 - -## 0.2.4 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.1 - - @backstage/plugin-search-common@1.2.0 - - @backstage/catalog-model@1.1.4 - -## 0.2.4-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/integration@1.4.1-next.1 - - @backstage/plugin-search-common@1.2.0-next.3 - -## 0.2.4-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-search-common@1.2.0-next.2 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/integration@1.4.1-next.1 - -## 0.2.4-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.1-next.1 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/plugin-search-common@1.1.2-next.1 - -## 0.2.4-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.1-next.0 - - @backstage/catalog-model@1.1.4-next.0 - - @backstage/plugin-search-common@1.1.2-next.0 - -## 0.2.3 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.0 - - @backstage/catalog-model@1.1.3 - - @backstage/plugin-search-common@1.1.1 - -## 0.2.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.0-next.0 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/plugin-search-common@1.1.1-next.0 - -## 0.2.2 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2 - - @backstage/plugin-search-common@1.1.0 - - @backstage/integration@1.3.2 - -## 0.2.2-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-search-common@1.1.0-next.2 - - @backstage/catalog-model@1.1.2-next.2 - - @backstage/integration@1.3.2-next.2 - -## 0.2.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-search-common@1.1.0-next.1 - - @backstage/catalog-model@1.1.2-next.1 - - @backstage/integration@1.3.2-next.1 - -## 0.2.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2-next.0 - - @backstage/integration@1.3.2-next.0 - - @backstage/plugin-search-common@1.0.2-next.0 - -## 0.2.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.3.1 - - @backstage/catalog-model@1.1.1 - - @backstage/plugin-search-common@1.0.1 - -## 0.2.1-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.1-next.0 - - @backstage/integration@1.3.1-next.2 - -## 0.2.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.3.1-next.0 - - @backstage/plugin-search-common@1.0.1-next.0 - -## 0.2.0 - -### Minor Changes - -- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem` - - BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.3.0 - -## 0.2.0-next.1 - -### Minor Changes - -- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem` - - BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents - -## 0.1.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.3.0-next.0 - -## 0.1.2 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.0 - - @backstage/plugin-search-common@1.0.0 - - @backstage/integration@1.2.2 - -## 0.1.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.0-next.1 - - @backstage/integration@1.2.2-next.1 - - @backstage/plugin-search-common@0.3.6-next.0 - -## 0.1.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.0-next.0 - - @backstage/integration@1.2.2-next.0 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-search-common@0.3.5 - - @backstage/integration@1.2.1 - - @backstage/catalog-model@1.0.3 - -## 0.1.1-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.2.1-next.1 - - @backstage/catalog-model@1.0.3-next.0 - - @backstage/plugin-search-common@0.3.5-next.0 - -## 0.1.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.2.1-next.0 - -## 0.1.0 - -### Minor Changes - -- e73075a301: Implement ADR plugin - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.2.0 - - @backstage/plugin-search-common@0.3.4 - - @backstage/catalog-model@1.0.2 - -## 0.1.0-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-search-common@0.3.4-next.0 - - @backstage/catalog-model@1.0.2-next.0 - - @backstage/integration@1.2.0-next.1 - -## 0.1.0-next.0 - -### Minor Changes - -- e73075a301: Implement ADR plugin diff --git a/plugins/adr-common/README.md b/plugins/adr-common/README.md deleted file mode 100644 index 7c074e84b8..0000000000 --- a/plugins/adr-common/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Deprecated - -This package has been moved to the [backstage-community/plugins](https://github.com/backstage/community-plugins) repository. Migrate to using `@backstage-community/plugin-adr-common` instead. diff --git a/plugins/adr-common/api-report.md b/plugins/adr-common/api-report.md deleted file mode 100644 index f12a086359..0000000000 --- a/plugins/adr-common/api-report.md +++ /dev/null @@ -1,50 +0,0 @@ -## API Report File for "@backstage/plugin-adr-common" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -import { Entity } from '@backstage/catalog-model'; -import { IndexableDocument } from '@backstage/plugin-search-common'; -import { ScmIntegrationRegistry } from '@backstage/integration'; - -// @public -export interface AdrDocument extends IndexableDocument { - date?: string; - entityRef: string; - entityTitle?: string; - status?: string; -} - -// @public -export type AdrFilePathFilterFn = (path: string) => boolean; - -// @public -export const ANNOTATION_ADR_LOCATION = 'backstage.io/adr-location'; - -// @public -export const getAdrLocationUrl: ( - entity: Entity, - scmIntegration: ScmIntegrationRegistry, - adrFilePath?: String, -) => string; - -// @public -export const isAdrAvailable: (entity: Entity) => boolean; - -// @public -export const MADR_DATE_FORMAT = 'yyyy-MM-dd'; - -// @public -export const madrFilePathFilter: AdrFilePathFilterFn; - -// @public -export interface ParsedMadr { - attributes: Record; - content: string; - date?: string; - status?: string; -} - -// @public -export const parseMadrWithFrontmatter: (content: string) => ParsedMadr; -``` diff --git a/plugins/adr-common/catalog-info.yaml b/plugins/adr-common/catalog-info.yaml deleted file mode 100644 index defcbe9fdb..0000000000 --- a/plugins/adr-common/catalog-info.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: backstage-plugin-adr-common - title: '@backstage/plugin-adr-common' - description: Common functionalities for the adr plugin -spec: - lifecycle: experimental - type: backstage-common-library - owner: kuangp diff --git a/plugins/adr-common/knip-report.md b/plugins/adr-common/knip-report.md deleted file mode 100644 index 2661c35327..0000000000 --- a/plugins/adr-common/knip-report.md +++ /dev/null @@ -1,2 +0,0 @@ -# Knip report - diff --git a/plugins/adr-common/package.json b/plugins/adr-common/package.json deleted file mode 100644 index 87abce09ca..0000000000 --- a/plugins/adr-common/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "@backstage/plugin-adr-common", - "version": "0.2.22", - "description": "Common functionalities for the adr plugin", - "backstage": { - "role": "common-library", - "moved": "@backstage-community/plugin-adr-common" - }, - "publishConfig": { - "access": "public", - "main": "dist/index.cjs.js", - "module": "dist/index.esm.js", - "types": "dist/index.d.ts" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/adr-common" - }, - "license": "Apache-2.0", - "sideEffects": false, - "main": "src/index.ts", - "types": "src/index.ts", - "files": [ - "dist" - ], - "scripts": { - "build": "backstage-cli package build", - "clean": "backstage-cli package clean", - "lint": "backstage-cli package lint", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack", - "test": "backstage-cli package test" - }, - "dependencies": { - "@backstage/catalog-model": "workspace:^", - "@backstage/integration": "workspace:^", - "@backstage/plugin-search-common": "workspace:^", - "front-matter": "^4.0.2", - "luxon": "^3.0.0" - }, - "devDependencies": { - "@backstage/cli": "workspace:^" - }, - "deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-adr-common instead." -} diff --git a/plugins/adr-common/src/index.ts b/plugins/adr-common/src/index.ts deleted file mode 100644 index 85d61cd270..0000000000 --- a/plugins/adr-common/src/index.ts +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright 2022 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. - */ -/** - * Common types and functionalities for the ADR plugin. - * @packageDocumentation - */ -import { Entity, getEntitySourceLocation } from '@backstage/catalog-model'; -import { IndexableDocument } from '@backstage/plugin-search-common'; -import { ScmIntegrationRegistry } from '@backstage/integration'; -import frontMatter from 'front-matter'; -import { DateTime } from 'luxon'; - -/** - * ADR plugin annotation. - * @public - */ -export const ANNOTATION_ADR_LOCATION = 'backstage.io/adr-location'; - -/** - * Standard luxon DateTime format string for MADR dates. - * @public - */ -export const MADR_DATE_FORMAT = 'yyyy-MM-dd'; - -/** - * Utility function to get the value of an entity ADR annotation. - * @public - */ -const getAdrLocationDir = (entity: Entity) => - entity.metadata.annotations?.[ANNOTATION_ADR_LOCATION]?.trim(); - -/** - * Utility function to determine if the given entity has ADRs. - * @public - */ -export const isAdrAvailable = (entity: Entity) => - Boolean(getAdrLocationDir(entity)); - -/** - * Utility function to extract the ADR location URL from an entity based off - * its ADR annotation and relative to the entity source location. - * @public - */ -export const getAdrLocationUrl = ( - entity: Entity, - scmIntegration: ScmIntegrationRegistry, - adrFilePath?: String, -) => { - if (!isAdrAvailable(entity)) { - throw new Error(`Missing ADR annotation: ${ANNOTATION_ADR_LOCATION}`); - } - - let url = getAdrLocationDir(entity)!.replace(/\/$/, ''); - - if (adrFilePath) { - url = `${url}/${adrFilePath}`; - } - - return scmIntegration.resolveUrl({ - url, - base: getEntitySourceLocation(entity).target, - }); -}; - -/** - * File path filter function type for ADR filenames - * @public - */ -export type AdrFilePathFilterFn = (path: string) => boolean; - -/** - * File path filter for MADR filename formats - * @public - */ -export const madrFilePathFilter: AdrFilePathFilterFn = (path: string) => - /^(?:.*\/)?\d{4}-.+\.md$/.test(path); - -/** - * ADR indexable document interface - * @public - */ -export interface AdrDocument extends IndexableDocument { - /** - * Ref of the entity associated with this ADR - */ - entityRef: string; - /** - * Title of the entity associated with this ADR - */ - entityTitle?: string; - /** - * ADR status label - */ - status?: string; - /** - * ADR date - */ - date?: string; -} - -/** - * Parsed MADR document with front matter (if present) parsed and extracted from the main markdown content. - * @public - */ -export interface ParsedMadr { - /** - * Main body of ADR content (with any front matter removed) - */ - content: string; - /** - * ADR status - */ - status?: string; - /** - * ADR date - */ - date?: string; - /** - * All attributes parsed from front matter - */ - attributes: Record; -} - -/** - * Utility function to parse raw markdown content for an ADR and extract any metadata found as "front matter" at the top of the Markdown document. - * @param content - Raw markdown content which may (optionally) include front matter - * @public - */ -export const parseMadrWithFrontmatter = (content: string): ParsedMadr => { - const parsed = frontMatter>(content); - const status = parsed.attributes.status; - const date = parsed.attributes.date; - const luxdate = DateTime.fromJSDate(new Date(`${date}`)); - const formattedDate = luxdate.toISODate(); - return { - content: parsed.body, - status: status ? String(status) : undefined, - date: date ? String(formattedDate) : undefined, - attributes: parsed.attributes, - }; -}; diff --git a/plugins/adr/.eslintrc.js b/plugins/adr/.eslintrc.js deleted file mode 100644 index e487f765b2..0000000000 --- a/plugins/adr/.eslintrc.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, { - rules: { - '@backstage/no-top-level-material-ui-4-imports': 'error', - }, -}); diff --git a/plugins/adr/CHANGELOG.md b/plugins/adr/CHANGELOG.md deleted file mode 100644 index 13836e5e64..0000000000 --- a/plugins/adr/CHANGELOG.md +++ /dev/null @@ -1,1609 +0,0 @@ -# @backstage/plugin-adr - -## 0.6.17 - -### Patch Changes - -- abfbcfc: Updated dependency `@testing-library/react` to `^15.0.0`. -- cb1e3b0: Updated dependency `@testing-library/dom` to `^10.0.0`. -- Updated dependencies - - @backstage/plugin-search-react@1.7.10 - - @backstage/plugin-catalog-react@1.11.3 - - @backstage/core-components@0.14.4 - - @backstage/core-plugin-api@1.9.2 - - @backstage/frontend-plugin-api@0.6.4 - - @backstage/integration-react@1.1.26 - - @backstage/catalog-model@1.4.5 - - @backstage/plugin-adr-common@0.2.22 - - @backstage/plugin-search-common@1.2.11 - -## 0.6.17-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/frontend-plugin-api@0.6.4-next.1 - - @backstage/catalog-model@1.4.5 - - @backstage/core-components@0.14.4-next.0 - - @backstage/core-plugin-api@1.9.1 - - @backstage/integration-react@1.1.26-next.0 - - @backstage/plugin-adr-common@0.2.22-next.0 - - @backstage/plugin-catalog-react@1.11.3-next.1 - - @backstage/plugin-search-common@1.2.11 - - @backstage/plugin-search-react@1.7.10-next.1 - -## 0.6.17-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.4-next.0 - - @backstage/catalog-model@1.4.5 - - @backstage/core-plugin-api@1.9.1 - - @backstage/frontend-plugin-api@0.6.4-next.0 - - @backstage/integration-react@1.1.26-next.0 - - @backstage/plugin-adr-common@0.2.22-next.0 - - @backstage/plugin-catalog-react@1.11.3-next.0 - - @backstage/plugin-search-common@1.2.11 - - @backstage/plugin-search-react@1.7.10-next.0 - -## 0.6.16 - -### Patch Changes - -- e8f026a: Use ESM exports of react-use library -- Updated dependencies - - @backstage/core-components@0.14.3 - - @backstage/plugin-catalog-react@1.11.2 - - @backstage/plugin-search-react@1.7.9 - - @backstage/frontend-plugin-api@0.6.3 - - @backstage/integration-react@1.1.25 - - @backstage/core-plugin-api@1.9.1 - - @backstage/catalog-model@1.4.5 - - @backstage/plugin-adr-common@0.2.21 - - @backstage/plugin-search-common@1.2.11 - -## 0.6.15 - -### Patch Changes - -- e8f026a: Use ESM exports of react-use library -- Updated dependencies - - @backstage/core-components@0.14.2 - - @backstage/plugin-catalog-react@1.11.1 - - @backstage/plugin-search-react@1.7.8 - - @backstage/frontend-plugin-api@0.6.2 - - @backstage/integration-react@1.1.25 - - @backstage/core-plugin-api@1.9.1 - - @backstage/catalog-model@1.4.5 - - @backstage/plugin-adr-common@0.2.21 - - @backstage/plugin-search-common@1.2.11 - -## 0.6.14 - -### Patch Changes - -- 5335634: Fixed Azure DevOps ADR file path reading -- 669efc6: Remove unused package dependencies -- 38b92a0: Added ESLint rule `no-top-level-material-ui-4-imports` in the ADR plugin to migrate the Material UI imports. -- Updated dependencies - - @backstage/plugin-adr-common@0.2.21 - - @backstage/core-components@0.14.1 - - @backstage/integration-react@1.1.25 - - @backstage/plugin-catalog-react@1.11.0 - - @backstage/plugin-search-common@1.2.11 - - @backstage/catalog-model@1.4.5 - - @backstage/core-plugin-api@1.9.1 - - @backstage/frontend-plugin-api@0.6.1 - - @backstage/plugin-search-react@1.7.7 - -## 0.6.14-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.2 - - @backstage/plugin-catalog-react@1.11.0-next.2 - - @backstage/integration-react@1.1.25-next.2 - - @backstage/plugin-adr-common@0.2.21-next.2 - - @backstage/frontend-plugin-api@0.6.1-next.2 - - @backstage/plugin-search-react@1.7.7-next.2 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/core-plugin-api@1.9.1-next.1 - - @backstage/plugin-search-common@1.2.11-next.1 - -## 0.6.14-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.1 - - @backstage/plugin-catalog-react@1.10.1-next.1 - - @backstage/core-plugin-api@1.9.1-next.1 - - @backstage/integration-react@1.1.25-next.1 - - @backstage/frontend-plugin-api@0.6.1-next.1 - - @backstage/plugin-search-react@1.7.7-next.1 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/plugin-adr-common@0.2.21-next.1 - - @backstage/plugin-search-common@1.2.11-next.1 - -## 0.6.14-next.0 - -### Patch Changes - -- 5335634: Fixed Azure DevOps ADR file path reading -- 669efc6: Remove unused package dependencies -- Updated dependencies - - @backstage/plugin-adr-common@0.2.21-next.0 - - @backstage/core-components@0.14.1-next.0 - - @backstage/integration-react@1.1.25-next.0 - - @backstage/plugin-catalog-react@1.10.1-next.0 - - @backstage/plugin-search-common@1.2.11-next.0 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/core-plugin-api@1.9.1-next.0 - - @backstage/plugin-search-react@1.7.7-next.0 - - @backstage/frontend-plugin-api@0.6.1-next.0 - -## 0.6.13 - -### Patch Changes - -- 0b03962: Updated README -- 987f565: Fix alignment of text in `AdrSearchResultListItem`. Update size and font to match other `SearchResultListItem`. -- 8fe56a8: Widen `@types/react` dependency range to include version 18. -- Updated dependencies - - @backstage/frontend-plugin-api@0.6.0 - - @backstage/plugin-catalog-react@1.10.0 - - @backstage/core-components@0.14.0 - - @backstage/catalog-model@1.4.4 - - @backstage/core-plugin-api@1.9.0 - - @backstage/plugin-search-react@1.7.6 - - @backstage/integration-react@1.1.24 - - @backstage/plugin-adr-common@0.2.20 - - @backstage/plugin-search-common@1.2.10 - -## 0.6.13-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.0-next.2 - - @backstage/plugin-catalog-react@1.10.0-next.3 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/core-plugin-api@1.9.0-next.1 - - @backstage/frontend-plugin-api@0.6.0-next.3 - - @backstage/integration-react@1.1.24-next.2 - - @backstage/plugin-adr-common@0.2.20-next.1 - - @backstage/plugin-search-common@1.2.10 - - @backstage/plugin-search-react@1.7.6-next.3 - -## 0.6.13-next.2 - -### Patch Changes - -- 8fe56a8: Widen `@types/react` dependency range to include version 18. -- Updated dependencies - - @backstage/core-components@0.14.0-next.1 - - @backstage/core-plugin-api@1.9.0-next.1 - - @backstage/frontend-plugin-api@0.6.0-next.2 - - @backstage/plugin-catalog-react@1.10.0-next.2 - - @backstage/plugin-search-react@1.7.6-next.2 - - @backstage/integration-react@1.1.24-next.1 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/plugin-adr-common@0.2.20-next.0 - - @backstage/plugin-search-common@1.2.10 - -## 0.6.13-next.1 - -### Patch Changes - -- 987f565: Fix alignment of text in `AdrSearchResultListItem`. Update size and font to match other `SearchResultListItem`. -- Updated dependencies - - @backstage/frontend-plugin-api@0.6.0-next.1 - - @backstage/core-components@0.14.0-next.0 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/core-plugin-api@1.8.3-next.0 - - @backstage/plugin-catalog-react@1.9.4-next.1 - - @backstage/plugin-search-react@1.7.6-next.1 - - @backstage/integration-react@1.1.24-next.0 - - @backstage/plugin-adr-common@0.2.20-next.0 - - @backstage/plugin-search-common@1.2.10 - -## 0.6.13-next.0 - -### Patch Changes - -- 0b03962: Updated README -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.4-next.0 - - @backstage/frontend-plugin-api@0.5.1-next.0 - - @backstage/core-components@0.13.10 - - @backstage/plugin-search-react@1.7.6-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.2 - - @backstage/integration-react@1.1.23 - - @backstage/plugin-adr-common@0.2.19 - - @backstage/plugin-search-common@1.2.10 - -## 0.6.12 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/frontend-plugin-api@0.5.0 - - @backstage/core-components@0.13.10 - - @backstage/core-plugin-api@1.8.2 - - @backstage/plugin-catalog-react@1.9.3 - - @backstage/plugin-search-react@1.7.5 - - @backstage/integration-react@1.1.23 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-adr-common@0.2.19 - - @backstage/plugin-search-common@1.2.10 - -## 0.6.12-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/frontend-plugin-api@0.4.1-next.2 - - @backstage/plugin-catalog-react@1.9.3-next.2 - - @backstage/plugin-search-react@1.7.5-next.2 - - @backstage/integration-react@1.1.23-next.0 - -## 0.6.12-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.2-next.0 - - @backstage/core-components@0.13.10-next.1 - - @backstage/frontend-plugin-api@0.4.1-next.1 - - @backstage/integration-react@1.1.23-next.0 - - @backstage/plugin-catalog-react@1.9.3-next.1 - - @backstage/plugin-search-react@1.7.5-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-adr-common@0.2.18 - - @backstage/plugin-search-common@1.2.9 - -## 0.6.12-next.0 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/core-components@0.13.10-next.0 - - @backstage/frontend-plugin-api@0.4.1-next.0 - - @backstage/plugin-catalog-react@1.9.3-next.0 - - @backstage/integration-react@1.1.22 - - @backstage/plugin-search-react@1.7.5-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.1 - - @backstage/plugin-adr-common@0.2.18 - - @backstage/plugin-search-common@1.2.9 - -## 0.6.11 - -### Patch Changes - -- 5814122: Updated `/alpha` exports to fit new naming patterns. -- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. -- fb8f3bd: Updated alpha translation message keys to use nested format and camel case. -- Updated dependencies - - @backstage/core-plugin-api@1.8.1 - - @backstage/frontend-plugin-api@0.4.0 - - @backstage/plugin-catalog-react@1.9.2 - - @backstage/core-components@0.13.9 - - @backstage/theme@0.5.0 - - @backstage/plugin-search-react@1.7.4 - - @backstage/integration-react@1.1.22 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-adr-common@0.2.18 - - @backstage/plugin-search-common@1.2.9 - -## 0.6.11-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.9-next.3 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/frontend-plugin-api@0.4.0-next.3 - - @backstage/integration-react@1.1.22-next.1 - - @backstage/theme@0.5.0-next.1 - - @backstage/plugin-adr-common@0.2.18-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.3 - - @backstage/plugin-search-common@1.2.8 - - @backstage/plugin-search-react@1.7.4-next.3 - -## 0.6.11-next.2 - -### Patch Changes - -- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. -- Updated dependencies - - @backstage/frontend-plugin-api@0.4.0-next.2 - - @backstage/theme@0.5.0-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.2 - - @backstage/plugin-search-react@1.7.4-next.2 - - @backstage/catalog-model@1.4.3 - - @backstage/core-components@0.13.9-next.2 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/integration-react@1.1.22-next.1 - - @backstage/plugin-adr-common@0.2.18-next.1 - - @backstage/plugin-search-common@1.2.8 - -## 0.6.11-next.1 - -### Patch Changes - -- fb8f3bdbc2: Updated alpha translation message keys to use nested format and camel case. -- Updated dependencies - - @backstage/frontend-plugin-api@0.4.0-next.1 - - @backstage/core-components@0.13.9-next.1 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.1 - - @backstage/plugin-search-react@1.7.4-next.1 - - @backstage/integration-react@1.1.22-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/theme@0.5.0-next.0 - - @backstage/plugin-adr-common@0.2.18-next.1 - - @backstage/plugin-search-common@1.2.8 - -## 0.6.11-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.1-next.0 - - @backstage/plugin-catalog-react@1.9.2-next.0 - - @backstage/core-components@0.13.9-next.0 - - @backstage/plugin-search-react@1.7.4-next.0 - - @backstage/theme@0.5.0-next.0 - - @backstage/frontend-plugin-api@0.3.1-next.0 - - @backstage/integration-react@1.1.22-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-adr-common@0.2.18-next.0 - - @backstage/plugin-search-common@1.2.8 - -## 0.6.9 - -### Patch Changes - -- 6c2b872153: Add official support for React 18. -- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. -- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.0 - - @backstage/core-components@0.13.8 - - @backstage/frontend-plugin-api@0.3.0 - - @backstage/integration-react@1.1.21 - - @backstage/core-plugin-api@1.8.0 - - @backstage/plugin-search-react@1.7.2 - - @backstage/theme@0.4.4 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-adr-common@0.2.17 - - @backstage/plugin-search-common@1.2.8 - -## 0.6.9-next.2 - -### Patch Changes - -- [#20842](https://github.com/backstage/backstage/pull/20842) [`fdb5e23602`](https://github.com/backstage/backstage/commit/fdb5e2360299c5faa30f4d4236fc548b94d37446) Thanks [@benjdlambert](https://github.com/benjdlambert)! - Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency - -- Updated dependencies - - @backstage/core-components@0.13.8-next.2 - - @backstage/frontend-plugin-api@0.3.0-next.2 - - @backstage/plugin-catalog-react@1.9.0-next.2 - - @backstage/integration-react@1.1.21-next.1 - - @backstage/plugin-search-react@1.7.2-next.2 - -## 0.6.9-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/frontend-plugin-api@0.3.0-next.1 - - @backstage/plugin-catalog-react@1.9.0-next.1 - - @backstage/plugin-search-react@1.7.2-next.1 - - @backstage/integration-react@1.1.21-next.1 - - @backstage/plugin-adr-common@0.2.17-next.0 - - @backstage/core-components@0.13.8-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.0-next.0 - - @backstage/theme@0.4.4-next.0 - - @backstage/plugin-search-common@1.2.7 - -## 0.6.9-next.0 - -### Patch Changes - -- 6c2b872153: Add official support for React 18. -- Updated dependencies - - @backstage/core-components@0.13.7-next.0 - - @backstage/frontend-plugin-api@0.3.0-next.0 - - @backstage/plugin-catalog-react@1.9.0-next.0 - - @backstage/integration-react@1.1.21-next.0 - - @backstage/core-plugin-api@1.8.0-next.0 - - @backstage/plugin-search-react@1.7.2-next.0 - - @backstage/theme@0.4.4-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-adr-common@0.2.16 - - @backstage/plugin-search-common@1.2.7 - -## 0.6.8 - -### Patch Changes - -- 499e34656e: Fix icon alignment in `AdrSearchResultListItem` -- 9a1fce352e: Updated dependency `@testing-library/jest-dom` to `^6.0.0`. -- f95af4e540: Updated dependency `@testing-library/dom` to `^9.0.0`. -- 1204e7628e: Create an experimental `AdrSearchResultItemExtension` for declarative integration with Backstage; it can be accessed via the `/alpha` import. -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.5 - - @backstage/frontend-plugin-api@0.2.0 - - @backstage/core-plugin-api@1.7.0 - - @backstage/core-components@0.13.6 - - @backstage/integration-react@1.1.20 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-search-react@1.7.1 - - @backstage/theme@0.4.3 - - @backstage/plugin-adr-common@0.2.16 - - @backstage/plugin-search-common@1.2.7 - -## 0.6.8-next.2 - -### Patch Changes - -- 499e34656e: Fix icon alignment in `AdrSearchResultListItem` -- Updated dependencies - - @backstage/frontend-plugin-api@0.2.0-next.2 - - @backstage/integration-react@1.1.20-next.2 - - @backstage/core-components@0.13.6-next.2 - - @backstage/core-plugin-api@1.7.0-next.1 - - @backstage/catalog-model@1.4.3-next.0 - - @backstage/plugin-catalog-react@1.8.5-next.2 - - @backstage/plugin-search-react@1.7.1-next.2 - - @backstage/theme@0.4.3-next.0 - - @backstage/plugin-adr-common@0.2.16-next.1 - - @backstage/plugin-search-common@1.2.7-next.0 - -## 0.6.8-next.1 - -### Patch Changes - -- 1204e7628e: Create an experimental `AdrSearchResultItemExtension` for declarative integration with Backstage; it can be accessed via the `/alpha` import. -- Updated dependencies - - @backstage/frontend-plugin-api@0.1.1-next.1 - - @backstage/core-components@0.13.6-next.1 - - @backstage/plugin-search-react@1.7.1-next.1 - - @backstage/integration-react@1.1.20-next.1 - - @backstage/plugin-catalog-react@1.8.5-next.1 - - @backstage/core-plugin-api@1.7.0-next.0 - - @backstage/catalog-model@1.4.2 - - @backstage/theme@0.4.2 - - @backstage/plugin-adr-common@0.2.16-next.0 - - @backstage/plugin-search-common@1.2.6 - -## 0.6.8-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.5-next.0 - - @backstage/core-plugin-api@1.7.0-next.0 - - @backstage/core-components@0.13.6-next.0 - - @backstage/integration-react@1.1.20-next.0 - - @backstage/plugin-adr-common@0.2.16-next.0 - - @backstage/plugin-search-react@1.7.1-next.0 - - @backstage/catalog-model@1.4.2 - - @backstage/theme@0.4.2 - - @backstage/plugin-search-common@1.2.6 - -## 0.6.7 - -### Patch Changes - -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- aa844e704a32: support for i18n feature -- 8cec7664e146: Removed `@types/node` dependency -- Updated dependencies - - @backstage/integration-react@1.1.19 - - @backstage/plugin-catalog-react@1.8.4 - - @backstage/core-components@0.13.5 - - @backstage/catalog-model@1.4.2 - - @backstage/core-plugin-api@1.6.0 - - @backstage/plugin-adr-common@0.2.15 - - @backstage/plugin-search-common@1.2.6 - - @backstage/plugin-search-react@1.7.0 - - @backstage/theme@0.4.2 - -## 0.6.7-next.3 - -### Patch Changes - -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- aa844e704a32: support for i18n feature -- Updated dependencies - - @backstage/catalog-model@1.4.2-next.2 - - @backstage/core-components@0.13.5-next.3 - - @backstage/core-plugin-api@1.6.0-next.3 - - @backstage/integration-react@1.1.19-next.3 - - @backstage/plugin-adr-common@0.2.15-next.3 - - @backstage/plugin-catalog-react@1.8.4-next.3 - - @backstage/plugin-search-common@1.2.6-next.2 - - @backstage/plugin-search-react@1.7.0-next.3 - - @backstage/theme@0.4.2-next.0 - -## 0.6.7-next.2 - -### Patch Changes - -- 8cec7664e146: Removed `@types/node` dependency -- Updated dependencies - - @backstage/integration-react@1.1.19-next.2 - - @backstage/core-components@0.13.5-next.2 - - @backstage/core-plugin-api@1.6.0-next.2 - - @backstage/plugin-catalog-react@1.8.4-next.2 - - @backstage/plugin-search-react@1.7.0-next.2 - - @backstage/catalog-model@1.4.2-next.1 - - @backstage/theme@0.4.1 - - @backstage/plugin-adr-common@0.2.15-next.2 - - @backstage/plugin-search-common@1.2.6-next.1 - -## 0.6.7-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.4-next.1 - - @backstage/core-components@0.13.5-next.1 - - @backstage/plugin-search-react@1.7.0-next.1 - - @backstage/integration-react@1.1.19-next.1 - - @backstage/catalog-model@1.4.2-next.0 - - @backstage/core-plugin-api@1.6.0-next.1 - - @backstage/plugin-adr-common@0.2.15-next.1 - - @backstage/theme@0.4.1 - - @backstage/plugin-search-common@1.2.6-next.0 - -## 0.6.6-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration-react@1.1.18-next.0 - - @backstage/core-plugin-api@1.6.0-next.0 - - @backstage/core-components@0.13.5-next.0 - - @backstage/catalog-model@1.4.1 - - @backstage/theme@0.4.1 - - @backstage/plugin-adr-common@0.2.14-next.0 - - @backstage/plugin-catalog-react@1.8.3-next.0 - - @backstage/plugin-search-common@1.2.5 - - @backstage/plugin-search-react@1.6.5-next.0 - -## 0.6.4 - -### Patch Changes - -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/integration-react@1.1.16 - - @backstage/core-components@0.13.4 - - @backstage/plugin-catalog-react@1.8.1 - - @backstage/core-plugin-api@1.5.3 - - @backstage/plugin-search-react@1.6.4 - - @backstage/catalog-model@1.4.1 - - @backstage/theme@0.4.1 - - @backstage/plugin-adr-common@0.2.12 - - @backstage/plugin-search-common@1.2.5 - -## 0.6.4-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.1-next.1 - - @backstage/integration-react@1.1.16-next.1 - -## 0.6.4-next.1 - -### Patch Changes - -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/integration-react@1.1.16-next.1 - - @backstage/catalog-model@1.4.1 - - @backstage/core-components@0.13.4-next.0 - - @backstage/core-plugin-api@1.5.3 - - @backstage/theme@0.4.1 - - @backstage/plugin-adr-common@0.2.11 - - @backstage/plugin-catalog-react@1.8.1-next.0 - - @backstage/plugin-search-common@1.2.5 - - @backstage/plugin-search-react@1.6.4-next.0 - -## 0.6.4-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.4-next.0 - - @backstage/core-plugin-api@1.5.3 - - @backstage/plugin-catalog-react@1.8.1-next.0 - - @backstage/plugin-search-react@1.6.4-next.0 - - @backstage/catalog-model@1.4.1 - - @backstage/integration-react@1.1.16-next.0 - - @backstage/theme@0.4.1 - - @backstage/plugin-adr-common@0.2.11 - - @backstage/plugin-search-common@1.2.5 - -## 0.6.3 - -### Patch Changes - -- 2b4513abb784: fixed error with date parsing. -- Updated dependencies - - @backstage/theme@0.4.1 - - @backstage/plugin-catalog-react@1.8.0 - - @backstage/core-components@0.13.3 - - @backstage/core-plugin-api@1.5.3 - - @backstage/plugin-adr-common@0.2.11 - - @backstage/catalog-model@1.4.1 - - @backstage/integration-react@1.1.15 - - @backstage/plugin-search-common@1.2.5 - - @backstage/plugin-search-react@1.6.3 - -## 0.6.3-next.2 - -### Patch Changes - -- 2b4513abb784: fixed error with date parsing. -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.0-next.2 - - @backstage/theme@0.4.1-next.1 - - @backstage/core-plugin-api@1.5.3-next.1 - - @backstage/core-components@0.13.3-next.2 - - @backstage/plugin-adr-common@0.2.11-next.1 - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/integration-react@1.1.15-next.2 - - @backstage/plugin-search-common@1.2.5-next.0 - - @backstage/plugin-search-react@1.6.3-next.2 - -## 0.6.3-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.4.1-next.0 - - @backstage/core-components@0.13.3-next.1 - - @backstage/core-plugin-api@1.5.3-next.0 - - @backstage/integration-react@1.1.15-next.1 - - @backstage/plugin-catalog-react@1.7.1-next.1 - - @backstage/plugin-search-react@1.6.3-next.1 - -## 0.6.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.3-next.0 - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/core-plugin-api@1.5.2 - - @backstage/integration-react@1.1.15-next.0 - - @backstage/theme@0.4.0 - - @backstage/plugin-adr-common@0.2.11-next.0 - - @backstage/plugin-catalog-react@1.7.1-next.0 - - @backstage/plugin-search-common@1.2.5-next.0 - - @backstage/plugin-search-react@1.6.3-next.0 - -## 0.6.2 - -### Patch Changes - -- 58524588448c: Render table of front matter metadata when displaying MADR v3 formatted ADR -- Updated dependencies - - @backstage/core-plugin-api@1.5.2 - - @backstage/plugin-search-react@1.6.2 - - @backstage/core-components@0.13.2 - - @backstage/theme@0.4.0 - - @backstage/plugin-catalog-react@1.7.0 - - @backstage/catalog-model@1.4.0 - - @backstage/plugin-adr-common@0.2.10 - - @backstage/integration-react@1.1.14 - - @backstage/plugin-search-common@1.2.4 - -## 0.6.2-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-search-react@1.6.2-next.3 - - @backstage/core-components@0.13.2-next.3 - - @backstage/catalog-model@1.4.0-next.1 - - @backstage/core-plugin-api@1.5.2-next.0 - - @backstage/integration-react@1.1.14-next.3 - - @backstage/theme@0.4.0-next.1 - - @backstage/plugin-adr-common@0.2.10-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.3 - - @backstage/plugin-search-common@1.2.4-next.0 - -## 0.6.1-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.4.0-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.2 - - @backstage/core-components@0.13.2-next.2 - - @backstage/integration-react@1.1.14-next.2 - - @backstage/plugin-search-react@1.6.1-next.2 - - @backstage/core-plugin-api@1.5.2-next.0 - -## 0.6.1-next.1 - -### Patch Changes - -- 58524588448c: Render table of front matter metadata when displaying MADR v3 formatted ADR -- Updated dependencies - - @backstage/plugin-search-react@1.6.1-next.1 - - @backstage/core-components@0.13.2-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.1 - - @backstage/catalog-model@1.4.0-next.0 - - @backstage/plugin-adr-common@0.2.10-next.0 - - @backstage/core-plugin-api@1.5.2-next.0 - - @backstage/integration-react@1.1.14-next.1 - - @backstage/theme@0.4.0-next.0 - - @backstage/plugin-search-common@1.2.4-next.0 - -## 0.6.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.7.0-next.0 - - @backstage/theme@0.4.0-next.0 - - @backstage/core-components@0.13.2-next.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/integration-react@1.1.14-next.0 - - @backstage/plugin-search-react@1.6.1-next.0 - - @backstage/catalog-model@1.3.0 - - @backstage/plugin-adr-common@0.2.9 - - @backstage/plugin-search-common@1.2.3 - -## 0.6.0 - -### Minor Changes - -- b12cd5dc221: render SupportButton only if config is set - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.3.0 - - @backstage/plugin-catalog-react@1.6.0 - - @backstage/plugin-search-react@1.6.0 - - @backstage/core-components@0.13.1 - - @backstage/integration-react@1.1.13 - - @backstage/catalog-model@1.3.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/plugin-adr-common@0.2.9 - - @backstage/plugin-search-common@1.2.3 - -## 0.5.1-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.3.0-next.0 - - @backstage/core-components@0.13.1-next.1 - - @backstage/plugin-search-react@1.6.0-next.2 - - @backstage/integration-react@1.1.13-next.2 - - @backstage/plugin-catalog-react@1.6.0-next.2 - - @backstage/core-plugin-api@1.5.1 - -## 0.5.1-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.1-next.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/plugin-catalog-react@1.6.0-next.1 - - @backstage/plugin-search-react@1.6.0-next.1 - - @backstage/integration-react@1.1.13-next.1 - -## 0.5.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.6.0-next.0 - - @backstage/plugin-search-react@1.6.0-next.0 - - @backstage/integration-react@1.1.13-next.0 - - @backstage/plugin-adr-common@0.2.9-next.0 - - @backstage/core-components@0.13.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/catalog-model@1.3.0 - - @backstage/theme@0.2.19 - - @backstage/plugin-search-common@1.2.3 - -## 0.5.0 - -### Minor Changes - -- a2218363301: Use `fetchApi` instead of raw `fetch` in order to pass auth header if necessary. - -### Patch Changes - -- 77aa3a4d47e: use path attribute to fetch files instead of name and update the UI to navigate over subdirectories -- 7d75f6d9b8f: chore: Improve API Reference documentation -- 8e00acb28db: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs) -- e0c6e8b9c3c: Update peer dependencies -- Updated dependencies - - @backstage/core-components@0.13.0 - - @backstage/plugin-catalog-react@1.5.0 - - @backstage/plugin-search-react@1.5.2 - - @backstage/plugin-adr-common@0.2.8 - - @backstage/integration-react@1.1.12 - - @backstage/theme@0.2.19 - - @backstage/core-plugin-api@1.5.1 - - @backstage/catalog-model@1.3.0 - - @backstage/plugin-search-common@1.2.3 - -## 0.4.2-next.3 - -### Patch Changes - -- 77aa3a4d47e: use path attribute to fetch files instead of name and update the UI to navigate over subdirectories -- Updated dependencies - - @backstage/plugin-adr-common@0.2.8-next.1 - - @backstage/plugin-catalog-react@1.5.0-next.3 - - @backstage/catalog-model@1.3.0-next.0 - - @backstage/core-components@0.13.0-next.3 - - @backstage/core-plugin-api@1.5.1-next.1 - - @backstage/integration-react@1.1.12-next.3 - - @backstage/theme@0.2.19-next.0 - - @backstage/plugin-search-common@1.2.3-next.0 - - @backstage/plugin-search-react@1.5.2-next.3 - -## 0.4.2-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.6-next.2 - - @backstage/plugin-catalog-react@1.4.1-next.2 - - @backstage/core-plugin-api@1.5.1-next.1 - - @backstage/catalog-model@1.2.1 - - @backstage/integration-react@1.1.12-next.2 - - @backstage/theme@0.2.19-next.0 - - @backstage/plugin-adr-common@0.2.8-next.0 - - @backstage/plugin-search-common@1.2.3-next.0 - - @backstage/plugin-search-react@1.5.2-next.2 - -## 0.4.2-next.1 - -### Patch Changes - -- 7d75f6d9b8f: chore: Improve API Reference documentation -- e0c6e8b9c3c: Update peer dependencies -- Updated dependencies - - @backstage/core-components@0.12.6-next.1 - - @backstage/integration-react@1.1.12-next.1 - - @backstage/core-plugin-api@1.5.1-next.0 - - @backstage/plugin-catalog-react@1.4.1-next.1 - - @backstage/plugin-search-react@1.5.2-next.1 - - @backstage/theme@0.2.19-next.0 - - @backstage/catalog-model@1.2.1 - - @backstage/plugin-adr-common@0.2.8-next.0 - - @backstage/plugin-search-common@1.2.3-next.0 - -## 0.4.2-next.0 - -### Patch Changes - -- 8e00acb28db: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs) -- Updated dependencies - - @backstage/core-components@0.12.6-next.0 - - @backstage/plugin-search-react@1.5.2-next.0 - - @backstage/plugin-catalog-react@1.4.1-next.0 - - @backstage/integration-react@1.1.12-next.0 - - @backstage/core-plugin-api@1.5.0 - - @backstage/catalog-model@1.2.1 - - @backstage/theme@0.2.18 - - @backstage/plugin-adr-common@0.2.7 - - @backstage/plugin-search-common@1.2.2 - -## 0.4.1 - -### Patch Changes - -- d293f4aaf83: Updated readme instructions -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/core-components@0.12.5 - - @backstage/plugin-catalog-react@1.4.0 - - @backstage/plugin-search-react@1.5.1 - - @backstage/core-plugin-api@1.5.0 - - @backstage/catalog-model@1.2.1 - - @backstage/integration-react@1.1.11 - - @backstage/theme@0.2.18 - - @backstage/plugin-adr-common@0.2.7 - - @backstage/plugin-search-common@1.2.2 - -## 0.4.1-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.5-next.2 - - @backstage/plugin-catalog-react@1.4.0-next.2 - - @backstage/plugin-search-react@1.5.1-next.2 - - @backstage/core-plugin-api@1.5.0-next.2 - - @backstage/integration-react@1.1.11-next.2 - -## 0.4.1-next.1 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/core-components@0.12.5-next.1 - - @backstage/core-plugin-api@1.4.1-next.1 - - @backstage/integration-react@1.1.11-next.1 - - @backstage/theme@0.2.18-next.0 - - @backstage/plugin-catalog-react@1.4.0-next.1 - - @backstage/catalog-model@1.2.1-next.1 - - @backstage/plugin-adr-common@0.2.7-next.1 - - @backstage/plugin-search-common@1.2.2-next.0 - - @backstage/plugin-search-react@1.5.1-next.1 - -## 0.4.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.4.0-next.0 - - @backstage/core-plugin-api@1.4.1-next.0 - - @backstage/catalog-model@1.2.1-next.0 - - @backstage/core-components@0.12.5-next.0 - - @backstage/integration-react@1.1.11-next.0 - - @backstage/theme@0.2.17 - - @backstage/plugin-adr-common@0.2.7-next.0 - - @backstage/plugin-search-common@1.2.1 - - @backstage/plugin-search-react@1.5.1-next.0 - -## 0.4.0 - -### Minor Changes - -- 0a32911d8a: Display title, status and date in ADR navigation, sourced from ADR content and reverse order. -- ec34b535c0: The `AdrSearchResultListItem` component is now a search result extension. This means that when rendered as a child of components that render search extensions, the `result`, `rank`, and `highlight` properties are optional. See the [documentation](https://backstage.io/docs/features/search/how-to-guides#how-to-render-search-results-using-extensions) for more details. - -### Patch Changes - -- ec34b535c0: Support displaying an icon on `AdrSearchResultListItem` -- 496cf6aff0: Render the common `` component when the `backstage.io/adr-location` annotation is missing from the component -- Updated dependencies - - @backstage/core-components@0.12.4 - - @backstage/catalog-model@1.2.0 - - @backstage/theme@0.2.17 - - @backstage/core-plugin-api@1.4.0 - - @backstage/plugin-catalog-react@1.3.0 - - @backstage/plugin-search-react@1.5.0 - - @backstage/integration-react@1.1.10 - - @backstage/plugin-adr-common@0.2.6 - - @backstage/plugin-search-common@1.2.1 - -## 0.4.0-next.2 - -### Minor Changes - -- ec34b535c0: The `AdrSearchResultListItem` component is now a search result extension. This means that when rendered as a child of components that render search extensions, the `result`, `rank`, and `highlight` properties are optional. See the [documentation](https://backstage.io/docs/features/search/how-to-guides#how-to-render-search-results-using-extensions) for more details. - -### Patch Changes - -- ec34b535c0: Support displaying an icon on `AdrSearchResultListItem` -- Updated dependencies - - @backstage/catalog-model@1.2.0-next.1 - - @backstage/plugin-search-react@1.5.0-next.1 - - @backstage/core-components@0.12.4-next.1 - - @backstage/core-plugin-api@1.3.0 - - @backstage/integration-react@1.1.10-next.1 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.6-next.1 - - @backstage/plugin-catalog-react@1.3.0-next.2 - - @backstage/plugin-search-common@1.2.1 - -## 0.3.1-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.4-next.0 - - @backstage/plugin-search-react@1.5.0-next.0 - - @backstage/plugin-catalog-react@1.3.0-next.1 - - @backstage/catalog-model@1.1.6-next.0 - - @backstage/core-plugin-api@1.3.0 - - @backstage/integration-react@1.1.10-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.6-next.0 - - @backstage/plugin-search-common@1.2.1 - -## 0.3.1-next.0 - -### Patch Changes - -- 496cf6aff0: Render the common `` component when the `backstage.io/adr-location` annotation is missing from the component -- Updated dependencies - - @backstage/plugin-catalog-react@1.3.0-next.0 - - @backstage/catalog-model@1.1.6-next.0 - - @backstage/plugin-adr-common@0.2.6-next.0 - - @backstage/integration-react@1.1.9 - -## 0.3.0 - -### Minor Changes - -- e4469d0ec1: The ADR plugin can now work with sites other than GitHub. Expanded the ADR backend plugin to provide endpoints to facilitate this. - - **BREAKING** The ADR plugin now requires the `@backstage/plugin-adr-backend` plugin to be installed by using the `createRouter` method to add into your `backend`. You read more in the [install instructions](https://github.com/backstage/backstage/blob/master/plugins/adr-backend/README.md#install) - -### Patch Changes - -- 21ffbdd5ee: Clarify that default ADR parsers support MADR specification v2.x -- 80ce4e8c29: Small updates to some components to ensure theme typography properties are inherited correctly. -- Updated dependencies - - @backstage/catalog-model@1.1.5 - - @backstage/plugin-catalog-react@1.2.4 - - @backstage/core-components@0.12.3 - - @backstage/plugin-search-react@1.4.0 - - @backstage/core-plugin-api@1.3.0 - - @backstage/integration-react@1.1.9 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.5 - - @backstage/plugin-search-common@1.2.1 - -## 0.3.0-next.2 - -### Minor Changes - -- e4469d0ec1: The ADR plugin can now work with sites other than GitHub. Expanded the ADR backend plugin to provide endpoints to facilitate this. - - **BREAKING** The ADR plugin now uses UrlReaders. You will have to [configure integrations](https://backstage.io/docs/integrations/index#configuration) for all sites you want to get ADRs from. If you would like to create your own implementation that has different behavior, you can override the AdrApi [just like you can with other apis.](https://backstage.io/docs/api/utility-apis#app-apis) The previously used Octokit implementation has been completely removed. - -### Patch Changes - -- 21ffbdd5ee: Clarify that default ADR parsers support MADR specification v2.x -- Updated dependencies - - @backstage/plugin-search-react@1.4.0-next.2 - - @backstage/core-plugin-api@1.3.0-next.1 - - @backstage/plugin-catalog-react@1.2.4-next.2 - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/core-components@0.12.3-next.2 - - @backstage/integration-react@1.1.9-next.2 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.5-next.1 - - @backstage/plugin-search-common@1.2.1-next.0 - -## 0.2.6-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/core-components@0.12.3-next.1 - - @backstage/core-plugin-api@1.2.1-next.0 - - @backstage/integration-react@1.1.9-next.1 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.5-next.1 - - @backstage/plugin-catalog-react@1.2.4-next.1 - - @backstage/plugin-search-common@1.2.1-next.0 - - @backstage/plugin-search-react@1.3.2-next.1 - -## 0.2.6-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.0 - - @backstage/plugin-catalog-react@1.2.4-next.0 - - @backstage/core-components@0.12.3-next.0 - - @backstage/core-plugin-api@1.2.0 - - @backstage/integration-react@1.1.9-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.5-next.0 - - @backstage/plugin-search-common@1.2.0 - - @backstage/plugin-search-react@1.3.2-next.0 - -## 0.2.5 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.2 - - @backstage/integration-react@1.1.8 - - @backstage/plugin-catalog-react@1.2.3 - - @backstage/plugin-search-react@1.3.1 - -## 0.2.4 - -### Patch Changes - -- a19cffbeed: Update search links to only have header as linkable text -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/core-plugin-api@1.2.0 - - @backstage/plugin-search-react@1.3.0 - - @backstage/core-components@0.12.1 - - @backstage/plugin-catalog-react@1.2.2 - - @backstage/integration-react@1.1.7 - - @backstage/plugin-search-common@1.2.0 - - @backstage/catalog-model@1.1.4 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.4 - -## 0.2.4-next.4 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.1-next.4 - - @backstage/plugin-catalog-react@1.2.2-next.4 - - @backstage/plugin-search-react@1.3.0-next.4 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/integration-react@1.1.7-next.4 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.4-next.3 - - @backstage/plugin-search-common@1.2.0-next.3 - -## 0.2.4-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.1-next.3 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/integration-react@1.1.7-next.3 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.4-next.2 - - @backstage/plugin-catalog-react@1.2.2-next.3 - - @backstage/plugin-search-common@1.2.0-next.2 - - @backstage/plugin-search-react@1.3.0-next.3 - -## 0.2.4-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/plugin-search-react@1.3.0-next.2 - - @backstage/core-components@0.12.1-next.2 - - @backstage/plugin-catalog-react@1.2.2-next.2 - - @backstage/plugin-search-common@1.2.0-next.2 - - @backstage/integration-react@1.1.7-next.2 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.4-next.2 - -## 0.2.4-next.1 - -### Patch Changes - -- a19cffbeed: Update search links to only have header as linkable text -- Updated dependencies - - @backstage/core-components@0.12.1-next.1 - - @backstage/plugin-search-react@1.2.2-next.1 - - @backstage/core-plugin-api@1.1.1-next.1 - - @backstage/plugin-catalog-react@1.2.2-next.1 - - @backstage/integration-react@1.1.7-next.1 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.4-next.1 - - @backstage/plugin-search-common@1.1.2-next.1 - -## 0.2.4-next.0 - -### Patch Changes - -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/core-components@0.12.1-next.0 - - @backstage/core-plugin-api@1.1.1-next.0 - - @backstage/integration-react@1.1.7-next.0 - - @backstage/plugin-catalog-react@1.2.2-next.0 - - @backstage/catalog-model@1.1.4-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.4-next.0 - - @backstage/plugin-search-common@1.1.2-next.0 - - @backstage/plugin-search-react@1.2.2-next.0 - -## 0.2.3 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.1 - - @backstage/core-components@0.12.0 - - @backstage/core-plugin-api@1.1.0 - - @backstage/catalog-model@1.1.3 - - @backstage/integration-react@1.1.6 - - @backstage/plugin-search-react@1.2.1 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.3 - - @backstage/plugin-search-common@1.1.1 - -## 0.2.3-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.0-next.1 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/core-plugin-api@1.1.0-next.0 - - @backstage/integration-react@1.1.6-next.1 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.3-next.0 - - @backstage/plugin-catalog-react@1.2.1-next.1 - - @backstage/plugin-search-common@1.1.1-next.0 - - @backstage/plugin-search-react@1.2.1-next.1 - -## 0.2.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.1-next.0 - - @backstage/core-components@0.12.0-next.0 - - @backstage/core-plugin-api@1.1.0-next.0 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/integration-react@1.1.6-next.0 - - @backstage/plugin-search-react@1.2.1-next.0 - - @backstage/plugin-adr-common@0.2.3-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-search-common@1.1.1-next.0 - -## 0.2.2 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2 - - @backstage/plugin-catalog-react@1.2.0 - - @backstage/core-components@0.11.2 - - @backstage/plugin-search-react@1.2.0 - - @backstage/plugin-search-common@1.1.0 - - @backstage/plugin-adr-common@0.2.2 - - @backstage/integration-react@1.1.5 - - @backstage/core-plugin-api@1.0.7 - - @backstage/theme@0.2.16 - -## 0.2.2-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.0-next.2 - - @backstage/plugin-search-common@1.1.0-next.2 - - @backstage/catalog-model@1.1.2-next.2 - - @backstage/core-components@0.11.2-next.2 - - @backstage/core-plugin-api@1.0.7-next.2 - - @backstage/integration-react@1.1.5-next.2 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.2-next.2 - - @backstage/plugin-search-react@1.2.0-next.2 - -## 0.2.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.0-next.1 - - @backstage/plugin-search-react@1.2.0-next.1 - - @backstage/plugin-search-common@1.1.0-next.1 - - @backstage/core-components@0.11.2-next.1 - - @backstage/core-plugin-api@1.0.7-next.1 - - @backstage/catalog-model@1.1.2-next.1 - - @backstage/integration-react@1.1.5-next.1 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.2-next.1 - -## 0.2.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2-next.0 - - @backstage/core-components@0.11.2-next.0 - - @backstage/plugin-adr-common@0.2.2-next.0 - - @backstage/plugin-catalog-react@1.1.5-next.0 - - @backstage/integration-react@1.1.5-next.0 - - @backstage/plugin-search-react@1.1.1-next.0 - - @backstage/core-plugin-api@1.0.7-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-search-common@1.0.2-next.0 - -## 0.2.1 - -### Patch Changes - -- 817f3196f6: Updated React Router dependencies to be peer dependencies. -- eadf56bbbf: Bump `git-url-parse` version to `^13.0.0` -- 7d47def9c4: Removed dependency on `@types/jest`. -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- c8bb0ff8ce: Minor cleanup of the public API surface to reduce the number of warnings -- b489de83b1: Fix parsing of ADR location which includes a trailing slash -- Updated dependencies - - @backstage/core-components@0.11.1 - - @backstage/core-plugin-api@1.0.6 - - @backstage/plugin-catalog-react@1.1.4 - - @backstage/plugin-search-react@1.1.0 - - @backstage/catalog-model@1.1.1 - - @backstage/integration-react@1.1.4 - - @backstage/plugin-adr-common@0.2.1 - - @backstage/plugin-search-common@1.0.1 - -## 0.2.1-next.3 - -### Patch Changes - -- 7d47def9c4: Removed dependency on `@types/jest`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.4-next.2 - - @backstage/catalog-model@1.1.1-next.0 - - @backstage/core-components@0.11.1-next.3 - - @backstage/core-plugin-api@1.0.6-next.3 - - @backstage/integration-react@1.1.4-next.2 - - @backstage/plugin-adr-common@0.2.1-next.1 - -## 0.2.1-next.2 - -### Patch Changes - -- eadf56bbbf: Bump `git-url-parse` version to `^13.0.0` -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- Updated dependencies - - @backstage/core-components@0.11.1-next.2 - - @backstage/core-plugin-api@1.0.6-next.2 - - @backstage/integration-react@1.1.4-next.1 - - @backstage/plugin-search-react@1.1.0-next.2 - -## 0.2.1-next.1 - -### Patch Changes - -- 817f3196f6: Updated React Router dependencies to be peer dependencies. -- b489de83b1: Fix parsing of ADR location which includes a trailing slash -- Updated dependencies - - @backstage/core-components@0.11.1-next.1 - - @backstage/core-plugin-api@1.0.6-next.1 - - @backstage/plugin-catalog-react@1.1.4-next.1 - - @backstage/plugin-search-react@1.0.2-next.1 - -## 0.2.1-next.0 - -### Patch Changes - -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- c8bb0ff8ce: Minor cleanup of the public API surface to reduce the number of warnings -- Updated dependencies - - @backstage/core-plugin-api@1.0.6-next.0 - - @backstage/core-components@0.11.1-next.0 - - @backstage/integration-react@1.1.4-next.0 - - @backstage/plugin-catalog-react@1.1.4-next.0 - - @backstage/plugin-search-react@1.0.2-next.0 - - @backstage/plugin-adr-common@0.2.1-next.0 - - @backstage/plugin-search-common@1.0.1-next.0 - -## 0.2.0 - -### Minor Changes - -- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem` - - BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-adr-common@0.2.0 - - @backstage/core-components@0.11.0 - - @backstage/core-plugin-api@1.0.5 - - @backstage/plugin-catalog-react@1.1.3 - - @backstage/integration-react@1.1.3 - - @backstage/plugin-search-react@1.0.1 - -## 0.2.0-next.2 - -### Minor Changes - -- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem` - - BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-adr-common@0.2.0-next.1 - -## 0.1.3-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.3-next.2 - - @backstage/core-components@0.11.0-next.2 - - @backstage/integration-react@1.1.3-next.1 - - @backstage/plugin-search-react@1.0.1-next.1 - -## 0.1.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.0.5-next.0 - - @backstage/integration-react@1.1.3-next.0 - - @backstage/plugin-adr-common@0.1.3-next.0 - - @backstage/plugin-catalog-react@1.1.3-next.0 - - @backstage/core-components@0.10.1-next.0 - - @backstage/plugin-search-react@1.0.1-next.0 - -## 0.1.2 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- 8006d0f9bf: Updated dependency `msw` to `^0.44.0`. -- 511f49ee43: Updated dependency `octokit` to `^2.0.0`. -- e2d7b76f43: Upgrade git-url-parse to 12.0.0. - - Motivation for upgrade is transitively upgrading parse-url which is vulnerable - to several CVEs detected by Snyk. - - - SNYK-JS-PARSEURL-2935944 - - SNYK-JS-PARSEURL-2935947 - - SNYK-JS-PARSEURL-2936249 - -- 7d47e7e512: Track discover event and result rank for `AdrSearchResultListItem` -- Updated dependencies - - @backstage/core-components@0.10.0 - - @backstage/plugin-search-react@1.0.0 - - @backstage/plugin-search-common@1.0.0 - - @backstage/core-plugin-api@1.0.4 - - @backstage/integration-react@1.1.2 - - @backstage/plugin-catalog-react@1.1.2 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.1.2 - -## 0.1.2-next.3 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- 511f49ee43: Updated dependency `octokit` to `^2.0.0`. -- Updated dependencies - - @backstage/core-plugin-api@1.0.4-next.0 - - @backstage/core-components@0.10.0-next.3 - - @backstage/integration-react@1.1.2-next.3 - - @backstage/plugin-catalog-react@1.1.2-next.3 - - @backstage/plugin-search-react@0.2.2-next.3 - -## 0.1.2-next.2 - -### Patch Changes - -- e2d7b76f43: Upgrade git-url-parse to 12.0.0. - - Motivation for upgrade is transitively upgrading parse-url which is vulnerable - to several CVEs detected by Snyk. - - - SNYK-JS-PARSEURL-2935944 - - SNYK-JS-PARSEURL-2935947 - - SNYK-JS-PARSEURL-2936249 - -- Updated dependencies - - @backstage/core-components@0.10.0-next.2 - - @backstage/plugin-search-react@0.2.2-next.2 - - @backstage/theme@0.2.16-next.1 - - @backstage/plugin-catalog-react@1.1.2-next.2 - - @backstage/integration-react@1.1.2-next.2 - -## 0.1.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.6-next.1 - - @backstage/theme@0.2.16-next.0 - - @backstage/integration-react@1.1.2-next.1 - - @backstage/plugin-adr-common@0.1.2-next.1 - - @backstage/plugin-catalog-react@1.1.2-next.1 - - @backstage/plugin-search-common@0.3.6-next.0 - - @backstage/plugin-search-react@0.2.2-next.1 - -## 0.1.2-next.0 - -### Patch Changes - -- 7d47e7e512: Track discover event and result rank for `AdrSearchResultListItem` -- Updated dependencies - - @backstage/core-components@0.9.6-next.0 - - @backstage/plugin-adr-common@0.1.2-next.0 - - @backstage/plugin-catalog-react@1.1.2-next.0 - - @backstage/integration-react@1.1.2-next.0 - - @backstage/plugin-search-react@0.2.2-next.0 - -## 0.1.1 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- a6458a120b: Adding term highlighting support to `AdrSearchResultListItem` -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.1 - - @backstage/plugin-search-common@0.3.5 - - @backstage/plugin-search-react@0.2.1 - - @backstage/core-components@0.9.5 - - @backstage/core-plugin-api@1.0.3 - - @backstage/integration-react@1.1.1 - - @backstage/plugin-adr-common@0.1.1 - -## 0.1.1-next.1 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/core-components@0.9.5-next.1 - - @backstage/core-plugin-api@1.0.3-next.0 - - @backstage/integration-react@1.1.1-next.1 - - @backstage/plugin-catalog-react@1.1.1-next.1 - - @backstage/plugin-search-react@0.2.1-next.0 - - @backstage/plugin-search-common@0.3.5-next.0 - - @backstage/plugin-adr-common@0.1.1-next.1 - -## 0.1.1-next.0 - -### Patch Changes - -- a6458a120b: Adding term highlighting support to `AdrSearchResultListItem` -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.1-next.0 - - @backstage/core-components@0.9.5-next.0 - - @backstage/integration-react@1.1.1-next.0 - - @backstage/plugin-adr-common@0.1.1-next.0 - -## 0.1.0 - -### Minor Changes - -- e73075a301: Implement ADR plugin - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4 - - @backstage/plugin-adr-common@0.1.0 - - @backstage/core-plugin-api@1.0.2 - - @backstage/plugin-catalog-react@1.1.0 - - @backstage/integration-react@1.1.0 - -## 0.1.0-next.0 - -### Minor Changes - -- e73075a301: Implement ADR plugin - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4-next.0 - - @backstage/plugin-adr-common@0.1.0-next.0 - - @backstage/core-plugin-api@1.0.2-next.0 - - @backstage/plugin-catalog-react@1.1.0-next.1 - - @backstage/integration-react@1.1.0-next.1 diff --git a/plugins/adr/README.md b/plugins/adr/README.md deleted file mode 100644 index aa3e89ce1f..0000000000 --- a/plugins/adr/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Deprecated - -This package has been moved to the [backstage-community/plugins](https://github.com/backstage/community-plugins) repository. Migrate to using `@backstage-community/plugin-adr` instead. diff --git a/plugins/adr/api-report-alpha.md b/plugins/adr/api-report-alpha.md deleted file mode 100644 index bfa27a6d4f..0000000000 --- a/plugins/adr/api-report-alpha.md +++ /dev/null @@ -1,31 +0,0 @@ -## API Report File for "@backstage/plugin-adr" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -import { BackstagePlugin } from '@backstage/frontend-plugin-api'; -import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; -import { TranslationRef } from '@backstage/core-plugin-api/alpha'; - -// @alpha (undocumented) -export const adrSearchResultListItemExtension: ExtensionDefinition<{ - lineClamp: number; - noTrack: boolean; -}>; - -// @alpha (undocumented) -export const adrTranslationRef: TranslationRef< - 'adr', - { - readonly contentHeaderTitle: 'Architecture Decision Records'; - readonly failedToFetch: 'Failed to fetch ADRs'; - readonly notFound: 'No ADRs found'; - } ->; - -// @alpha (undocumented) -const _default: BackstagePlugin<{}, {}>; -export default _default; - -// (No @packageDocumentation comment for this package) -``` diff --git a/plugins/adr/api-report.md b/plugins/adr/api-report.md deleted file mode 100644 index 9ce5834574..0000000000 --- a/plugins/adr/api-report.md +++ /dev/null @@ -1,117 +0,0 @@ -## API Report File for "@backstage/plugin-adr" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -/// - -import { AdrDocument } from '@backstage/plugin-adr-common'; -import { AdrFilePathFilterFn } from '@backstage/plugin-adr-common'; -import { ApiRef } from '@backstage/core-plugin-api'; -import { BackstagePlugin } from '@backstage/core-plugin-api'; -import { DiscoveryApi } from '@backstage/core-plugin-api'; -import { FetchApi } from '@backstage/core-plugin-api'; -import { isAdrAvailable } from '@backstage/plugin-adr-common'; -import { JSX as JSX_2 } from 'react'; -import { default as React_2 } from 'react'; -import { ReactNode } from 'react'; -import { ResultHighlight } from '@backstage/plugin-search-common'; -import { RouteRef } from '@backstage/core-plugin-api'; - -// @public -export interface AdrApi { - listAdrs(url: string): Promise; - readAdr(url: string): Promise; -} - -// @public -export const adrApiRef: ApiRef; - -// @public -export class AdrClient implements AdrApi { - constructor(options: AdrClientOptions); - // (undocumented) - listAdrs(url: string): Promise; - // (undocumented) - readAdr(url: string): Promise; -} - -// @public -export interface AdrClientOptions { - // (undocumented) - discoveryApi: DiscoveryApi; - // (undocumented) - fetchApi: FetchApi; -} - -// @public -export type AdrContentDecorator = (adrInfo: { - baseUrl: string; - content: string; -}) => { - content: string; -}; - -// @public -export type AdrFileInfo = { - type: string; - path: string; - name: string; - title?: string; - status?: string; - date?: string; -}; - -// @public -export type AdrListResult = { - data: AdrFileInfo[]; -}; - -// @public -export const adrPlugin: BackstagePlugin< - { - root: RouteRef; - }, - {} ->; - -// @public -export const AdrReader: { - (props: { - adr: string; - decorators?: AdrContentDecorator[]; - }): React_2.JSX.Element; - decorators: Readonly<{ - createRewriteRelativeLinksDecorator(): AdrContentDecorator; - createRewriteRelativeEmbedsDecorator(): AdrContentDecorator; - createFrontMatterFormatterDecorator(): AdrContentDecorator; - }>; -}; - -// @public -export type AdrReadResult = { - data: string; -}; - -// @public -export const AdrSearchResultListItem: ( - props: AdrSearchResultListItemProps, -) => JSX.Element | null; - -// @public (undocumented) -export type AdrSearchResultListItemProps = { - lineClamp?: number; - highlight?: ResultHighlight; - icon?: ReactNode; - rank?: number; - result?: AdrDocument; -}; - -// @public -export const EntityAdrContent: (props: { - contentDecorators?: AdrContentDecorator[] | undefined; - filePathFilterFn?: AdrFilePathFilterFn | undefined; -}) => JSX_2.Element; - -export { isAdrAvailable }; -``` diff --git a/plugins/adr/catalog-info.yaml b/plugins/adr/catalog-info.yaml deleted file mode 100644 index 61fb6116d6..0000000000 --- a/plugins/adr/catalog-info.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: backstage-plugin-adr - title: '@backstage/plugin-adr' -spec: - lifecycle: experimental - type: backstage-frontend-plugin - owner: kuangp diff --git a/plugins/adr/docs/adr-tab.png b/plugins/adr/docs/adr-tab.png deleted file mode 100644 index d9dd728221..0000000000 Binary files a/plugins/adr/docs/adr-tab.png and /dev/null differ diff --git a/plugins/adr/examples/component/catalog-info.yaml b/plugins/adr/examples/component/catalog-info.yaml deleted file mode 100644 index 580110243f..0000000000 --- a/plugins/adr/examples/component/catalog-info.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: component-with-adrs - title: Component With ADRs - description: A Service with ADRs registerd - annotations: - backstage.io/adr-location: https://github.com/adr/madr/tree/develop/docs/decisions -spec: - type: service - lifecycle: experimental - owner: user:guest diff --git a/plugins/adr/knip-report.md b/plugins/adr/knip-report.md deleted file mode 100644 index ba9c1dddc5..0000000000 --- a/plugins/adr/knip-report.md +++ /dev/null @@ -1,9 +0,0 @@ -# Knip report - -## Unused devDependencies (2) - -| Name | Location | Severity | -| :--------------------- | :----------- | :------- | -| @testing-library/react | package.json | error | -| @testing-library/dom | package.json | error | - diff --git a/plugins/adr/package.json b/plugins/adr/package.json deleted file mode 100644 index bdf54391e8..0000000000 --- a/plugins/adr/package.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "name": "@backstage/plugin-adr", - "version": "0.6.17", - "backstage": { - "role": "frontend-plugin", - "moved": "@backstage-community/plugin-adr" - }, - "publishConfig": { - "access": "public" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/adr" - }, - "license": "Apache-2.0", - "sideEffects": false, - "exports": { - ".": "./src/index.ts", - "./alpha": "./src/alpha.tsx", - "./package.json": "./package.json" - }, - "main": "src/index.ts", - "types": "src/index.ts", - "typesVersions": { - "*": { - "alpha": [ - "src/alpha.tsx" - ], - "package.json": [ - "package.json" - ] - } - }, - "files": [ - "dist" - ], - "scripts": { - "build": "backstage-cli package build", - "clean": "backstage-cli package clean", - "lint": "backstage-cli package lint", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack", - "start": "backstage-cli package start", - "test": "backstage-cli package test" - }, - "dependencies": { - "@backstage/catalog-model": "workspace:^", - "@backstage/core-components": "workspace:^", - "@backstage/core-plugin-api": "workspace:^", - "@backstage/frontend-plugin-api": "workspace:^", - "@backstage/integration-react": "workspace:^", - "@backstage/plugin-adr-common": "workspace:^", - "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/plugin-search-common": "workspace:^", - "@backstage/plugin-search-react": "workspace:^", - "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "lodash": "^4.17.21", - "react-use": "^17.2.4" - }, - "devDependencies": { - "@backstage/cli": "workspace:^", - "@testing-library/dom": "^10.0.0", - "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^15.0.0" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-router-dom": "6.0.0-beta.0 || ^6.3.0" - }, - "deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-adr instead." -} diff --git a/plugins/adr/src/alpha.tsx b/plugins/adr/src/alpha.tsx deleted file mode 100644 index 4abba11fcf..0000000000 --- a/plugins/adr/src/alpha.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2023 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 { - createPlugin, - createSchemaFromZod, -} from '@backstage/frontend-plugin-api'; -import { createSearchResultListItemExtension } from '@backstage/plugin-search-react/alpha'; -import { AdrDocument } from '@backstage/plugin-adr-common'; - -export * from './translations'; - -function isAdrDocument(result: any): result is AdrDocument { - return result.entityRef; -} - -/** @alpha */ -export const adrSearchResultListItemExtension = - createSearchResultListItemExtension({ - configSchema: createSchemaFromZod(z => - z.object({ - // TODO: Define how the icon can be configurable - noTrack: z.boolean().default(false), - lineClamp: z.number().default(5), - }), - ), - predicate: result => result.type === 'adr', - component: async ({ config }) => { - const { AdrSearchResultListItem } = await import( - './search/AdrSearchResultListItem' - ); - return ({ result, ...rest }) => - isAdrDocument(result) ? ( - - ) : null; - }, - }); - -/** @alpha */ -export default createPlugin({ - id: 'adr', - extensions: [adrSearchResultListItemExtension], -}); diff --git a/plugins/adr/src/api/AdrClient.ts b/plugins/adr/src/api/AdrClient.ts deleted file mode 100644 index 9b85e8680d..0000000000 --- a/plugins/adr/src/api/AdrClient.ts +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2022 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 { DiscoveryApi, FetchApi } from '@backstage/core-plugin-api'; -import { AdrApi, AdrListResult, AdrReadResult } from './types'; - -/** - * Options for creating an AdrClient. - * - * @public - */ -export interface AdrClientOptions { - discoveryApi: DiscoveryApi; - fetchApi: FetchApi; -} - -const readEndpoint = 'file'; -const listEndpoint = 'list'; - -/** - * An implementation of the AdrApi that communicates with the ADR backend plugin. - * - * @public - */ -export class AdrClient implements AdrApi { - private readonly discoveryApi: DiscoveryApi; - private readonly fetchApi: FetchApi; - - constructor(options: AdrClientOptions) { - this.discoveryApi = options.discoveryApi; - this.fetchApi = options.fetchApi; - } - - private async fetchAdrApi(endpoint: string, fileUrl: string): Promise { - const baseUrl = await this.discoveryApi.getBaseUrl('adr'); - const targetUrl = `${baseUrl}/${endpoint}?url=${encodeURIComponent( - fileUrl, - )}`; - - const result = await this.fetchApi.fetch(targetUrl); - const data = await result.json(); - - if (!result.ok) { - throw new Error(`${data.message}`); - } - return data; - } - - async listAdrs(url: string): Promise { - return this.fetchAdrApi(listEndpoint, url); - } - - async readAdr(url: string): Promise { - return this.fetchAdrApi(readEndpoint, url); - } -} diff --git a/plugins/adr/src/api/index.ts b/plugins/adr/src/api/index.ts deleted file mode 100644 index 095da3519d..0000000000 --- a/plugins/adr/src/api/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2022 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. - */ - -export { AdrClient } from './AdrClient'; -export type { AdrClientOptions } from './AdrClient'; -export { adrApiRef } from './types'; -export type { - AdrApi, - AdrFileInfo, - AdrListResult, - AdrReadResult, -} from './types'; diff --git a/plugins/adr/src/api/types.ts b/plugins/adr/src/api/types.ts deleted file mode 100644 index 0af35cc6df..0000000000 --- a/plugins/adr/src/api/types.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2022 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 { createApiRef } from '@backstage/core-plugin-api'; - -/** - * Contains information about an ADR file. - * - * @public - */ -export type AdrFileInfo = { - /** The file type. */ - type: string; - - /** The relative path of the ADR file. */ - path: string; - - /** The name of the ADR file. */ - name: string; - - /** The title of the ADR. */ - title?: string; - - /** The status of the ADR. */ - status?: string; - - /** The date of the ADR. */ - date?: string; -}; - -/** - * The result of listing ADRs. - * - * @public - */ -export type AdrListResult = { - data: AdrFileInfo[]; -}; - -/** - * The result of reading an ADR. - * - * @public - */ -export type AdrReadResult = { - /** The contents of the read ADR file. */ - data: string; -}; - -/** - * The API used by the adr plugin to list and read ADRs. - * - * @public - */ -export interface AdrApi { - /** Lists the ADRs at the provided url. */ - listAdrs(url: string): Promise; - - /** Reads the contents of the ADR at the provided url. */ - readAdr(url: string): Promise; -} - -/** - * ApiRef for the AdrApi. - * - * @public - */ -export const adrApiRef = createApiRef({ - id: 'plugin.adr.api', -}); diff --git a/plugins/adr/src/components/AdrReader/AdrReader.tsx b/plugins/adr/src/components/AdrReader/AdrReader.tsx deleted file mode 100644 index a30cc38f19..0000000000 --- a/plugins/adr/src/components/AdrReader/AdrReader.tsx +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2022 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, { useMemo } from 'react'; -import { - InfoCard, - MarkdownContent, - Progress, - WarningPanel, -} from '@backstage/core-components'; -import { useApi } from '@backstage/core-plugin-api'; -import { scmIntegrationsApiRef } from '@backstage/integration-react'; -import { getAdrLocationUrl } from '@backstage/plugin-adr-common'; -import { useEntity } from '@backstage/plugin-catalog-react'; - -import { adrDecoratorFactories } from './decorators'; -import { AdrContentDecorator } from './types'; -import { adrApiRef } from '../../api'; -import useAsync from 'react-use/esm/useAsync'; - -/** - * Component to fetch and render an ADR. - * - * @public - */ -export const AdrReader = (props: { - adr: string; - decorators?: AdrContentDecorator[]; -}) => { - const { adr, decorators } = props; - const { entity } = useEntity(); - const scmIntegrations = useApi(scmIntegrationsApiRef); - const adrApi = useApi(adrApiRef); - const adrLocationUrl = getAdrLocationUrl(entity, scmIntegrations); - const adrFileLocationUrl = getAdrLocationUrl(entity, scmIntegrations, adr); - - const { value, loading, error } = useAsync( - async () => adrApi.readAdr(adrFileLocationUrl), - [adrFileLocationUrl], - ); - - const adrContent = useMemo(() => { - if (!value?.data) { - return ''; - } - const adrDecorators = decorators ?? [ - adrDecoratorFactories.createRewriteRelativeLinksDecorator(), - adrDecoratorFactories.createRewriteRelativeEmbedsDecorator(), - adrDecoratorFactories.createFrontMatterFormatterDecorator(), - ]; - - return adrDecorators.reduce( - (content, decorator) => - decorator({ baseUrl: adrLocationUrl, content }).content, - value.data, - ); - }, [adrLocationUrl, decorators, value]); - - return ( - - {loading && } - - {!loading && error && ( - - )} - - {!loading && !error && value?.data && ( - - )} - - ); -}; - -AdrReader.decorators = adrDecoratorFactories; diff --git a/plugins/adr/src/components/AdrReader/decorators.ts b/plugins/adr/src/components/AdrReader/decorators.ts deleted file mode 100644 index 980eab5179..0000000000 --- a/plugins/adr/src/components/AdrReader/decorators.ts +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2022 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 { parseMadrWithFrontmatter } from '@backstage/plugin-adr-common'; -import { AdrContentDecorator } from './types'; - -/** - * - * Factory for creating default ADR content decorators. The adrDecoratorFactories - * symbol is not directly exported, but through the AdrReader.decorators field. - * @public - */ -export const adrDecoratorFactories = Object.freeze({ - /** - * Rewrites relative Markdown links as absolute links. - */ - createRewriteRelativeLinksDecorator(): AdrContentDecorator { - return ({ baseUrl, content }) => ({ - content: content.replace( - /\[([^\[\]]*)\]\((?!https?:\/\/)(.*?)(\.md)\)/gim, - `[$1](${baseUrl}/$2$3)`, - ), - }); - }, - /** - * Rewrites relative Markdown embeds using absolute URLs. - */ - createRewriteRelativeEmbedsDecorator(): AdrContentDecorator { - return ({ baseUrl, content }) => ({ - content: content.replace( - /!\[([^\[\]]*)\]\((?!https?:\/\/)(.*?)(\.png|\.jpg|\.jpeg|\.gif|\.webp)(.*)\)/gim, - `![$1](${baseUrl}/$2$3$4)`, - ), - }); - }, - /** - * Formats YAML front-matter into a table format (if any exists in the markdown document) - */ - createFrontMatterFormatterDecorator(): AdrContentDecorator { - return ({ content }) => { - const parsedFrontmatter = parseMadrWithFrontmatter(content); - let table = ''; - const attrs = parsedFrontmatter.attributes; - if (Object.keys(attrs).length > 0) { - const stripNewLines = (val: unknown) => - String(val).replaceAll('\n', '
'); - const row = (vals: string[]) => `|${vals.join('|')}|\n`; - table = `${row(Object.keys(attrs))}`; - table += `${row(Object.keys(attrs).map(() => '---'))}`; - table += `${row(Object.values(attrs).map(stripNewLines))}\n\n`; - } - return { content: table + parsedFrontmatter.content }; - }; - }, -}); diff --git a/plugins/adr/src/components/AdrReader/index.ts b/plugins/adr/src/components/AdrReader/index.ts deleted file mode 100644 index 8482351016..0000000000 --- a/plugins/adr/src/components/AdrReader/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2022 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. - */ -export * from './AdrReader'; -export * from './types'; diff --git a/plugins/adr/src/components/AdrReader/types.ts b/plugins/adr/src/components/AdrReader/types.ts deleted file mode 100644 index f12906c00b..0000000000 --- a/plugins/adr/src/components/AdrReader/types.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2022 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. - */ - -/** - * ADR content decorator function type. Decorators are responsible for - * performing any necessary transformations on the ADR content before rendering. - * @public - */ -export type AdrContentDecorator = (adrInfo: { - baseUrl: string; - content: string; -}) => { content: string }; diff --git a/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx b/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx deleted file mode 100644 index a6adedb8ec..0000000000 --- a/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx +++ /dev/null @@ -1,261 +0,0 @@ -/* - * Copyright 2022 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, { useEffect, useState } from 'react'; -import { Link, useSearchParams } from 'react-router-dom'; -import useAsync from 'react-use/esm/useAsync'; - -import groupBy from 'lodash/groupBy'; - -import { - Content, - ContentHeader, - InfoCard, - Progress, - SupportButton, - WarningPanel, -} from '@backstage/core-components'; -import { configApiRef, useApi, useRouteRef } from '@backstage/core-plugin-api'; -import { scmIntegrationsApiRef } from '@backstage/integration-react'; -import { - AdrFilePathFilterFn, - ANNOTATION_ADR_LOCATION, - getAdrLocationUrl, - isAdrAvailable, - madrFilePathFilter, -} from '@backstage/plugin-adr-common'; -import { - useEntity, - MissingAnnotationEmptyState, -} from '@backstage/plugin-catalog-react'; -import Box from '@material-ui/core/Box'; -import Chip from '@material-ui/core/Chip'; -import Collapse from '@material-ui/core/Collapse'; -import Grid from '@material-ui/core/Grid'; -import List from '@material-ui/core/List'; -import ListItem from '@material-ui/core/ListItem'; -import ListItemIcon from '@material-ui/core/ListItemIcon'; -import ListItemText from '@material-ui/core/ListItemText'; -import Typography from '@material-ui/core/Typography'; -import { makeStyles, Theme } from '@material-ui/core/styles'; -import ExpandLess from '@material-ui/icons/ExpandLess'; -import ExpandMore from '@material-ui/icons/ExpandMore'; -import FolderIcon from '@material-ui/icons/Folder'; - -import { adrApiRef, AdrFileInfo } from '../../api'; -import { rootRouteRef } from '../../routes'; -import { AdrContentDecorator, AdrReader } from '../AdrReader'; -import { useTranslationRef } from '@backstage/core-plugin-api/alpha'; -import { adrTranslationRef } from '../../translations'; - -const useStyles = makeStyles((theme: Theme) => ({ - adrMenu: { - backgroundColor: theme.palette.background.paper, - }, - adrContainerTitle: { - color: theme.palette.grey[700], - marginBottom: theme.spacing(1), - }, - adrBox: { - display: 'flex', - justifyContent: 'space-between', - marginTop: '10px', - }, -})); - -const AdrListContainer = (props: { - adrs: AdrFileInfo[]; - selectedAdr: string; - title: string; -}) => { - const { adrs, selectedAdr, title } = props; - const classes = useStyles(); - const rootLink = useRouteRef(rootRouteRef); - const [open, setOpen] = React.useState(true); - - const getChipColor = (status: string) => { - switch (status) { - case 'accepted': - return 'primary'; - case 'rejected': - case 'deprecated': - return 'secondary'; - default: - return 'default'; - } - }; - - const handleClick = () => { - setOpen(!open); - }; - - return ( - <> - {title && ( - - - - - - {open ? : } - - )} - - - {adrs.map((adr, idx) => ( - - - {adr.date} - {adr.status && ( - - )} - - } - /> - - ))} - - - - ); -}; - -/** - * Component for browsing ADRs on an entity page. - * @public - */ -export const EntityAdrContent = (props: { - contentDecorators?: AdrContentDecorator[]; - filePathFilterFn?: AdrFilePathFilterFn; -}) => { - const { contentDecorators, filePathFilterFn } = props; - const classes = useStyles(); - const { entity } = useEntity(); - const [adrList, setAdrList] = useState([]); - const [searchParams, setSearchParams] = useSearchParams(); - const scmIntegrations = useApi(scmIntegrationsApiRef); - const adrApi = useApi(adrApiRef); - const entityHasAdrs = isAdrAvailable(entity); - const { t } = useTranslationRef(adrTranslationRef); - - const config = useApi(configApiRef); - const appSupportConfigured = config?.getOptionalConfig('app.support'); - - const { value, loading, error } = useAsync(async () => { - const url = getAdrLocationUrl(entity, scmIntegrations); - return adrApi.listAdrs(url); - }, [entity, scmIntegrations]); - - const selectedAdr = - adrList.find(adr => adr.path === searchParams.get('record'))?.path ?? ''; - - const adrSubDirectoryFunc = (adr: AdrFileInfo) => { - return adr.path.split('/').slice(0, -1).join('/'); - }; - - useEffect(() => { - if (adrList.length && !selectedAdr) { - searchParams.set('record', adrList[0].path); - setSearchParams(searchParams, { replace: true }); - } - }); - - useEffect(() => { - if (!value?.data) { - return; - } - - const adrs: AdrFileInfo[] = value.data.filter( - (item: AdrFileInfo) => - item.type === 'file' && - (filePathFilterFn - ? filePathFilterFn(item.path) - : madrFilePathFilter(item.path)), - ); - - setAdrList(adrs); - }, [filePathFilterFn, value]); - - const adrListGrouped = Object.entries( - groupBy(adrList, adrSubDirectoryFunc), - ).sort(); - - return ( - - - {appSupportConfigured && } - - - {!entityHasAdrs && ( - - )} - - {loading && } - - {entityHasAdrs && !loading && error && ( - - )} - - {entityHasAdrs && - !loading && - !error && - (adrList.length ? ( - - - - - {adrListGrouped.map(([title, adrs], idx) => ( - - ))} - - - - - - - - ) : ( - {t('notFound')} - ))} - - ); -}; diff --git a/plugins/adr/src/components/EntityAdrContent/index.ts b/plugins/adr/src/components/EntityAdrContent/index.ts deleted file mode 100644 index 4552d4e87d..0000000000 --- a/plugins/adr/src/components/EntityAdrContent/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2022 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. - */ -export { EntityAdrContent } from './EntityAdrContent'; diff --git a/plugins/adr/src/index.ts b/plugins/adr/src/index.ts deleted file mode 100644 index f405621c4a..0000000000 --- a/plugins/adr/src/index.ts +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2022 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. - */ - -/** - * Architecture Decision Records frontend plugin. - * - * @packageDocumentation - */ - -export { adrApiRef, AdrClient } from './api'; -export type { - AdrApi, - AdrClientOptions, - AdrFileInfo, - AdrListResult, - AdrReadResult, -} from './api'; -export { isAdrAvailable } from '@backstage/plugin-adr-common'; -export * from './components/AdrReader'; -export { adrPlugin, AdrSearchResultListItem, EntityAdrContent } from './plugin'; -export type { AdrSearchResultListItemProps } from './search'; diff --git a/plugins/adr/src/plugin.test.ts b/plugins/adr/src/plugin.test.ts deleted file mode 100644 index e311bf98e6..0000000000 --- a/plugins/adr/src/plugin.test.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2022 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 { adrPlugin } from './plugin'; - -describe('adr', () => { - it('should export plugin', () => { - expect(adrPlugin).toBeDefined(); - }); -}); diff --git a/plugins/adr/src/plugin.ts b/plugins/adr/src/plugin.ts deleted file mode 100644 index d173ef5d78..0000000000 --- a/plugins/adr/src/plugin.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2022 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 { adrApiRef, AdrClient } from './api'; -import { - createApiFactory, - createPlugin, - createRoutableExtension, - discoveryApiRef, - fetchApiRef, -} from '@backstage/core-plugin-api'; -import { createSearchResultListItemExtension } from '@backstage/plugin-search-react'; -import { rootRouteRef } from './routes'; -import { AdrSearchResultListItemProps } from './search'; - -/** - * The Backstage plugin that holds ADR specific components - * @public - */ -export const adrPlugin = createPlugin({ - id: 'adr', - apis: [ - createApiFactory({ - api: adrApiRef, - deps: { - discoveryApi: discoveryApiRef, - fetchApi: fetchApiRef, - }, - factory({ discoveryApi, fetchApi }) { - return new AdrClient({ discoveryApi, fetchApi }); - }, - }), - ], - routes: { - root: rootRouteRef, - }, -}); - -/** - * An extension for browsing ADRs on an entity page. - * @public - */ -export const EntityAdrContent = adrPlugin.provide( - createRoutableExtension({ - name: 'EntityAdrContent', - component: () => - import('./components/EntityAdrContent').then(m => m.EntityAdrContent), - mountPoint: rootRouteRef, - }), -); - -/** - * React extension used to render results on Search page or modal - * - * @public - */ -export const AdrSearchResultListItem: ( - props: AdrSearchResultListItemProps, -) => JSX.Element | null = adrPlugin.provide( - createSearchResultListItemExtension({ - name: 'AdrSearchResultListItem', - component: () => - import('./search/AdrSearchResultListItem').then( - m => m.AdrSearchResultListItem, - ), - predicate: result => result.type === 'adr', - }), -); diff --git a/plugins/adr/src/routes.ts b/plugins/adr/src/routes.ts deleted file mode 100644 index 0ec5c71294..0000000000 --- a/plugins/adr/src/routes.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2022 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 { createRouteRef } from '@backstage/core-plugin-api'; - -/** - * Root route ref for the ADR plugin - * @public - */ -export const rootRouteRef = createRouteRef({ - id: 'adr', -}); diff --git a/plugins/adr/src/search/AdrSearchResultListItem.tsx b/plugins/adr/src/search/AdrSearchResultListItem.tsx deleted file mode 100644 index 5110b302a9..0000000000 --- a/plugins/adr/src/search/AdrSearchResultListItem.tsx +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright 2022 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, { ReactNode } from 'react'; -import Box from '@material-ui/core/Box'; -import Chip from '@material-ui/core/Chip'; -import ListItemIcon from '@material-ui/core/ListItemIcon'; -import ListItemText from '@material-ui/core/ListItemText'; -import { makeStyles } from '@material-ui/core/styles'; -import Typography from '@material-ui/core/Typography'; -import { parseEntityRef } from '@backstage/catalog-model'; -import { Link } from '@backstage/core-components'; -import { AdrDocument } from '@backstage/plugin-adr-common'; -import { humanizeEntityRef } from '@backstage/plugin-catalog-react'; -import { ResultHighlight } from '@backstage/plugin-search-common'; -import { HighlightedSearchResultText } from '@backstage/plugin-search-react'; - -const useStyles = makeStyles({ - item: { - display: 'flex', - }, - flexContainer: { - flexWrap: 'wrap', - }, - itemText: { - width: '100%', - wordBreak: 'break-all', - marginBottom: '1rem', - }, -}); - -/** - * @public - */ -export type AdrSearchResultListItemProps = { - lineClamp?: number; - highlight?: ResultHighlight; - icon?: ReactNode; - rank?: number; - result?: AdrDocument; -}; - -/** - * A component to display an ADR search result. - * @public - */ -export function AdrSearchResultListItem(props: AdrSearchResultListItemProps) { - const { lineClamp = 5, highlight, icon, result } = props; - const classes = useStyles(); - - if (!result) return null; - - return ( -
- {icon && {icon}} -
- - {highlight?.fields.title ? ( - - ) : ( - result.title - )} - - } - secondary={ - - {highlight?.fields.text ? ( - - ) : ( - result.text - )} - - } - /> - - - {result.status && ( - - )} - {result.date && } - -
-
- ); -} diff --git a/plugins/adr/src/search/index.ts b/plugins/adr/src/search/index.ts deleted file mode 100644 index a20f553959..0000000000 --- a/plugins/adr/src/search/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2022 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. - */ -export type { AdrSearchResultListItemProps } from './AdrSearchResultListItem'; diff --git a/plugins/adr/src/setupTests.ts b/plugins/adr/src/setupTests.ts deleted file mode 100644 index 326d2ed212..0000000000 --- a/plugins/adr/src/setupTests.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2022 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 '@testing-library/jest-dom'; diff --git a/plugins/adr/src/translations.ts b/plugins/adr/src/translations.ts deleted file mode 100644 index 038b0fd064..0000000000 --- a/plugins/adr/src/translations.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2023 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 { createTranslationRef } from '@backstage/core-plugin-api/alpha'; - -/** @alpha */ -export const adrTranslationRef = createTranslationRef({ - id: 'adr', - messages: { - contentHeaderTitle: 'Architecture Decision Records', - failedToFetch: 'Failed to fetch ADRs', - notFound: 'No ADRs found', - }, -}); diff --git a/plugins/airbrake-backend/.eslintrc.js b/plugins/airbrake-backend/.eslintrc.js deleted file mode 100644 index e2a53a6ad2..0000000000 --- a/plugins/airbrake-backend/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); diff --git a/plugins/airbrake-backend/CHANGELOG.md b/plugins/airbrake-backend/CHANGELOG.md deleted file mode 100644 index f5ebe4ef70..0000000000 --- a/plugins/airbrake-backend/CHANGELOG.md +++ /dev/null @@ -1,914 +0,0 @@ -# @backstage/plugin-airbrake-backend - -## 0.3.14 - -### Patch Changes - -- d5a1fe1: Replaced winston logger with `LoggerService` -- e5a2ccc: Updated dependency `@types/http-proxy-middleware` to `^1.0.0`. -- Updated dependencies - - @backstage/backend-common@0.21.7 - - @backstage/backend-plugin-api@0.6.17 - - @backstage/config@1.2.0 - -## 0.3.14-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.7-next.1 - - @backstage/backend-plugin-api@0.6.17-next.1 - - @backstage/config@1.2.0 - -## 0.3.14-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.7-next.0 - - @backstage/backend-plugin-api@0.6.17-next.0 - - @backstage/config@1.2.0 - -## 0.3.13 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.6 - - @backstage/backend-plugin-api@0.6.16 - - @backstage/config@1.2.0 - -## 0.3.12 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.5 - - @backstage/backend-plugin-api@0.6.15 - - @backstage/config@1.2.0 - -## 0.3.11 - -### Patch Changes - -- 4467036: Allow unauthenticated access to health check endpoint. -- Updated dependencies - - @backstage/backend-common@0.21.4 - - @backstage/config@1.2.0 - - @backstage/backend-plugin-api@0.6.14 - -## 0.3.11-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.4-next.2 - - @backstage/backend-plugin-api@0.6.14-next.2 - - @backstage/config@1.2.0-next.1 - -## 0.3.11-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/config@1.2.0-next.1 - - @backstage/backend-common@0.21.4-next.1 - - @backstage/backend-plugin-api@0.6.14-next.1 - -## 0.3.10-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.3-next.0 - - @backstage/backend-plugin-api@0.6.13-next.0 - - @backstage/config@1.1.2-next.0 - -## 0.3.7 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.0 - - @backstage/backend-plugin-api@0.6.10 - - @backstage/config@1.1.1 - -## 0.3.7-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.0-next.3 - - @backstage/backend-plugin-api@0.6.10-next.3 - - @backstage/config@1.1.1 - -## 0.3.7-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.0-next.2 - - @backstage/backend-plugin-api@0.6.10-next.2 - - @backstage/config@1.1.1 - -## 0.3.7-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.6.10-next.1 - - @backstage/backend-common@0.21.0-next.1 - - @backstage/config@1.1.1 - -## 0.3.7-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.0-next.0 - - @backstage/backend-plugin-api@0.6.10-next.0 - - @backstage/config@1.1.1 - -## 0.3.6 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/backend-common@0.20.1 - - @backstage/backend-plugin-api@0.6.9 - - @backstage/config@1.1.1 - -## 0.3.6-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.6.9-next.2 - - @backstage/backend-common@0.20.1-next.2 - -## 0.3.6-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.1-next.1 - - @backstage/config@1.1.1 - - @backstage/backend-plugin-api@0.6.9-next.1 - -## 0.3.6-next.0 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/backend-common@0.20.1-next.0 - - @backstage/backend-plugin-api@0.6.9-next.0 - - @backstage/config@1.1.1 - -## 0.3.5 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0 - - @backstage/backend-plugin-api@0.6.8 - - @backstage/config@1.1.1 - -## 0.3.5-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0-next.3 - - @backstage/backend-plugin-api@0.6.8-next.3 - - @backstage/config@1.1.1 - -## 0.3.5-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0-next.2 - - @backstage/backend-plugin-api@0.6.8-next.2 - - @backstage/config@1.1.1 - -## 0.3.5-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0-next.1 - - @backstage/backend-plugin-api@0.6.8-next.1 - - @backstage/config@1.1.1 - -## 0.3.5-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0-next.0 - - @backstage/backend-plugin-api@0.6.8-next.0 - - @backstage/config@1.1.1 - -## 0.3.4 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.9 - - @backstage/backend-plugin-api@0.6.7 - - @backstage/config@1.1.1 - -## 0.3.4-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.6.7-next.2 - - @backstage/backend-common@0.19.9-next.2 - -## 0.3.4-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.9-next.1 - - @backstage/backend-plugin-api@0.6.7-next.1 - - @backstage/config@1.1.1 - -## 0.3.4-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.9-next.0 - - @backstage/backend-plugin-api@0.6.7-next.0 - - @backstage/config@1.1.1 - -## 0.3.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.8 - - @backstage/backend-plugin-api@0.6.6 - - @backstage/config@1.1.1 - -## 0.3.3-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.8-next.2 - - @backstage/backend-plugin-api@0.6.6-next.2 - - @backstage/config@1.1.1-next.0 - -## 0.3.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.7-next.1 - - @backstage/backend-plugin-api@0.6.5-next.1 - - @backstage/config@1.1.0 - -## 0.3.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.7-next.0 - - @backstage/config@1.1.0 - - @backstage/backend-plugin-api@0.6.5-next.0 - -## 0.3.0 - -### Minor Changes - -- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export. - - For example, if you are currently importing the plugin using the following pattern: - - ```ts - import { examplePlugin } from '@backstage/plugin-example-backend'; - - backend.add(examplePlugin); - ``` - - It should be migrated to this: - - ```ts - backend.add(import('@backstage/plugin-example-backend')); - ``` - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.5 - - @backstage/config@1.1.0 - - @backstage/backend-plugin-api@0.6.3 - -## 0.3.0-next.3 - -### Minor Changes - -- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export. - - For example, if you are currently importing the plugin using the following pattern: - - ```ts - import { examplePlugin } from '@backstage/plugin-example-backend'; - - backend.add(examplePlugin); - ``` - - It should be migrated to this: - - ```ts - backend.add(import('@backstage/plugin-example-backend')); - ``` - -### Patch Changes - -- Updated dependencies - - @backstage/config@1.1.0-next.2 - - @backstage/backend-plugin-api@0.6.3-next.3 - - @backstage/backend-common@0.19.5-next.3 - -## 0.2.24-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/config@1.1.0-next.1 - - @backstage/backend-common@0.19.5-next.2 - - @backstage/backend-plugin-api@0.6.3-next.2 - -## 0.2.24-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/config@1.1.0-next.0 - - @backstage/backend-common@0.19.5-next.1 - - @backstage/backend-plugin-api@0.6.3-next.1 - -## 0.2.23-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.4-next.0 - - @backstage/backend-plugin-api@0.6.2-next.0 - - @backstage/config@1.0.8 - -## 0.2.21 - -### Patch Changes - -- 629cbd194a87: Use `coreServices.rootConfig` instead of `coreService.config` -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/backend-common@0.19.2 - - @backstage/backend-plugin-api@0.6.0 - - @backstage/config@1.0.8 - -## 0.2.21-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.6.0-next.2 - - @backstage/backend-common@0.19.2-next.2 - -## 0.2.21-next.1 - -### Patch Changes - -- 629cbd194a87: Use `coreServices.rootConfig` instead of `coreService.config` -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/backend-common@0.19.2-next.1 - - @backstage/backend-plugin-api@0.6.0-next.1 - - @backstage/config@1.0.8 - -## 0.2.21-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.2-next.0 - - @backstage/backend-plugin-api@0.5.5-next.0 - - @backstage/config@1.0.8 - -## 0.2.20 - -### Patch Changes - -- a95bb64e461a: Added support for the [new backend system](https://backstage.io/docs/backend-system/) -- Updated dependencies - - @backstage/backend-common@0.19.1 - - @backstage/backend-plugin-api@0.5.4 - - @backstage/config@1.0.8 - -## 0.2.20-next.1 - -### Patch Changes - -- a95bb64e461a: Added support for the [new backend system](https://backstage.io/docs/backend-system/) -- Updated dependencies - - @backstage/backend-common@0.19.1-next.0 - - @backstage/backend-plugin-api@0.5.4-next.0 - - @backstage/config@1.0.8 - -## 0.2.20-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.1-next.0 - - @backstage/config@1.0.8 - -## 0.2.19 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.0 - - @backstage/config@1.0.8 - -## 0.2.19-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.0-next.2 - - @backstage/config@1.0.7 - -## 0.2.19-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.0-next.1 - - @backstage/config@1.0.7 - -## 0.2.19-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.6-next.0 - - @backstage/config@1.0.7 - -## 0.2.18 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.5 - - @backstage/config@1.0.7 - -## 0.2.18-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.5-next.1 - - @backstage/config@1.0.7 - -## 0.2.18-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.5-next.0 - - @backstage/config@1.0.7 - -## 0.2.17 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.4 - - @backstage/config@1.0.7 - -## 0.2.17-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.4-next.2 - - @backstage/config@1.0.7 - -## 0.2.17-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.4-next.1 - - @backstage/config@1.0.7 - -## 0.2.17-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.4-next.0 - - @backstage/config@1.0.7 - -## 0.2.16 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/backend-common@0.18.3 - - @backstage/config@1.0.7 - -## 0.2.16-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.3-next.2 - - @backstage/config@1.0.7-next.0 - -## 0.2.16-next.1 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/backend-common@0.18.3-next.1 - - @backstage/config@1.0.7-next.0 - -## 0.2.16-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.3-next.0 - - @backstage/config@1.0.6 - -## 0.2.15 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.2 - - @backstage/config@1.0.6 - -## 0.2.15-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.2-next.2 - - @backstage/config@1.0.6 - -## 0.2.15-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.2-next.1 - - @backstage/config@1.0.6 - -## 0.2.15-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.2-next.0 - -## 0.2.13 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.0 - - @backstage/config@1.0.6 - -## 0.2.13-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.0-next.1 - - @backstage/config@1.0.6-next.0 - -## 0.2.13-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.0-next.0 - - @backstage/config@1.0.6-next.0 - -## 0.2.12 - -### Patch Changes - -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/backend-common@0.17.0 - - @backstage/config@1.0.5 - -## 0.2.12-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.17.0-next.3 - - @backstage/config@1.0.5-next.1 - -## 0.2.12-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.17.0-next.2 - - @backstage/config@1.0.5-next.1 - -## 0.2.12-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.17.0-next.1 - - @backstage/config@1.0.5-next.1 - -## 0.2.12-next.0 - -### Patch Changes - -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/backend-common@0.16.1-next.0 - - @backstage/config@1.0.5-next.0 - -## 0.2.11 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.16.0 - - @backstage/config@1.0.4 - -## 0.2.11-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.16.0-next.1 - - @backstage/config@1.0.4-next.0 - -## 0.2.11-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.16.0-next.0 - - @backstage/config@1.0.4-next.0 - -## 0.2.10 - -### Patch Changes - -- 2d3a5f09ab: Use `response.json` rather than `response.send` where appropriate, as outlined in `SECURITY.md` -- Updated dependencies - - @backstage/backend-common@0.15.2 - - @backstage/config@1.0.3 - -## 0.2.10-next.2 - -### Patch Changes - -- 2d3a5f09ab: Use `response.json` rather than `response.send` where appropriate, as outlined in `SECURITY.md` -- Updated dependencies - - @backstage/backend-common@0.15.2-next.2 - - @backstage/config@1.0.3-next.2 - -## 0.2.10-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.15.2-next.1 - - @backstage/config@1.0.3-next.1 - -## 0.2.10-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.15.2-next.0 - - @backstage/config@1.0.3-next.0 - -## 0.2.9 - -### Patch Changes - -- 148568b5c2: Switched to using node-fetch instead of cross-fetch as is standard for our backend packages -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- Updated dependencies - - @backstage/backend-common@0.15.1 - - @backstage/config@1.0.2 - -## 0.2.9-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/config@1.0.2-next.0 - - @backstage/backend-common@0.15.1-next.3 - -## 0.2.9-next.2 - -### Patch Changes - -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- Updated dependencies - - @backstage/backend-common@0.15.1-next.2 - -## 0.2.9-next.1 - -### Patch Changes - -- 148568b5c2: Switched to using node-fetch instead of cross-fetch as is standard for our backend packages -- Updated dependencies - - @backstage/backend-common@0.15.1-next.1 - -## 0.2.9-next.0 - -### Patch Changes - -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- Updated dependencies - - @backstage/backend-common@0.15.1-next.0 - -## 0.2.8 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.15.0 - -## 0.2.8-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.15.0-next.0 - -## 0.2.7 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- 8006d0f9bf: Updated dependency `msw` to `^0.44.0`. -- Updated dependencies - - @backstage/backend-common@0.14.1 - -## 0.2.7-next.1 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- Updated dependencies - - @backstage/backend-common@0.14.1-next.3 - -## 0.2.7-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.14.1-next.0 - -## 0.2.6 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/backend-common@0.14.0 - -## 0.2.6-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.14.0-next.2 - -## 0.2.6-next.1 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/backend-common@0.13.6-next.1 - -## 0.2.6-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.6-next.0 - -## 0.2.5 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.3 - - @backstage/config@1.0.1 - -## 0.2.5-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.3-next.2 - - @backstage/config@1.0.1-next.0 - -## 0.2.5-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.3-next.0 - -## 0.2.4 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.2 - -## 0.2.4-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.2-next.0 - -## 0.2.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.1 - - @backstage/config@1.0.0 - -## 0.2.2 - -### Patch Changes - -- 4f79204c47: Added `backstage.role` to `package.json` -- Updated dependencies - - @backstage/backend-common@0.13.0 - -## 0.2.2-next.0 - -### Patch Changes - -- 4f79204c47: Added `backstage.role` to `package.json` -- Updated dependencies - - @backstage/backend-common@0.13.0-next.0 - -## 0.2.1 - -### Patch Changes - -- 3c1d3cb07e: The Airbrake plugin installation instructions have been updated to work better and conform to how the frontend and backend plugins are supposed to be integrated into a Backstage instance. -- Updated dependencies - - @backstage/backend-common@0.12.0 - -## 0.2.0 - -### Minor Changes - -- da78e79a94: This marks the first release where the Airbrake plugin is useable. Airbrake frontend and Airbrake backend work with each other. Currently just a summary of the latest Airbrakes is shown on Backstage. - -### Patch Changes - -- 0045270527: Make config optional -- Updated dependencies - - @backstage/backend-common@0.11.0 - -## 0.1.0 - -### Minor Changes - -- a5aebe3e30: Created the Airbrake backend plugin that proxies requests to the Airbrake API - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.10.8 - - @backstage/config@0.1.14 diff --git a/plugins/airbrake-backend/README.md b/plugins/airbrake-backend/README.md deleted file mode 100644 index 5a4a3ba3ca..0000000000 --- a/plugins/airbrake-backend/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Deprecated - -This package has been moved to the [backstage-community/plugins](https://github.com/backstage/community-plugins) repository. Migrate to using `@backstage-community/plugin-airbrake-backend` instead. diff --git a/plugins/airbrake-backend/api-report.md b/plugins/airbrake-backend/api-report.md deleted file mode 100644 index 5509fc4fd6..0000000000 --- a/plugins/airbrake-backend/api-report.md +++ /dev/null @@ -1,31 +0,0 @@ -## API Report File for "@backstage/plugin-airbrake-backend" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -import { BackendFeature } from '@backstage/backend-plugin-api'; -import { Config } from '@backstage/config'; -import express from 'express'; -import { LoggerService } from '@backstage/backend-plugin-api'; - -// @public -export interface AirbrakeConfig { - apiKey: string; -} - -// @public -const airbrakePlugin: () => BackendFeature; -export default airbrakePlugin; - -// @public -export function createRouter(options: RouterOptions): Promise; - -// @public -export function extractAirbrakeConfig(config: Config): AirbrakeConfig; - -// @public -export interface RouterOptions { - airbrakeConfig: AirbrakeConfig; - logger: LoggerService; -} -``` diff --git a/plugins/airbrake-backend/catalog-info.yaml b/plugins/airbrake-backend/catalog-info.yaml deleted file mode 100644 index 90884f5d34..0000000000 --- a/plugins/airbrake-backend/catalog-info.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: backstage-plugin-airbrake-backend - title: '@backstage/plugin-airbrake-backend' -spec: - lifecycle: experimental - type: backstage-backend-plugin - owner: maintainers diff --git a/plugins/airbrake-backend/config.d.ts b/plugins/airbrake-backend/config.d.ts deleted file mode 100644 index a21f609550..0000000000 --- a/plugins/airbrake-backend/config.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* - * 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. - */ - -export interface Config { - /** Configuration options for the Airbrake plugin */ - airbrake?: { - /** - * The API Key to authenticate requests. More details on how to get this - * here: https://airbrake.io/docs/api/#authentication - * - * @visibility secret - */ - apiKey: string; - }; -} diff --git a/plugins/airbrake-backend/knip-report.md b/plugins/airbrake-backend/knip-report.md deleted file mode 100644 index 2661c35327..0000000000 --- a/plugins/airbrake-backend/knip-report.md +++ /dev/null @@ -1,2 +0,0 @@ -# Knip report - diff --git a/plugins/airbrake-backend/package.json b/plugins/airbrake-backend/package.json deleted file mode 100644 index cdfed4396e..0000000000 --- a/plugins/airbrake-backend/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "@backstage/plugin-airbrake-backend", - "version": "0.3.14", - "backstage": { - "role": "backend-plugin", - "moved": "@backstage-community/plugin-airbrake-backend" - }, - "publishConfig": { - "access": "public", - "main": "dist/index.cjs.js", - "types": "dist/index.d.ts" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/airbrake-backend" - }, - "license": "Apache-2.0", - "main": "src/index.ts", - "types": "src/index.ts", - "files": [ - "dist", - "config.d.ts" - ], - "scripts": { - "build": "backstage-cli package build", - "clean": "backstage-cli package clean", - "lint": "backstage-cli package lint", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack", - "start": "backstage-cli package start", - "test": "backstage-cli package test" - }, - "dependencies": { - "@backstage/backend-common": "workspace:^", - "@backstage/backend-plugin-api": "workspace:^", - "@backstage/config": "workspace:^", - "@types/express": "*", - "express": "^4.17.1", - "express-promise-router": "^4.1.0", - "http-proxy-middleware": "^2.0.0", - "yn": "^4.0.0" - }, - "devDependencies": { - "@backstage/backend-test-utils": "workspace:^", - "@backstage/cli": "workspace:^", - "@types/http-proxy-middleware": "^1.0.0", - "@types/supertest": "^2.0.8", - "supertest": "^6.1.6" - }, - "configSchema": "config.d.ts", - "deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-airbrake-backend instead." -} diff --git a/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.test.ts b/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.test.ts deleted file mode 100644 index 53d744b9ee..0000000000 --- a/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.test.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2022 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 { ConfigReader } from '@backstage/config'; -import { extractAirbrakeConfig } from './ExtractAirbrakeConfig'; - -describe('ExtractAirbrakeConfig', () => { - it('gets the API key', () => { - const config = new ConfigReader({ - airbrake: { - apiKey: 'fakeApiKey', - }, - }); - - const airbrakeConfig = extractAirbrakeConfig(config); - expect(airbrakeConfig.apiKey).toStrictEqual('fakeApiKey'); - }); - - it('fails for missing keys', () => { - expect(() => extractAirbrakeConfig(new ConfigReader({}))).toThrow(); - expect(() => - extractAirbrakeConfig(new ConfigReader({ airbrake: {} })), - ).toThrow(); - }); -}); diff --git a/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.ts b/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.ts deleted file mode 100644 index de6a31feec..0000000000 --- a/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2022 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 { Config } from '@backstage/config'; - -/** - * The configuration needed for the airbrake-backend plugin - * - * @public - */ -export interface AirbrakeConfig { - /** - * The API Key to authenticate requests. More details on how to get this here: https://airbrake.io/docs/api/#authentication - */ - apiKey: string; -} - -/** - * Extract the Airbrake config from a config object - * - * @public - * - * @param config - The config object to extract from - */ -export function extractAirbrakeConfig(config: Config): AirbrakeConfig { - return { - apiKey: config.getString('airbrake.apiKey'), - }; -} diff --git a/plugins/airbrake-backend/src/config/index.ts b/plugins/airbrake-backend/src/config/index.ts deleted file mode 100644 index 60d60c2761..0000000000 --- a/plugins/airbrake-backend/src/config/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2022 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. - */ - -export * from './ExtractAirbrakeConfig'; diff --git a/plugins/airbrake-backend/src/index.ts b/plugins/airbrake-backend/src/index.ts deleted file mode 100644 index 3f660dad62..0000000000 --- a/plugins/airbrake-backend/src/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2020 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. - */ - -/** - * The Airbrake Backend plugin used by \@backstage/plugin-airbrake - * - * @packageDocumentation - */ - -export * from './service/router'; -export * from './config'; -export { airbrakePlugin as default } from './plugin'; diff --git a/plugins/airbrake-backend/src/plugin.ts b/plugins/airbrake-backend/src/plugin.ts deleted file mode 100644 index 917ffbceac..0000000000 --- a/plugins/airbrake-backend/src/plugin.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2023 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 { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; -import { createRouter } from './service/router'; -import { extractAirbrakeConfig } from './config'; - -/** - * The Airbrake Backend plugin. - * - * @public - */ -export const airbrakePlugin = createBackendPlugin({ - pluginId: 'airbrake', - register(env) { - env.registerInit({ - deps: { - config: coreServices.rootConfig, - logger: coreServices.logger, - httpRouter: coreServices.httpRouter, - }, - async init({ logger, httpRouter, config }) { - httpRouter.use( - await createRouter({ - airbrakeConfig: extractAirbrakeConfig(config), - logger, - }), - ); - httpRouter.addAuthPolicy({ - path: '/health', - allow: 'unauthenticated', - }); - }, - }); - }, -}); diff --git a/plugins/airbrake-backend/src/run.ts b/plugins/airbrake-backend/src/run.ts deleted file mode 100644 index 0a3ed2b7f0..0000000000 --- a/plugins/airbrake-backend/src/run.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2020 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 { getRootLogger } from '@backstage/backend-common'; -import yn from 'yn'; -import { startStandaloneServer } from './service/standaloneServer'; - -const port = process.env.PLUGIN_PORT ? Number(process.env.PLUGIN_PORT) : 7007; -const enableCors = yn(process.env.PLUGIN_CORS, { default: false }); -const logger = getRootLogger(); - -startStandaloneServer({ port, enableCors, logger }).catch(err => { - logger.error(err); - process.exit(1); -}); - -process.on('SIGINT', () => { - logger.info('CTRL+C pressed; exiting.'); - process.exit(0); -}); diff --git a/plugins/airbrake-backend/src/service/router.test.ts b/plugins/airbrake-backend/src/service/router.test.ts deleted file mode 100644 index f981b18872..0000000000 --- a/plugins/airbrake-backend/src/service/router.test.ts +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 2020 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 express from 'express'; -import request from 'supertest'; -import { ConfigReader } from '@backstage/config'; -import { - createRouter, - generateAirbrakePathRewrite, - RouterOptions, -} from './router'; -import { AirbrakeConfig, extractAirbrakeConfig } from '../config'; -import { LoggerService } from '@backstage/backend-plugin-api'; -import { mockServices } from '@backstage/backend-test-utils'; - -describe('createRouter', () => { - let app: express.Express; - let airbrakeConfig: AirbrakeConfig; - let voidLogger: LoggerService; - - beforeEach(async () => { - jest.resetAllMocks(); - - voidLogger = mockServices.logger.mock(); - const config = new ConfigReader({ - airbrake: { - apiKey: 'fakeApiKey', - }, - }); - airbrakeConfig = extractAirbrakeConfig(config); - - const router = await createRouter({ - logger: voidLogger, - airbrakeConfig, - }); - app = express().use(router); - }); - - describe('GET /health', () => { - it('returns ok', async () => { - const response = await request(app).get('/health'); - - expect(response.status).toEqual(200); - expect(response.body).toEqual({ status: 'ok' }); - }); - }); - - describe('GET /api', () => { - it('appends the API Key properly with no other url parameters', () => { - const options: RouterOptions = { - logger: voidLogger, - airbrakeConfig, - }; - const pathRewrite = generateAirbrakePathRewrite(options) as ( - path: string, - ) => string; - - expect(pathRewrite('/airbrake-backend/api/v4/random/endpoint')).toBe( - '/v4/random/endpoint?key=fakeApiKey', - ); - }); - - it('appends the API Key properly despite there being other URL parameters', () => { - const options: RouterOptions = { - logger: voidLogger, - airbrakeConfig, - }; - const pathRewrite = generateAirbrakePathRewrite(options) as ( - path: string, - ) => string; - - expect( - pathRewrite( - '/airbrake-backend/api/v4/random/endpoint?param1=123¶m2=abc', - ), - ).toBe('/v4/random/endpoint?param1=123¶m2=abc&key=fakeApiKey'); - }); - }); -}); diff --git a/plugins/airbrake-backend/src/service/router.ts b/plugins/airbrake-backend/src/service/router.ts deleted file mode 100644 index a6d6af6d8c..0000000000 --- a/plugins/airbrake-backend/src/service/router.ts +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright 2020 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 { errorHandler } from '@backstage/backend-common'; -import express from 'express'; -import Router from 'express-promise-router'; -import { createProxyMiddleware } from 'http-proxy-middleware'; -import { AirbrakeConfig } from '../config'; -import { Options } from 'http-proxy-middleware/dist/types'; -import { LoggerService } from '@backstage/backend-plugin-api'; - -/** - * The router options that are needed when creating a router. - * - * @public - */ -export interface RouterOptions { - /** - * A logger object - */ - logger: LoggerService; - - /** - * The Airbrake config obtained from {@link extractAirbrakeConfig} - */ - airbrakeConfig: AirbrakeConfig; -} - -/** - * Mainly used internally to generate the path. - * - * @internal - * - * @param options - Router options - */ -export const generateAirbrakePathRewrite = ( - options: RouterOptions, -): Options['pathRewrite'] => { - const apiKey = options.airbrakeConfig.apiKey; - - return path => { - let newPath = path.replace(/.+?(\/api)/g, ''); - if (newPath.includes('?')) { - newPath += `&key=${apiKey}`; - } else { - newPath += `?key=${apiKey}`; - } - return newPath; - }; -}; - -/** - * Create the Airbrake Router, used for making API calls to the Airbrake API. - * - * @public - * - * @param options - Router options - */ -export async function createRouter( - options: RouterOptions, -): Promise { - const { logger } = options; - - const router = Router(); - router.use(express.json()); - - router.get('/health', (_, response) => { - logger.info('PONG!'); - response.json({ status: 'ok' }); - }); - - router.use( - '/api', - createProxyMiddleware({ - target: 'https://api.airbrake.io/api', - changeOrigin: true, - pathRewrite: generateAirbrakePathRewrite(options), - }), - ); - - router.use(errorHandler()); - return router; -} diff --git a/plugins/airbrake-backend/src/service/standaloneServer.ts b/plugins/airbrake-backend/src/service/standaloneServer.ts deleted file mode 100644 index 31aa41d832..0000000000 --- a/plugins/airbrake-backend/src/service/standaloneServer.ts +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2020 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 { - createServiceBuilder, - loadBackendConfig, -} from '@backstage/backend-common'; -import { Server } from 'http'; -import { createRouter } from './router'; -import { extractAirbrakeConfig } from '../config'; -import { LoggerService } from '@backstage/backend-plugin-api'; - -export interface ServerOptions { - port: number; - enableCors: boolean; - logger: LoggerService; -} - -export async function startStandaloneServer( - options: ServerOptions, -): Promise { - const logger = options.logger.child({ service: 'airbrake-backend' }); - const config = await loadBackendConfig({ logger, argv: process.argv }); - const airbrakeConfig = extractAirbrakeConfig(config); - logger.debug('Starting application server...'); - const router = await createRouter({ - logger, - airbrakeConfig, - }); - - let service = createServiceBuilder(module) - .setPort(options.port) - .addRouter('/api/airbrake', router); - if (options.enableCors) { - logger.info('CORS is enabled, limiting to localhost with port 3000'); - service = service.enableCors({ origin: 'http://localhost:3000' }); - } else { - logger.info('CORS is disabled, allowing all origins'); - service = service.enableCors({ origin: '*' }); - } - - return await service.start().catch(err => { - logger.error(err); - process.exit(1); - }); -} - -module.hot?.accept(); diff --git a/plugins/airbrake-backend/src/setupTests.ts b/plugins/airbrake-backend/src/setupTests.ts deleted file mode 100644 index d3232290a7..0000000000 --- a/plugins/airbrake-backend/src/setupTests.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2020 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. - */ - -export {}; diff --git a/plugins/airbrake/.eslintrc.js b/plugins/airbrake/.eslintrc.js deleted file mode 100644 index 9d5b45a010..0000000000 --- a/plugins/airbrake/.eslintrc.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, { - rules: { - '@backstage/no-top-level-material-ui-4-imports': 'error', - }, - }); \ No newline at end of file diff --git a/plugins/airbrake/CHANGELOG.md b/plugins/airbrake/CHANGELOG.md deleted file mode 100644 index 0143474741..0000000000 --- a/plugins/airbrake/CHANGELOG.md +++ /dev/null @@ -1,1507 +0,0 @@ -# @backstage/plugin-airbrake - -## 0.3.34 - -### Patch Changes - -- abfbcfc: Updated dependency `@testing-library/react` to `^15.0.0`. -- cb1e3b0: Updated dependency `@testing-library/dom` to `^10.0.0`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.11.3 - - @backstage/core-components@0.14.4 - - @backstage/dev-utils@1.0.31 - - @backstage/core-plugin-api@1.9.2 - - @backstage/test-utils@1.5.4 - - @backstage/catalog-model@1.4.5 - -## 0.3.34-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/dev-utils@1.0.31-next.1 - - @backstage/catalog-model@1.4.5 - - @backstage/core-components@0.14.4-next.0 - - @backstage/core-plugin-api@1.9.1 - - @backstage/test-utils@1.5.4-next.0 - - @backstage/plugin-catalog-react@1.11.3-next.1 - -## 0.3.34-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.4-next.0 - - @backstage/catalog-model@1.4.5 - - @backstage/core-plugin-api@1.9.1 - - @backstage/dev-utils@1.0.31-next.0 - - @backstage/test-utils@1.5.3 - - @backstage/plugin-catalog-react@1.11.3-next.0 - -## 0.3.33 - -### Patch Changes - -- e8f026a: Use ESM exports of react-use library -- Updated dependencies - - @backstage/core-components@0.14.3 - - @backstage/plugin-catalog-react@1.11.2 - - @backstage/dev-utils@1.0.30 - - @backstage/core-plugin-api@1.9.1 - - @backstage/test-utils@1.5.3 - - @backstage/catalog-model@1.4.5 - -## 0.3.32 - -### Patch Changes - -- e8f026a: Use ESM exports of react-use library -- Updated dependencies - - @backstage/core-components@0.14.2 - - @backstage/plugin-catalog-react@1.11.1 - - @backstage/dev-utils@1.0.29 - - @backstage/core-plugin-api@1.9.1 - - @backstage/test-utils@1.5.2 - - @backstage/catalog-model@1.4.5 - -## 0.3.31 - -### Patch Changes - -- 31d58ae: Added an optional ESLint rule - no-top-level-material-ui-4-imports - which has an auto fix function to migrate the imports and using it migrated the imports. -- Updated dependencies - - @backstage/core-components@0.14.1 - - @backstage/plugin-catalog-react@1.11.0 - - @backstage/catalog-model@1.4.5 - - @backstage/core-plugin-api@1.9.1 - - @backstage/dev-utils@1.0.28 - - @backstage/test-utils@1.5.1 - -## 0.3.31-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.2 - - @backstage/plugin-catalog-react@1.11.0-next.2 - - @backstage/dev-utils@1.0.28-next.2 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/core-plugin-api@1.9.1-next.1 - - @backstage/test-utils@1.5.1-next.1 - -## 0.3.31-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.1 - - @backstage/plugin-catalog-react@1.10.1-next.1 - - @backstage/core-plugin-api@1.9.1-next.1 - - @backstage/test-utils@1.5.1-next.1 - - @backstage/dev-utils@1.0.28-next.1 - - @backstage/catalog-model@1.4.5-next.0 - -## 0.3.31-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.0 - - @backstage/plugin-catalog-react@1.10.1-next.0 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/core-plugin-api@1.9.1-next.0 - - @backstage/dev-utils@1.0.28-next.0 - - @backstage/test-utils@1.5.1-next.0 - -## 0.3.30 - -### Patch Changes - -- b64ce5a: Updated New Backend System instructions to use default import -- 9aac2b0: Use `--cwd` as the first `yarn` argument -- 8fe56a8: Widen `@types/react` dependency range to include version 18. -- Updated dependencies - - @backstage/plugin-catalog-react@1.10.0 - - @backstage/core-components@0.14.0 - - @backstage/catalog-model@1.4.4 - - @backstage/test-utils@1.5.0 - - @backstage/core-plugin-api@1.9.0 - - @backstage/dev-utils@1.0.27 - -## 0.3.30-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.0-next.2 - - @backstage/plugin-catalog-react@1.10.0-next.3 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/core-plugin-api@1.9.0-next.1 - - @backstage/dev-utils@1.0.27-next.3 - - @backstage/test-utils@1.5.0-next.3 - -## 0.3.30-next.2 - -### Patch Changes - -- 9aac2b0: Use `--cwd` as the first `yarn` argument -- 8fe56a8: Widen `@types/react` dependency range to include version 18. -- Updated dependencies - - @backstage/core-components@0.14.0-next.1 - - @backstage/core-plugin-api@1.9.0-next.1 - - @backstage/plugin-catalog-react@1.10.0-next.2 - - @backstage/dev-utils@1.0.27-next.2 - - @backstage/test-utils@1.5.0-next.2 - - @backstage/catalog-model@1.4.4-next.0 - -## 0.3.30-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.0-next.0 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/test-utils@1.5.0-next.1 - - @backstage/core-plugin-api@1.8.3-next.0 - - @backstage/plugin-catalog-react@1.9.4-next.1 - - @backstage/dev-utils@1.0.27-next.1 - -## 0.3.30-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.4-next.0 - - @backstage/test-utils@1.5.0-next.0 - - @backstage/dev-utils@1.0.27-next.0 - - @backstage/core-components@0.13.10 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.2 - -## 0.3.29 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/core-components@0.13.10 - - @backstage/core-plugin-api@1.8.2 - - @backstage/plugin-catalog-react@1.9.3 - - @backstage/dev-utils@1.0.26 - - @backstage/catalog-model@1.4.3 - - @backstage/test-utils@1.4.7 - -## 0.3.29-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.3-next.2 - - @backstage/dev-utils@1.0.26-next.2 - -## 0.3.29-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.2-next.0 - - @backstage/core-components@0.13.10-next.1 - - @backstage/dev-utils@1.0.26-next.1 - - @backstage/test-utils@1.4.7-next.1 - - @backstage/plugin-catalog-react@1.9.3-next.1 - - @backstage/catalog-model@1.4.3 - -## 0.3.29-next.0 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/core-components@0.13.10-next.0 - - @backstage/plugin-catalog-react@1.9.3-next.0 - - @backstage/dev-utils@1.0.26-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.1 - - @backstage/test-utils@1.4.7-next.0 - -## 0.3.28 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.1 - - @backstage/plugin-catalog-react@1.9.2 - - @backstage/core-components@0.13.9 - - @backstage/theme@0.5.0 - - @backstage/test-utils@1.4.6 - - @backstage/dev-utils@1.0.25 - - @backstage/catalog-model@1.4.3 - -## 0.3.28-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.9-next.3 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/dev-utils@1.0.25-next.3 - - @backstage/test-utils@1.4.6-next.2 - - @backstage/theme@0.5.0-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.3 - -## 0.3.28-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.5.0-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.2 - - @backstage/catalog-model@1.4.3 - - @backstage/core-components@0.13.9-next.2 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/dev-utils@1.0.25-next.2 - - @backstage/test-utils@1.4.6-next.2 - -## 0.3.28-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.9-next.1 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.1 - - @backstage/test-utils@1.4.6-next.1 - - @backstage/dev-utils@1.0.25-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/theme@0.5.0-next.0 - -## 0.3.28-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.1-next.0 - - @backstage/plugin-catalog-react@1.9.2-next.0 - - @backstage/core-components@0.13.9-next.0 - - @backstage/theme@0.5.0-next.0 - - @backstage/dev-utils@1.0.25-next.0 - - @backstage/test-utils@1.4.6-next.0 - - @backstage/catalog-model@1.4.3 - -## 0.3.26 - -### Patch Changes - -- 6c2b872153: Add official support for React 18. -- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.0 - - @backstage/core-components@0.13.8 - - @backstage/core-plugin-api@1.8.0 - - @backstage/test-utils@1.4.5 - - @backstage/theme@0.4.4 - - @backstage/dev-utils@1.0.23 - - @backstage/catalog-model@1.4.3 - -## 0.3.26-next.2 - -### Patch Changes - -- [#20842](https://github.com/backstage/backstage/pull/20842) [`fdb5e23602`](https://github.com/backstage/backstage/commit/fdb5e2360299c5faa30f4d4236fc548b94d37446) Thanks [@benjdlambert](https://github.com/benjdlambert)! - Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency - -- Updated dependencies - - @backstage/core-components@0.13.8-next.2 - - @backstage/plugin-catalog-react@1.9.0-next.2 - - @backstage/dev-utils@1.0.23-next.2 - -## 0.3.26-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.0-next.1 - - @backstage/core-components@0.13.8-next.1 - - @backstage/dev-utils@1.0.23-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.0-next.0 - - @backstage/test-utils@1.4.5-next.0 - - @backstage/theme@0.4.4-next.0 - -## 0.3.26-next.0 - -### Patch Changes - -- 6c2b872153: Add official support for React 18. -- Updated dependencies - - @backstage/core-components@0.13.7-next.0 - - @backstage/plugin-catalog-react@1.9.0-next.0 - - @backstage/core-plugin-api@1.8.0-next.0 - - @backstage/test-utils@1.4.5-next.0 - - @backstage/theme@0.4.4-next.0 - - @backstage/dev-utils@1.0.23-next.0 - - @backstage/catalog-model@1.4.3 - -## 0.3.25 - -### Patch Changes - -- 9a1fce352e: Updated dependency `@testing-library/jest-dom` to `^6.0.0`. -- f95af4e540: Updated dependency `@testing-library/dom` to `^9.0.0`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.5 - - @backstage/test-utils@1.4.4 - - @backstage/core-plugin-api@1.7.0 - - @backstage/core-components@0.13.6 - - @backstage/catalog-model@1.4.3 - - @backstage/dev-utils@1.0.22 - - @backstage/theme@0.4.3 - -## 0.3.25-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.6-next.2 - - @backstage/core-plugin-api@1.7.0-next.1 - - @backstage/catalog-model@1.4.3-next.0 - - @backstage/plugin-catalog-react@1.8.5-next.2 - - @backstage/theme@0.4.3-next.0 - - @backstage/dev-utils@1.0.22-next.2 - - @backstage/test-utils@1.4.4-next.2 - -## 0.3.25-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.6-next.1 - - @backstage/test-utils@1.4.4-next.1 - - @backstage/dev-utils@1.0.22-next.1 - - @backstage/plugin-catalog-react@1.8.5-next.1 - - @backstage/core-plugin-api@1.7.0-next.0 - - @backstage/catalog-model@1.4.2 - - @backstage/theme@0.4.2 - -## 0.3.25-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.5-next.0 - - @backstage/test-utils@1.4.4-next.0 - - @backstage/core-plugin-api@1.7.0-next.0 - - @backstage/core-components@0.13.6-next.0 - - @backstage/dev-utils@1.0.22-next.0 - - @backstage/catalog-model@1.4.2 - - @backstage/theme@0.4.2 - -## 0.3.24 - -### Patch Changes - -- 482bb5c0bbf8: Moved `@types/react` to be a regular dependency -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- 8cec7664e146: Removed `@types/node` dependency -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.4 - - @backstage/core-components@0.13.5 - - @backstage/test-utils@1.4.3 - - @backstage/catalog-model@1.4.2 - - @backstage/core-plugin-api@1.6.0 - - @backstage/dev-utils@1.0.21 - - @backstage/theme@0.4.2 - -## 0.3.24-next.3 - -### Patch Changes - -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- Updated dependencies - - @backstage/test-utils@1.4.3-next.3 - - @backstage/catalog-model@1.4.2-next.2 - - @backstage/core-components@0.13.5-next.3 - - @backstage/core-plugin-api@1.6.0-next.3 - - @backstage/dev-utils@1.0.21-next.3 - - @backstage/plugin-catalog-react@1.8.4-next.3 - - @backstage/theme@0.4.2-next.0 - -## 0.3.24-next.2 - -### Patch Changes - -- 8cec7664e146: Removed `@types/node` dependency -- Updated dependencies - - @backstage/core-components@0.13.5-next.2 - - @backstage/core-plugin-api@1.6.0-next.2 - - @backstage/test-utils@1.4.3-next.2 - - @backstage/dev-utils@1.0.21-next.2 - - @backstage/plugin-catalog-react@1.8.4-next.2 - - @backstage/catalog-model@1.4.2-next.1 - - @backstage/theme@0.4.1 - -## 0.3.24-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.4-next.1 - - @backstage/core-components@0.13.5-next.1 - - @backstage/dev-utils@1.0.21-next.1 - - @backstage/catalog-model@1.4.2-next.0 - - @backstage/core-plugin-api@1.6.0-next.1 - - @backstage/test-utils@1.4.3-next.1 - - @backstage/theme@0.4.1 - -## 0.3.23-next.0 - -### Patch Changes - -- 482bb5c0bbf8: Moved `@types/react` to be a regular dependency -- Updated dependencies - - @backstage/core-plugin-api@1.6.0-next.0 - - @backstage/core-components@0.13.5-next.0 - - @backstage/dev-utils@1.0.20-next.0 - - @backstage/catalog-model@1.4.1 - - @backstage/test-utils@1.4.3-next.0 - - @backstage/theme@0.4.1 - - @backstage/plugin-catalog-react@1.8.3-next.0 - -## 0.3.21 - -### Patch Changes - -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/dev-utils@1.0.18 - - @backstage/core-components@0.13.4 - - @backstage/plugin-catalog-react@1.8.1 - - @backstage/core-plugin-api@1.5.3 - - @backstage/test-utils@1.4.2 - - @backstage/catalog-model@1.4.1 - - @backstage/theme@0.4.1 - -## 0.3.21-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.1-next.1 - - @backstage/dev-utils@1.0.18-next.2 - -## 0.3.21-next.1 - -### Patch Changes - -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/dev-utils@1.0.18-next.1 - - @backstage/catalog-model@1.4.1 - - @backstage/core-components@0.13.4-next.0 - - @backstage/core-plugin-api@1.5.3 - - @backstage/test-utils@1.4.2-next.0 - - @backstage/theme@0.4.1 - - @backstage/plugin-catalog-react@1.8.1-next.0 - -## 0.3.21-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.4-next.0 - - @backstage/core-plugin-api@1.5.3 - - @backstage/dev-utils@1.0.18-next.0 - - @backstage/test-utils@1.4.2-next.0 - - @backstage/plugin-catalog-react@1.8.1-next.0 - - @backstage/catalog-model@1.4.1 - - @backstage/theme@0.4.1 - -## 0.3.20 - -### Patch Changes - -- 7b6033587650: Added documentation for the [new backend system](https://backstage.io/docs/backend-system/) -- Updated dependencies - - @backstage/theme@0.4.1 - - @backstage/plugin-catalog-react@1.8.0 - - @backstage/core-components@0.13.3 - - @backstage/test-utils@1.4.1 - - @backstage/core-plugin-api@1.5.3 - - @backstage/catalog-model@1.4.1 - - @backstage/dev-utils@1.0.17 - -## 0.3.20-next.2 - -### Patch Changes - -- 7b6033587650: Added documentation for the [new backend system](https://backstage.io/docs/backend-system/) -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.0-next.2 - - @backstage/theme@0.4.1-next.1 - - @backstage/test-utils@1.4.1-next.2 - - @backstage/core-plugin-api@1.5.3-next.1 - - @backstage/core-components@0.13.3-next.2 - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/dev-utils@1.0.17-next.2 - -## 0.3.20-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.4.1-next.0 - - @backstage/core-components@0.13.3-next.1 - - @backstage/core-plugin-api@1.5.3-next.0 - - @backstage/dev-utils@1.0.17-next.1 - - @backstage/test-utils@1.4.1-next.1 - - @backstage/plugin-catalog-react@1.7.1-next.1 - -## 0.3.20-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.3-next.0 - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/core-plugin-api@1.5.2 - - @backstage/dev-utils@1.0.17-next.0 - - @backstage/test-utils@1.4.1-next.0 - - @backstage/theme@0.4.0 - - @backstage/plugin-catalog-react@1.7.1-next.0 - -## 0.3.19 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.5.2 - - @backstage/core-components@0.13.2 - - @backstage/theme@0.4.0 - - @backstage/plugin-catalog-react@1.7.0 - - @backstage/catalog-model@1.4.0 - - @backstage/test-utils@1.4.0 - - @backstage/dev-utils@1.0.16 - -## 0.3.19-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.2-next.3 - - @backstage/catalog-model@1.4.0-next.1 - - @backstage/core-plugin-api@1.5.2-next.0 - - @backstage/dev-utils@1.0.16-next.3 - - @backstage/test-utils@1.4.0-next.2 - - @backstage/theme@0.4.0-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.3 - -## 0.3.19-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.4.0-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.2 - - @backstage/core-components@0.13.2-next.2 - - @backstage/dev-utils@1.0.16-next.2 - - @backstage/test-utils@1.4.0-next.2 - - @backstage/core-plugin-api@1.5.2-next.0 - -## 0.3.19-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.2-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.1 - - @backstage/catalog-model@1.4.0-next.0 - - @backstage/core-plugin-api@1.5.2-next.0 - - @backstage/dev-utils@1.0.16-next.1 - - @backstage/test-utils@1.4.0-next.1 - - @backstage/theme@0.4.0-next.0 - -## 0.3.19-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.7.0-next.0 - - @backstage/test-utils@1.4.0-next.0 - - @backstage/theme@0.4.0-next.0 - - @backstage/dev-utils@1.0.16-next.0 - - @backstage/core-components@0.13.2-next.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/catalog-model@1.3.0 - -## 0.3.18 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.3.0 - - @backstage/plugin-catalog-react@1.6.0 - - @backstage/core-components@0.13.1 - - @backstage/dev-utils@1.0.15 - - @backstage/test-utils@1.3.1 - - @backstage/catalog-model@1.3.0 - - @backstage/core-plugin-api@1.5.1 - -## 0.3.18-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.3.0-next.0 - - @backstage/core-components@0.13.1-next.1 - - @backstage/dev-utils@1.0.15-next.2 - - @backstage/test-utils@1.3.1-next.2 - - @backstage/plugin-catalog-react@1.6.0-next.2 - - @backstage/core-plugin-api@1.5.1 - -## 0.3.18-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.1-next.0 - - @backstage/dev-utils@1.0.15-next.1 - - @backstage/core-plugin-api@1.5.1 - - @backstage/test-utils@1.3.1-next.1 - - @backstage/plugin-catalog-react@1.6.0-next.1 - -## 0.3.18-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.6.0-next.0 - - @backstage/dev-utils@1.0.15-next.0 - - @backstage/core-components@0.13.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/test-utils@1.3.1-next.0 - - @backstage/catalog-model@1.3.0 - - @backstage/theme@0.2.19 - -## 0.3.17 - -### Patch Changes - -- 7d75f6d9b8f: chore: Improve API Reference documentation -- 8e00acb28db: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs) -- e0c6e8b9c3c: Update peer dependencies -- Updated dependencies - - @backstage/core-components@0.13.0 - - @backstage/plugin-catalog-react@1.5.0 - - @backstage/test-utils@1.3.0 - - @backstage/theme@0.2.19 - - @backstage/core-plugin-api@1.5.1 - - @backstage/catalog-model@1.3.0 - - @backstage/dev-utils@1.0.14 - -## 0.3.17-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.5.0-next.3 - - @backstage/catalog-model@1.3.0-next.0 - - @backstage/core-components@0.13.0-next.3 - - @backstage/core-plugin-api@1.5.1-next.1 - - @backstage/dev-utils@1.0.14-next.3 - - @backstage/test-utils@1.3.0-next.3 - - @backstage/theme@0.2.19-next.0 - -## 0.3.17-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.6-next.2 - - @backstage/plugin-catalog-react@1.4.1-next.2 - - @backstage/core-plugin-api@1.5.1-next.1 - - @backstage/catalog-model@1.2.1 - - @backstage/dev-utils@1.0.14-next.2 - - @backstage/test-utils@1.3.0-next.2 - - @backstage/theme@0.2.19-next.0 - -## 0.3.17-next.1 - -### Patch Changes - -- 7d75f6d9b8f: chore: Improve API Reference documentation -- e0c6e8b9c3c: Update peer dependencies -- Updated dependencies - - @backstage/core-components@0.12.6-next.1 - - @backstage/core-plugin-api@1.5.1-next.0 - - @backstage/plugin-catalog-react@1.4.1-next.1 - - @backstage/test-utils@1.3.0-next.1 - - @backstage/dev-utils@1.0.14-next.1 - - @backstage/theme@0.2.19-next.0 - - @backstage/catalog-model@1.2.1 - -## 0.3.17-next.0 - -### Patch Changes - -- 8e00acb28db: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs) -- Updated dependencies - - @backstage/core-components@0.12.6-next.0 - - @backstage/test-utils@1.3.0-next.0 - - @backstage/plugin-catalog-react@1.4.1-next.0 - - @backstage/dev-utils@1.0.14-next.0 - - @backstage/core-plugin-api@1.5.0 - - @backstage/catalog-model@1.2.1 - - @backstage/theme@0.2.18 - -## 0.3.16 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/core-components@0.12.5 - - @backstage/plugin-catalog-react@1.4.0 - - @backstage/core-plugin-api@1.5.0 - - @backstage/catalog-model@1.2.1 - - @backstage/test-utils@1.2.6 - - @backstage/dev-utils@1.0.13 - - @backstage/theme@0.2.18 - -## 0.3.16-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.5-next.2 - - @backstage/plugin-catalog-react@1.4.0-next.2 - - @backstage/core-plugin-api@1.5.0-next.2 - - @backstage/dev-utils@1.0.13-next.2 - - @backstage/test-utils@1.2.6-next.2 - -## 0.3.16-next.1 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/core-components@0.12.5-next.1 - - @backstage/core-plugin-api@1.4.1-next.1 - - @backstage/test-utils@1.2.6-next.1 - - @backstage/dev-utils@1.0.13-next.1 - - @backstage/theme@0.2.18-next.0 - - @backstage/plugin-catalog-react@1.4.0-next.1 - - @backstage/catalog-model@1.2.1-next.1 - -## 0.3.16-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.4.0-next.0 - - @backstage/core-plugin-api@1.4.1-next.0 - - @backstage/catalog-model@1.2.1-next.0 - - @backstage/test-utils@1.2.6-next.0 - - @backstage/core-components@0.12.5-next.0 - - @backstage/dev-utils@1.0.13-next.0 - - @backstage/theme@0.2.17 - -## 0.3.15 - -### Patch Changes - -- 41377156d0: Adds a boolean helper function to airbrake plugin for use on the EntityPage to show/hide airbrake tab depending on whether the entity's `catalog-info.yaml` has an airbrake id set in the metadata -- Updated dependencies - - @backstage/core-components@0.12.4 - - @backstage/catalog-model@1.2.0 - - @backstage/theme@0.2.17 - - @backstage/core-plugin-api@1.4.0 - - @backstage/plugin-catalog-react@1.3.0 - - @backstage/dev-utils@1.0.12 - - @backstage/test-utils@1.2.5 - -## 0.3.15-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.2.0-next.1 - - @backstage/core-components@0.12.4-next.1 - - @backstage/core-plugin-api@1.3.0 - - @backstage/dev-utils@1.0.12-next.2 - - @backstage/test-utils@1.2.5-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.3.0-next.2 - -## 0.3.15-next.1 - -### Patch Changes - -- 41377156d0: Adds a boolean helper function to airbrake plugin for use on the EntityPage to show/hide airbrake tab depending on whether the entity's catalog-info.yml has an airbrake id set in the metadata -- Updated dependencies - - @backstage/core-components@0.12.4-next.0 - - @backstage/plugin-catalog-react@1.3.0-next.1 - - @backstage/catalog-model@1.1.6-next.0 - - @backstage/core-plugin-api@1.3.0 - - @backstage/dev-utils@1.0.12-next.1 - - @backstage/test-utils@1.2.5-next.0 - - @backstage/theme@0.2.16 - -## 0.3.15-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.3.0-next.0 - - @backstage/catalog-model@1.1.6-next.0 - - @backstage/dev-utils@1.0.12-next.0 - -## 0.3.14 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5 - - @backstage/plugin-catalog-react@1.2.4 - - @backstage/core-components@0.12.3 - - @backstage/core-plugin-api@1.3.0 - - @backstage/dev-utils@1.0.11 - - @backstage/test-utils@1.2.4 - - @backstage/theme@0.2.16 - -## 0.3.14-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.3.0-next.1 - - @backstage/plugin-catalog-react@1.2.4-next.2 - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/core-components@0.12.3-next.2 - - @backstage/dev-utils@1.0.11-next.2 - - @backstage/test-utils@1.2.4-next.1 - - @backstage/theme@0.2.16 - -## 0.3.14-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/core-components@0.12.3-next.1 - - @backstage/core-plugin-api@1.2.1-next.0 - - @backstage/dev-utils@1.0.11-next.1 - - @backstage/test-utils@1.2.4-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.2.4-next.1 - -## 0.3.14-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.0 - - @backstage/plugin-catalog-react@1.2.4-next.0 - - @backstage/core-components@0.12.3-next.0 - - @backstage/core-plugin-api@1.2.0 - - @backstage/dev-utils@1.0.11-next.0 - - @backstage/test-utils@1.2.3 - - @backstage/theme@0.2.16 - -## 0.3.13 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.2 - - @backstage/dev-utils@1.0.10 - - @backstage/plugin-catalog-react@1.2.3 - -## 0.3.12 - -### Patch Changes - -- 2e701b3796: Internal refactor to use `react-router-dom` rather than `react-router`. -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- 151c0e1477: Remove the `object-hash` dependency -- Updated dependencies - - @backstage/core-plugin-api@1.2.0 - - @backstage/core-components@0.12.1 - - @backstage/test-utils@1.2.3 - - @backstage/dev-utils@1.0.9 - - @backstage/plugin-catalog-react@1.2.2 - - @backstage/catalog-model@1.1.4 - - @backstage/theme@0.2.16 - -## 0.3.12-next.4 - -### Patch Changes - -- 2e701b3796: Internal refactor to use `react-router-dom` rather than `react-router`. -- Updated dependencies - - @backstage/core-components@0.12.1-next.4 - - @backstage/dev-utils@1.0.9-next.4 - - @backstage/test-utils@1.2.3-next.4 - - @backstage/plugin-catalog-react@1.2.2-next.4 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/theme@0.2.16 - -## 0.3.12-next.3 - -### Patch Changes - -- 151c0e1477: Remove the `object-hash` dependency -- Updated dependencies - - @backstage/core-components@0.12.1-next.3 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/dev-utils@1.0.9-next.3 - - @backstage/test-utils@1.2.3-next.3 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.2.2-next.3 - -## 0.3.12-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/core-components@0.12.1-next.2 - - @backstage/plugin-catalog-react@1.2.2-next.2 - - @backstage/dev-utils@1.0.9-next.2 - - @backstage/test-utils@1.2.3-next.2 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/theme@0.2.16 - -## 0.3.12-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.1-next.1 - - @backstage/test-utils@1.2.3-next.1 - - @backstage/core-plugin-api@1.1.1-next.1 - - @backstage/dev-utils@1.0.9-next.1 - - @backstage/plugin-catalog-react@1.2.2-next.1 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/theme@0.2.16 - -## 0.3.12-next.0 - -### Patch Changes - -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/core-components@0.12.1-next.0 - - @backstage/core-plugin-api@1.1.1-next.0 - - @backstage/test-utils@1.2.3-next.0 - - @backstage/dev-utils@1.0.9-next.0 - - @backstage/plugin-catalog-react@1.2.2-next.0 - - @backstage/catalog-model@1.1.4-next.0 - - @backstage/theme@0.2.16 - -## 0.3.11 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.1 - - @backstage/core-components@0.12.0 - - @backstage/core-plugin-api@1.1.0 - - @backstage/catalog-model@1.1.3 - - @backstage/dev-utils@1.0.8 - - @backstage/test-utils@1.2.2 - - @backstage/theme@0.2.16 - -## 0.3.11-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.0-next.1 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/core-plugin-api@1.1.0-next.0 - - @backstage/dev-utils@1.0.8-next.1 - - @backstage/test-utils@1.2.2-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.2.1-next.1 - -## 0.3.11-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.1-next.0 - - @backstage/core-components@0.12.0-next.0 - - @backstage/core-plugin-api@1.1.0-next.0 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/dev-utils@1.0.8-next.0 - - @backstage/test-utils@1.2.2-next.0 - - @backstage/theme@0.2.16 - -## 0.3.10 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2 - - @backstage/plugin-catalog-react@1.2.0 - - @backstage/core-components@0.11.2 - - @backstage/test-utils@1.2.1 - - @backstage/dev-utils@1.0.7 - - @backstage/core-plugin-api@1.0.7 - - @backstage/theme@0.2.16 - -## 0.3.10-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.0-next.2 - - @backstage/test-utils@1.2.1-next.2 - - @backstage/catalog-model@1.1.2-next.2 - - @backstage/core-components@0.11.2-next.2 - - @backstage/core-plugin-api@1.0.7-next.2 - - @backstage/dev-utils@1.0.7-next.2 - - @backstage/theme@0.2.16 - -## 0.3.10-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.0-next.1 - - @backstage/dev-utils@1.0.7-next.1 - - @backstage/core-components@0.11.2-next.1 - - @backstage/core-plugin-api@1.0.7-next.1 - - @backstage/test-utils@1.2.1-next.1 - - @backstage/catalog-model@1.1.2-next.1 - - @backstage/theme@0.2.16 - -## 0.3.10-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2-next.0 - - @backstage/core-components@0.11.2-next.0 - - @backstage/test-utils@1.2.1-next.0 - - @backstage/dev-utils@1.0.7-next.0 - - @backstage/plugin-catalog-react@1.1.5-next.0 - - @backstage/core-plugin-api@1.0.7-next.0 - - @backstage/theme@0.2.16 - -## 0.3.9 - -### Patch Changes - -- 817f3196f6: Updated React Router dependencies to be peer dependencies. -- 7d47def9c4: Removed dependency on `@types/jest`. -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- Updated dependencies - - @backstage/core-components@0.11.1 - - @backstage/core-plugin-api@1.0.6 - - @backstage/dev-utils@1.0.6 - - @backstage/test-utils@1.2.0 - - @backstage/plugin-catalog-react@1.1.4 - - @backstage/catalog-model@1.1.1 - -## 0.3.9-next.3 - -### Patch Changes - -- 7d47def9c4: Removed dependency on `@types/jest`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.4-next.2 - - @backstage/catalog-model@1.1.1-next.0 - - @backstage/core-components@0.11.1-next.3 - - @backstage/core-plugin-api@1.0.6-next.3 - - @backstage/dev-utils@1.0.6-next.2 - - @backstage/test-utils@1.2.0-next.3 - -## 0.3.9-next.2 - -### Patch Changes - -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- Updated dependencies - - @backstage/core-components@0.11.1-next.2 - - @backstage/core-plugin-api@1.0.6-next.2 - - @backstage/test-utils@1.2.0-next.2 - -## 0.3.9-next.1 - -### Patch Changes - -- 817f3196f6: Updated React Router dependencies to be peer dependencies. -- Updated dependencies - - @backstage/core-components@0.11.1-next.1 - - @backstage/core-plugin-api@1.0.6-next.1 - - @backstage/dev-utils@1.0.6-next.1 - - @backstage/test-utils@1.2.0-next.1 - - @backstage/plugin-catalog-react@1.1.4-next.1 - -## 0.3.9-next.0 - -### Patch Changes - -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- Updated dependencies - - @backstage/core-plugin-api@1.0.6-next.0 - - @backstage/core-components@0.11.1-next.0 - - @backstage/test-utils@1.1.4-next.0 - - @backstage/dev-utils@1.0.6-next.0 - - @backstage/plugin-catalog-react@1.1.4-next.0 - -## 0.3.8 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.11.0 - - @backstage/core-plugin-api@1.0.5 - - @backstage/plugin-catalog-react@1.1.3 - - @backstage/dev-utils@1.0.5 - - @backstage/test-utils@1.1.3 - -## 0.3.8-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.3-next.2 - - @backstage/core-components@0.11.0-next.2 - - @backstage/dev-utils@1.0.5-next.1 - -## 0.3.8-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.0.5-next.0 - - @backstage/plugin-catalog-react@1.1.3-next.0 - - @backstage/core-components@0.10.1-next.0 - - @backstage/dev-utils@1.0.5-next.0 - - @backstage/test-utils@1.1.3-next.0 - -## 0.3.7 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- 8006d0f9bf: Updated dependency `msw` to `^0.44.0`. -- Updated dependencies - - @backstage/core-components@0.10.0 - - @backstage/catalog-model@1.1.0 - - @backstage/core-plugin-api@1.0.4 - - @backstage/test-utils@1.1.2 - - @backstage/plugin-catalog-react@1.1.2 - - @backstage/theme@0.2.16 - - @backstage/dev-utils@1.0.4 - -## 0.3.7-next.3 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- Updated dependencies - - @backstage/core-plugin-api@1.0.4-next.0 - - @backstage/core-components@0.10.0-next.3 - - @backstage/test-utils@1.1.2-next.2 - - @backstage/catalog-model@1.1.0-next.3 - - @backstage/plugin-catalog-react@1.1.2-next.3 - - @backstage/dev-utils@1.0.4-next.3 - -## 0.3.7-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.10.0-next.2 - - @backstage/catalog-model@1.1.0-next.2 - - @backstage/theme@0.2.16-next.1 - - @backstage/plugin-catalog-react@1.1.2-next.2 - - @backstage/dev-utils@1.0.4-next.2 - -## 0.3.7-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.6-next.1 - - @backstage/catalog-model@1.1.0-next.1 - - @backstage/theme@0.2.16-next.0 - - @backstage/dev-utils@1.0.4-next.1 - - @backstage/test-utils@1.1.2-next.1 - - @backstage/plugin-catalog-react@1.1.2-next.1 - -## 0.3.7-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.0-next.0 - - @backstage/core-components@0.9.6-next.0 - - @backstage/dev-utils@1.0.4-next.0 - - @backstage/plugin-catalog-react@1.1.2-next.0 - - @backstage/test-utils@1.1.2-next.0 - -## 0.3.6 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.1 - - @backstage/core-components@0.9.5 - - @backstage/core-plugin-api@1.0.3 - - @backstage/test-utils@1.1.1 - - @backstage/catalog-model@1.0.3 - - @backstage/dev-utils@1.0.3 - -## 0.3.6-next.1 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/core-components@0.9.5-next.1 - - @backstage/core-plugin-api@1.0.3-next.0 - - @backstage/test-utils@1.1.1-next.0 - - @backstage/catalog-model@1.0.3-next.0 - - @backstage/plugin-catalog-react@1.1.1-next.1 - - @backstage/dev-utils@1.0.3-next.1 - -## 0.3.6-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.1-next.0 - - @backstage/core-components@0.9.5-next.0 - - @backstage/dev-utils@1.0.3-next.0 - -## 0.3.5 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4 - - @backstage/test-utils@1.1.0 - - @backstage/core-plugin-api@1.0.2 - - @backstage/plugin-catalog-react@1.1.0 - - @backstage/dev-utils@1.0.2 - - @backstage/catalog-model@1.0.2 - -## 0.3.5-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4-next.1 - - @backstage/dev-utils@1.0.2-next.2 - - @backstage/plugin-catalog-react@1.1.0-next.2 - - @backstage/catalog-model@1.0.2-next.0 - - @backstage/core-plugin-api@1.0.2-next.1 - - @backstage/test-utils@1.1.0-next.2 - -## 0.3.5-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4-next.0 - - @backstage/test-utils@1.1.0-next.1 - - @backstage/core-plugin-api@1.0.2-next.0 - - @backstage/plugin-catalog-react@1.1.0-next.1 - - @backstage/dev-utils@1.0.2-next.1 - -## 0.3.5-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.0-next.0 - - @backstage/test-utils@1.0.2-next.0 - - @backstage/dev-utils@1.0.2-next.0 - -## 0.3.4 - -### Patch Changes - -- 24254fd433: build(deps): bump `@testing-library/user-event` from 13.5.0 to 14.0.0 -- 230ad0826f: Bump to using `@types/node` v16 -- Updated dependencies - - @backstage/plugin-catalog-react@1.0.1 - - @backstage/catalog-model@1.0.1 - - @backstage/core-components@0.9.3 - - @backstage/core-plugin-api@1.0.1 - - @backstage/dev-utils@1.0.1 - - @backstage/test-utils@1.0.1 - -## 0.3.4-next.1 - -### Patch Changes - -- 24254fd433: build(deps): bump `@testing-library/user-event` from 13.5.0 to 14.0.0 -- 230ad0826f: Bump to using `@types/node` v16 -- Updated dependencies - - @backstage/core-components@0.9.3-next.2 - - @backstage/core-plugin-api@1.0.1-next.0 - - @backstage/dev-utils@1.0.1-next.1 - - @backstage/test-utils@1.0.1-next.2 - - @backstage/plugin-catalog-react@1.0.1-next.3 - -## 0.3.4-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.0.1-next.0 - - @backstage/plugin-catalog-react@1.0.1-next.0 - - @backstage/core-components@0.9.3-next.0 - - @backstage/dev-utils@1.0.1-next.0 - - @backstage/test-utils@1.0.1-next.0 - -## 0.3.3 - -### Patch Changes - -- 89c7e47967: Minor README update -- 7ff853b2d5: build(deps): bump `object-hash` from 2.2.0 to 3.0.0 -- a422d7ce5e: chore(deps): bump `@testing-library/react` from 11.2.6 to 12.1.3 -- Updated dependencies - - @backstage/core-components@0.9.2 - - @backstage/core-plugin-api@1.0.0 - - @backstage/dev-utils@1.0.0 - - @backstage/test-utils@1.0.0 - - @backstage/plugin-catalog-react@1.0.0 - - @backstage/catalog-model@1.0.0 - -## 0.3.2 - -### Patch Changes - -- c5a462bff1: Fix a bug where API calls were being made and errors were being added to the snack bar when no project ID was present. This is a common use case for components that haven't added the Airbrake plugin annotation to their `catalog-info.yaml`. -- Updated dependencies - - @backstage/plugin-catalog-react@0.9.0 - - @backstage/core-components@0.9.1 - - @backstage/catalog-model@0.13.0 - - @backstage/dev-utils@0.2.25 - -## 0.3.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@0.9.0-next.0 - - @backstage/core-components@0.9.1-next.0 - - @backstage/catalog-model@0.13.0-next.0 - - @backstage/dev-utils@0.2.25-next.0 - -## 0.3.1 - -### Patch Changes - -- 3c1d3cb07e: The Airbrake plugin installation instructions have been updated to work better and conform to how the frontend and backend plugins are supposed to be integrated into a Backstage instance. -- Updated dependencies - - @backstage/catalog-model@0.12.0 - - @backstage/core-components@0.9.0 - - @backstage/plugin-catalog-react@0.8.0 - - @backstage/core-plugin-api@0.8.0 - - @backstage/test-utils@0.3.0 - - @backstage/dev-utils@0.2.24 - -## 0.3.0 - -### Minor Changes - -- da78e79a94: This marks the first release where the Airbrake plugin is useable. Airbrake frontend and Airbrake backend work with each other. Currently just a summary of the latest Airbrakes is shown on Backstage. - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.10 - - @backstage/plugin-catalog-react@0.7.0 - - @backstage/catalog-model@0.11.0 - - @backstage/core-plugin-api@0.7.0 - - @backstage/dev-utils@0.2.23 - - @backstage/test-utils@0.2.6 - -## 0.2.0 - -### Minor Changes - -- 9e505d20a3: API connectivity has added, but currently will only work by running it standalone on a browser with CORS disabled. - -### Patch Changes - -- 1ed305728b: Bump `node-fetch` to version 2.6.7 and `cross-fetch` to version 3.1.5 -- c77c5c7eb6: Added `backstage.role` to `package.json` -- Updated dependencies - - @backstage/core-components@0.8.9 - - @backstage/core-plugin-api@0.6.1 - - @backstage/test-utils@0.2.5 - - @backstage/plugin-catalog-react@0.6.15 - - @backstage/catalog-model@0.10.0 - - @backstage/dev-utils@0.2.22 - - @backstage/theme@0.2.15 - -## 0.1.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.8 - -## 0.1.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.8-next.0 - -## 0.1.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.7 - -## 0.1.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.7-next.0 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.5 - - @backstage/core-plugin-api@0.6.0 - -## 0.1.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.5-next.0 - - @backstage/core-plugin-api@0.6.0-next.0 - -## 0.1.0 - -### Minor Changes - -- 04c86e5a10: A plugin for Airbrake (https://airbrake.io/) has been created - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.4 - - @backstage/core-plugin-api@0.5.0 diff --git a/plugins/airbrake/README.md b/plugins/airbrake/README.md deleted file mode 100644 index 0dff15fa88..0000000000 --- a/plugins/airbrake/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Deprecated - -This package has been moved to the [backstage-community/plugins](https://github.com/backstage/community-plugins) repository. Migrate to using `@backstage-community/plugin-airbrake` instead. diff --git a/plugins/airbrake/api-report.md b/plugins/airbrake/api-report.md deleted file mode 100644 index 66f9b19bc8..0000000000 --- a/plugins/airbrake/api-report.md +++ /dev/null @@ -1,24 +0,0 @@ -## API Report File for "@backstage/plugin-airbrake" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -import { BackstagePlugin } from '@backstage/core-plugin-api'; -import { Entity } from '@backstage/catalog-model'; -import { default as React_2 } from 'react'; -import { RouteRef } from '@backstage/core-plugin-api'; - -// @public -export const airbrakePlugin: BackstagePlugin< - { - root: RouteRef; - }, - {} ->; - -// @public -export const EntityAirbrakeContent: () => React_2.JSX.Element; - -// @public -export const isAirbrakeAvailable: (entity: Entity) => boolean; -``` diff --git a/plugins/airbrake/catalog-info.yaml b/plugins/airbrake/catalog-info.yaml deleted file mode 100644 index d1eac0d04e..0000000000 --- a/plugins/airbrake/catalog-info.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: backstage-plugin-airbrake - title: '@backstage/plugin-airbrake' -spec: - lifecycle: experimental - type: backstage-frontend-plugin - owner: maintainers diff --git a/plugins/airbrake/dev/components/ApiBar/ApiBar.tsx b/plugins/airbrake/dev/components/ApiBar/ApiBar.tsx deleted file mode 100644 index f75bc4160f..0000000000 --- a/plugins/airbrake/dev/components/ApiBar/ApiBar.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2022 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 TextField from '@material-ui/core/TextField'; -import { makeStyles } from '@material-ui/core/styles'; -import { Context } from '../ContextProvider'; - -const useStyles = makeStyles(theme => ({ - root: { - display: 'flex', - gap: '1em', - flexWrap: 'wrap', - }, - label: { - color: `${theme.palette.common.white} !important`, - }, - outline: { - color: `${theme.palette.common.white} !important`, - borderColor: `${theme.palette.common.white} !important`, - }, -})); - -export const ApiBar = () => { - const classes = useStyles(); - - return ( - - {value => ( -
- - value.setProjectId?.(parseInt(e.target.value, 10) || undefined) - } - /> -
- )} -
- ); -}; diff --git a/plugins/airbrake/dev/components/ApiBar/index.ts b/plugins/airbrake/dev/components/ApiBar/index.ts deleted file mode 100644 index ff6e80d3d8..0000000000 --- a/plugins/airbrake/dev/components/ApiBar/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2020 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. - */ - -export { ApiBar } from './ApiBar'; diff --git a/plugins/airbrake/dev/components/ContextProvider/ContextProvider.tsx b/plugins/airbrake/dev/components/ContextProvider/ContextProvider.tsx deleted file mode 100644 index d46366d8f6..0000000000 --- a/plugins/airbrake/dev/components/ContextProvider/ContextProvider.tsx +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2022 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, { - Dispatch, - PropsWithChildren, - SetStateAction, - useState, -} from 'react'; - -interface ContextInterface { - projectId?: number; - setProjectId?: Dispatch>; -} - -export const Context = React.createContext({}); - -export const ContextProvider = ({ children }: PropsWithChildren<{}>) => { - const [projectId, setProjectId] = useState(); - - return ( - - {children} - - ); -}; diff --git a/plugins/airbrake/dev/components/ContextProvider/index.ts b/plugins/airbrake/dev/components/ContextProvider/index.ts deleted file mode 100644 index f1e350868a..0000000000 --- a/plugins/airbrake/dev/components/ContextProvider/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2020 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. - */ - -export { ContextProvider, Context } from './ContextProvider'; diff --git a/plugins/airbrake/dev/index.tsx b/plugins/airbrake/dev/index.tsx deleted file mode 100644 index a844dfdfdc..0000000000 --- a/plugins/airbrake/dev/index.tsx +++ /dev/null @@ -1,88 +0,0 @@ -/* - * 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 { createDevApp } from '@backstage/dev-utils'; -import { TestApiProvider } from '@backstage/test-utils'; -import { airbrakePlugin, EntityAirbrakeContent } from '../src'; -import { - airbrakeApiRef, - localDiscoveryApi, - MockAirbrakeApi, - ProductionAirbrakeApi, -} from '../src/api'; -import { ApiBar } from './components/ApiBar'; -import { Content, Header, Page } from '@backstage/core-components'; -import { EntityProvider } from '@backstage/plugin-catalog-react'; -import { createEntity } from '../src/api'; -import CloudOffIcon from '@material-ui/icons/CloudOff'; -import CloudIcon from '@material-ui/icons/Cloud'; -import { Context, ContextProvider } from './components/ContextProvider'; - -createDevApp() - .registerPlugin(airbrakePlugin) - .addPage({ - element: ( - -
- - - - - - - - - ), - title: 'Mock API', - path: '/airbrake-mock-api', - icon: CloudOffIcon, - }) - .addPage({ - element: ( - - -
- -
- - - {value => ( - - - - - - )} - - -
-
- ), - title: 'Real API', - path: '/airbrake-real-api', - icon: CloudIcon, - }) - .render(); diff --git a/plugins/airbrake/knip-report.md b/plugins/airbrake/knip-report.md deleted file mode 100644 index 2e539d1e56..0000000000 --- a/plugins/airbrake/knip-report.md +++ /dev/null @@ -1,10 +0,0 @@ -# Knip report - -## Unused devDependencies (3) - -| Name | Location | Severity | -| :---------------------- | :----------- | :------- | -| @backstage/app-defaults | package.json | error | -| @testing-library/react | package.json | error | -| @testing-library/dom | package.json | error | - diff --git a/plugins/airbrake/package.json b/plugins/airbrake/package.json deleted file mode 100644 index 48155c20e9..0000000000 --- a/plugins/airbrake/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "name": "@backstage/plugin-airbrake", - "version": "0.3.34", - "backstage": { - "role": "frontend-plugin", - "moved": "@backstage-community/plugin-airbrake" - }, - "publishConfig": { - "access": "public", - "main": "dist/index.esm.js", - "types": "dist/index.d.ts" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/airbrake" - }, - "license": "Apache-2.0", - "sideEffects": false, - "main": "src/index.ts", - "types": "src/index.ts", - "files": [ - "dist" - ], - "scripts": { - "build": "backstage-cli package build", - "clean": "backstage-cli package clean", - "lint": "backstage-cli package lint", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack", - "start": "backstage-cli package start", - "test": "backstage-cli package test" - }, - "dependencies": { - "@backstage/catalog-model": "workspace:^", - "@backstage/core-components": "workspace:^", - "@backstage/core-plugin-api": "workspace:^", - "@backstage/dev-utils": "workspace:^", - "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/test-utils": "workspace:^", - "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-use": "^17.2.4" - }, - "devDependencies": { - "@backstage/app-defaults": "workspace:^", - "@backstage/cli": "workspace:^", - "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", - "@testing-library/dom": "^10.0.0", - "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^15.0.0", - "msw": "^1.0.0" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-router-dom": "6.0.0-beta.0 || ^6.3.0" - }, - "deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-airbrake instead." -} diff --git a/plugins/airbrake/src/api/AirbrakeApi.ts b/plugins/airbrake/src/api/AirbrakeApi.ts deleted file mode 100644 index a29aa3eca7..0000000000 --- a/plugins/airbrake/src/api/AirbrakeApi.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2020 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 { Groups } from './airbrakeGroups'; -import { createApiRef } from '@backstage/core-plugin-api'; - -export const airbrakeApiRef = createApiRef({ - id: 'plugin.airbrake.service', -}); - -export interface AirbrakeApi { - fetchGroups(projectId: string): Promise; -} diff --git a/plugins/airbrake/src/api/ProductionApi.test.ts b/plugins/airbrake/src/api/ProductionApi.test.ts deleted file mode 100644 index 92593e42bc..0000000000 --- a/plugins/airbrake/src/api/ProductionApi.test.ts +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2022 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 { ProductionAirbrakeApi } from './ProductionApi'; -import { rest } from 'msw'; -import mockGroupsData from './mock/airbrakeGroupsApiMock.json'; -import { setupServer } from 'msw/node'; -import { setupRequestMockHandlers } from '@backstage/test-utils'; -import { localDiscoveryApi } from './mock'; - -describe('The production Airbrake API', () => { - const productionApi = new ProductionAirbrakeApi(localDiscoveryApi); - const worker = setupServer(); - setupRequestMockHandlers(worker); - - it('fetches groups using the provided project ID', async () => { - worker.use( - rest.get( - 'http://localhost:7007/api/airbrake/api/v4/projects/123456/groups', - (_, res, ctx) => { - return res(ctx.status(200), ctx.json(mockGroupsData)); - }, - ), - ); - - const groups = await productionApi.fetchGroups('123456'); - expect(groups).toStrictEqual(mockGroupsData); - }); - - it('throws if fetching groups was unsuccessful', async () => { - worker.use( - rest.get( - 'http://localhost:7007/api/airbrake/api/v4/projects/123456/groups', - (_, res, ctx) => { - return res(ctx.status(500)); - }, - ), - ); - - await expect(productionApi.fetchGroups('123456')).rejects.toThrow(); - }); -}); diff --git a/plugins/airbrake/src/api/ProductionApi.ts b/plugins/airbrake/src/api/ProductionApi.ts deleted file mode 100644 index 21ca19ee7d..0000000000 --- a/plugins/airbrake/src/api/ProductionApi.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2020 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 { Groups } from './airbrakeGroups'; -import { AirbrakeApi } from './AirbrakeApi'; -import { DiscoveryApi } from '@backstage/core-plugin-api'; - -export class ProductionAirbrakeApi implements AirbrakeApi { - constructor(private readonly discoveryApi: DiscoveryApi) {} - - async fetchGroups(projectId: string): Promise { - const baseUrl = await this.discoveryApi.getBaseUrl('airbrake'); - const apiUrl = `${baseUrl}/api/v4/projects/${projectId}/groups`; - - const response = await fetch(apiUrl); - - if (response.status >= 400 && response.status < 600) { - throw new Error('Failed fetching Airbrake groups'); - } - - return (await response.json()) as Groups; - } -} diff --git a/plugins/airbrake/src/api/airbrakeGroups.d.ts b/plugins/airbrake/src/api/airbrakeGroups.d.ts deleted file mode 100644 index e1887eca9b..0000000000 --- a/plugins/airbrake/src/api/airbrakeGroups.d.ts +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2022 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. - */ - -export interface Groups { - count: number; - end: string; - groups?: Group[] | null; - page: number; - resolvedCount: number; - unresolvedCount: number; -} - -export interface Group { - id: string; - projectId: number; - resolved: boolean; - muted: boolean; - mutedBy: number; - mutedAt?: string | null; - errors?: Error[]; - attributes?: string | null; - context: Context; - lastDeployId: string; - lastDeployAt?: string | null; - lastNoticeId: string; - lastNoticeAt: string; - noticeCount: number; - noticeTotalCount: number; - commentCount: number; - createdAt: string; -} - -export interface Error { - type: string; - message: string; - backtrace?: Backtrace[]; -} - -export interface Backtrace { - file: string; - function: string; - line: number; - column: number; - code?: string | null; -} - -export interface Context { - action: string; - component: string; - environment: string; - severity: string; -} diff --git a/plugins/airbrake/src/api/index.ts b/plugins/airbrake/src/api/index.ts deleted file mode 100644 index 2d92789653..0000000000 --- a/plugins/airbrake/src/api/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2020 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. - */ - -export * from './mock'; -export type { AirbrakeApi } from './AirbrakeApi'; -export { airbrakeApiRef } from './AirbrakeApi'; -export type { Groups } from './airbrakeGroups'; -export { ProductionAirbrakeApi } from './ProductionApi'; diff --git a/plugins/airbrake/src/api/mock/LocalDiscoveryApi.ts b/plugins/airbrake/src/api/mock/LocalDiscoveryApi.ts deleted file mode 100644 index c3080a8104..0000000000 --- a/plugins/airbrake/src/api/mock/LocalDiscoveryApi.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2022 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 { DiscoveryApi } from '@backstage/core-plugin-api'; - -export const localDiscoveryApi: DiscoveryApi = { - async getBaseUrl(pluginId: string): Promise { - return `http://localhost:7007/api/${pluginId}`; - }, -}; diff --git a/plugins/airbrake/src/api/mock/MockApi.ts b/plugins/airbrake/src/api/mock/MockApi.ts deleted file mode 100644 index dbb1d5c049..0000000000 --- a/plugins/airbrake/src/api/mock/MockApi.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2020 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 { Groups } from '../airbrakeGroups'; -import { AirbrakeApi } from '../AirbrakeApi'; -import mockGroupsData from './airbrakeGroupsApiMock.json'; - -export class MockAirbrakeApi implements AirbrakeApi { - waitTimeInMillis: number; - - constructor(waitTimeInMillis = 10) { - this.waitTimeInMillis = waitTimeInMillis; - } - - fetchGroups(): Promise { - return new Promise(resolve => { - setTimeout(() => resolve(mockGroupsData), this.waitTimeInMillis); - }); - } -} diff --git a/plugins/airbrake/src/api/mock/MockEntity.ts b/plugins/airbrake/src/api/mock/MockEntity.ts deleted file mode 100644 index 13534f2458..0000000000 --- a/plugins/airbrake/src/api/mock/MockEntity.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2022 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 { AIRBRAKE_PROJECT_ID_ANNOTATION } from '../../components/useProjectId'; -import { Entity } from '@backstage/catalog-model'; - -export const createEntity = (projectId?: number) => { - const projectIdString = projectId?.toString(); - - return { - apiVersion: 'backstage.io/v1alpha1', - kind: 'Component', - metadata: { - annotations: { - [AIRBRAKE_PROJECT_ID_ANNOTATION]: projectIdString, - }, - name: projectIdString, - }, - } as Entity; -}; diff --git a/plugins/airbrake/src/api/mock/airbrakeGroupsApiMock.json b/plugins/airbrake/src/api/mock/airbrakeGroupsApiMock.json deleted file mode 100644 index fa654ec50b..0000000000 --- a/plugins/airbrake/src/api/mock/airbrakeGroupsApiMock.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "count": 2, - "end": "", - "groups": [ - { - "id": "1", - "projectId": 123, - "resolved": false, - "muted": false, - "mutedBy": 0, - "mutedAt": null, - "errors": [ - { - "type": "Error", - "message": "useSearch must be used within a SearchContextProvider", - "backtrace": [ - { - "file": "webpack-internal:///../../node_modules/@backstage/plugin-search/dist/esm/index-893ec2f5.esm.js", - "function": "useSearch", - "line": 303, - "column": 11, - "code": null - } - ] - } - ], - "attributes": null, - "context": { - "action": "", - "component": "", - "environment": "local", - "severity": "error" - }, - "lastDeployId": "0", - "lastDeployAt": null, - "lastNoticeId": "234", - "lastNoticeAt": "2021-12-19T09:59:00.124Z", - "noticeCount": 5, - "noticeTotalCount": 5, - "commentCount": 0, - "createdAt": "2021-12-19T09:44:30.067447Z" - }, - { - "id": "2", - "projectId": 123, - "resolved": true, - "muted": false, - "mutedBy": 0, - "mutedAt": null, - "errors": [ - { - "type": "ChunkLoadError", - "message": "Loading chunk 7764 failed.", - "backtrace": [ - { - "file": "/PROJECT_ROOT/static/runtime.069c874d.js", - "function": "Object._.f.j", - "line": 1, - "column": 19465, - "code": null - } - ] - } - ], - "attributes": null, - "context": { - "action": "", - "component": "", - "environment": "local", - "severity": "error" - }, - "lastDeployId": "0", - "lastDeployAt": null, - "lastNoticeId": "345", - "lastNoticeAt": "2021-12-15T17:16:38.419Z", - "noticeCount": 1, - "noticeTotalCount": 1, - "commentCount": 0, - "createdAt": "2021-12-15T17:16:38.41983Z" - } - ], - "page": 1, - "resolvedCount": 1, - "unresolvedCount": 1 -} diff --git a/plugins/airbrake/src/api/mock/index.ts b/plugins/airbrake/src/api/mock/index.ts deleted file mode 100644 index 4e0ab5fabf..0000000000 --- a/plugins/airbrake/src/api/mock/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2020 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. - */ - -export * from './MockApi'; -export * from './MockEntity'; -export * from './LocalDiscoveryApi'; diff --git a/plugins/airbrake/src/components/EntityAirbrakeWidget/EntityAirbrakeWidget.test.tsx b/plugins/airbrake/src/components/EntityAirbrakeWidget/EntityAirbrakeWidget.test.tsx deleted file mode 100644 index a7243f5f0f..0000000000 --- a/plugins/airbrake/src/components/EntityAirbrakeWidget/EntityAirbrakeWidget.test.tsx +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright 2020 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 { EntityAirbrakeWidget } from './EntityAirbrakeWidget'; -import exampleData from '../../api/mock/airbrakeGroupsApiMock.json'; -import { - renderInTestApp, - setupRequestMockHandlers, - TestApiProvider, -} from '@backstage/test-utils'; -import { - airbrakeApiRef, - createEntity, - localDiscoveryApi, - MockAirbrakeApi, - ProductionAirbrakeApi, -} from '../../api'; -import { rest } from 'msw'; -import { setupServer } from 'msw/node'; - -describe('EntityAirbrakeWidget', () => { - const worker = setupServer(); - setupRequestMockHandlers(worker); - - it('renders all errors sent from Airbrake', async () => { - const widget = await renderInTestApp( - - - , - ); - expect(exampleData.groups.length).toBeGreaterThan(0); - for (const group of exampleData.groups) { - expect( - await widget.findByText(group.errors[0].message), - ).toBeInTheDocument(); - } - }); - - it('states that the annotation is missing if no project ID annotation is provided but does not error', async () => { - const widget = await renderInTestApp( - - - , - ); - await expect( - widget.findByText('Missing Annotation'), - ).resolves.toBeInTheDocument(); - expect( - widget.queryByText(/.*Failed fetching Airbrake groups.*/), - ).not.toBeInTheDocument(); - }); - - it('states that an error occurred if the API call fails', async () => { - worker.use( - rest.get( - 'http://localhost:7007/api/airbrake/api/v4/projects/123/groups', - (_, res, ctx) => { - return res(ctx.status(500)); - }, - ), - ); - - const widget = await renderInTestApp( - - - , - ); - - await expect( - widget.findByText(/.*there was an issue communicating with Airbrake.*/), - ).resolves.toBeInTheDocument(); - expect( - widget.getByRole('heading', { - name: /.*Failed fetching Airbrake groups.*/, - }), - ).toBeInTheDocument(); - }); -}); diff --git a/plugins/airbrake/src/components/EntityAirbrakeWidget/EntityAirbrakeWidget.tsx b/plugins/airbrake/src/components/EntityAirbrakeWidget/EntityAirbrakeWidget.tsx deleted file mode 100644 index 88fc04f8e3..0000000000 --- a/plugins/airbrake/src/components/EntityAirbrakeWidget/EntityAirbrakeWidget.tsx +++ /dev/null @@ -1,90 +0,0 @@ -/* - * 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 { Entity } from '@backstage/catalog-model'; -import { - EmptyState, - ErrorPanel, - InfoCard, - Progress, -} from '@backstage/core-components'; -import { useApi } from '@backstage/core-plugin-api'; -import Grid from '@material-ui/core/Grid'; -import Typography from '@material-ui/core/Typography'; -import { makeStyles } from '@material-ui/core/styles'; -import React from 'react'; -import useAsync from 'react-use/esm/useAsync'; -import { airbrakeApiRef } from '../../api'; -import { MissingAnnotationEmptyState } from '@backstage/plugin-catalog-react'; -import { AIRBRAKE_PROJECT_ID_ANNOTATION, useProjectId } from '../useProjectId'; - -const useStyles = makeStyles({ - multilineText: { - whiteSpace: 'pre-wrap', - }, -}); - -export const EntityAirbrakeWidget = ({ entity }: { entity: Entity }) => { - const classes = useStyles(); - - const projectId = useProjectId(entity); - const airbrakeApi = useApi(airbrakeApiRef); - - const { loading, value, error } = useAsync(() => { - if (!projectId) { - return Promise.resolve(undefined); - } - - return airbrakeApi.fetchGroups(projectId); - }, [airbrakeApi, projectId]); - - if (!projectId) { - return ( - - ); - } else if (loading) { - return ; - } else if (value) { - return ( - - {value.groups?.map(group => ( - - {group.errors?.map((groupError, i) => ( - - - {groupError.message} - - - ))} - - ))} - - ); - } - - return ( - <> - {error && } - - - ); -}; diff --git a/plugins/airbrake/src/components/EntityAirbrakeWidget/index.ts b/plugins/airbrake/src/components/EntityAirbrakeWidget/index.ts deleted file mode 100644 index 0a85263c5f..0000000000 --- a/plugins/airbrake/src/components/EntityAirbrakeWidget/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2020 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. - */ - -export { EntityAirbrakeWidget } from './EntityAirbrakeWidget'; diff --git a/plugins/airbrake/src/components/isAirbrakeAvailable.ts b/plugins/airbrake/src/components/isAirbrakeAvailable.ts deleted file mode 100644 index 01d59668ce..0000000000 --- a/plugins/airbrake/src/components/isAirbrakeAvailable.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2020 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 { Entity } from '@backstage/catalog-model'; -import { AIRBRAKE_PROJECT_ID_ANNOTATION } from './useProjectId'; - -/** - * Utility function to determine if the given entity has an Airbrake ID set in the repos catalog-info.yml . - * @public - */ -export const isAirbrakeAvailable = (entity: Entity) => - Boolean(entity.metadata.annotations?.[AIRBRAKE_PROJECT_ID_ANNOTATION]); diff --git a/plugins/airbrake/src/components/useProjectId.ts b/plugins/airbrake/src/components/useProjectId.ts deleted file mode 100644 index 3402778b7b..0000000000 --- a/plugins/airbrake/src/components/useProjectId.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2020 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 { Entity } from '@backstage/catalog-model'; - -export const AIRBRAKE_PROJECT_ID_ANNOTATION = 'airbrake.io/project-id'; - -export const useProjectId = (entity: Entity) => { - return entity?.metadata.annotations?.[AIRBRAKE_PROJECT_ID_ANNOTATION] ?? ''; -}; diff --git a/plugins/airbrake/src/extensions.test.tsx b/plugins/airbrake/src/extensions.test.tsx deleted file mode 100644 index b24b7febf8..0000000000 --- a/plugins/airbrake/src/extensions.test.tsx +++ /dev/null @@ -1,39 +0,0 @@ -/* - * 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 { EntityAirbrakeContent } from './extensions'; -import { Route, Routes } from 'react-router-dom'; -import { renderInTestApp, TestApiProvider } from '@backstage/test-utils'; -import { airbrakeApiRef, MockAirbrakeApi } from './api'; -import { createEntity } from './api'; -import { EntityProvider } from '@backstage/plugin-catalog-react'; - -describe('The Airbrake entity', () => { - it('should render the content properly', async () => { - const rendered = await renderInTestApp( - - - - } /> - - - , - ); - await expect( - rendered.findByText('ChunkLoadError'), - ).resolves.toBeInTheDocument(); - }); -}); diff --git a/plugins/airbrake/src/extensions.tsx b/plugins/airbrake/src/extensions.tsx deleted file mode 100644 index d4f890f44a..0000000000 --- a/plugins/airbrake/src/extensions.tsx +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2020 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 { useEntity } from '@backstage/plugin-catalog-react'; -import React from 'react'; -import { airbrakePlugin } from './plugin'; -import { createRoutableExtension } from '@backstage/core-plugin-api'; -import { rootRouteRef } from './routes'; - -/** - * This is the widget that shows up on a component page - * - * @public - */ -export const EntityAirbrakeContent = airbrakePlugin.provide( - createRoutableExtension({ - name: 'EntityAirbrakeContent', - mountPoint: rootRouteRef, - component: () => - import('./components/EntityAirbrakeWidget').then( - ({ EntityAirbrakeWidget }) => { - return () => { - const { entity } = useEntity(); - return ; - }; - }, - ), - }), -); diff --git a/plugins/airbrake/src/index.test.ts b/plugins/airbrake/src/index.test.ts deleted file mode 100644 index 3aea2edf66..0000000000 --- a/plugins/airbrake/src/index.test.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * 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 { EntityAirbrakeContent, airbrakePlugin } from './index'; - -describe('The Airbrake plugin index file', () => { - it('exports the plugin and content', async () => { - expect(EntityAirbrakeContent).toBeTruthy(); - expect(airbrakePlugin).toBeTruthy(); - }); -}); diff --git a/plugins/airbrake/src/index.ts b/plugins/airbrake/src/index.ts deleted file mode 100644 index 6f189e36b8..0000000000 --- a/plugins/airbrake/src/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * 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. - */ - -/** - * The Airbrake plugin provides connectivity between Backstage and {@link https://airbrake.io/ | Airbrake}. - * - * @packageDocumentation - */ - -export { airbrakePlugin } from './plugin'; -export { EntityAirbrakeContent } from './extensions'; -export { isAirbrakeAvailable } from './components/isAirbrakeAvailable'; diff --git a/plugins/airbrake/src/plugin.test.ts b/plugins/airbrake/src/plugin.test.ts deleted file mode 100644 index ad7865713f..0000000000 --- a/plugins/airbrake/src/plugin.test.ts +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2020 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 { airbrakePlugin } from './plugin'; -import { ProductionAirbrakeApi } from './api'; - -describe('catalog', () => { - it('should export plugin', () => { - expect(airbrakePlugin).toBeDefined(); - }); - - it('should have at least one API, the production API', () => { - const apiFactories = Array.from(airbrakePlugin.getApis()); - expect(apiFactories.length).toBe(1); - expect(apiFactories[0].factory({})).toBeInstanceOf(ProductionAirbrakeApi); - }); -}); diff --git a/plugins/airbrake/src/plugin.ts b/plugins/airbrake/src/plugin.ts deleted file mode 100644 index 56f65ba110..0000000000 --- a/plugins/airbrake/src/plugin.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* - * 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 { - createApiFactory, - createPlugin, - discoveryApiRef, -} from '@backstage/core-plugin-api'; - -import { rootRouteRef } from './routes'; -import { airbrakeApiRef, ProductionAirbrakeApi } from './api'; - -/** - * The Airbrake plugin instance - * - * @public - */ -export const airbrakePlugin = createPlugin({ - id: 'airbrake', - apis: [ - createApiFactory({ - api: airbrakeApiRef, - deps: { discoveryApi: discoveryApiRef }, - factory: ({ discoveryApi }) => new ProductionAirbrakeApi(discoveryApi), - }), - ], - routes: { - root: rootRouteRef, - }, -}); diff --git a/plugins/airbrake/src/routes.ts b/plugins/airbrake/src/routes.ts deleted file mode 100644 index 52672267fe..0000000000 --- a/plugins/airbrake/src/routes.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * 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 { createRouteRef } from '@backstage/core-plugin-api'; - -export const rootRouteRef = createRouteRef({ - id: 'airbrake', -}); diff --git a/plugins/airbrake/src/setupTests.ts b/plugins/airbrake/src/setupTests.ts deleted file mode 100644 index 7435872609..0000000000 --- a/plugins/airbrake/src/setupTests.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * 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 '@testing-library/jest-dom'; diff --git a/plugins/allure/.eslintrc.js b/plugins/allure/.eslintrc.js deleted file mode 100644 index c69a8f6aff..0000000000 --- a/plugins/allure/.eslintrc.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, { - rules: { - '@backstage/no-top-level-material-ui-4-imports': 'error', - }, - }); diff --git a/plugins/allure/CHANGELOG.md b/plugins/allure/CHANGELOG.md deleted file mode 100644 index e3984d5f0f..0000000000 --- a/plugins/allure/CHANGELOG.md +++ /dev/null @@ -1,1376 +0,0 @@ -# @backstage/plugin-allure - -## 0.1.50 - -### Patch Changes - -- abfbcfc: Updated dependency `@testing-library/react` to `^15.0.0`. -- cb1e3b0: Updated dependency `@testing-library/dom` to `^10.0.0`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.11.3 - - @backstage/core-components@0.14.4 - - @backstage/core-plugin-api@1.9.2 - - @backstage/catalog-model@1.4.5 - -## 0.1.50-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.5 - - @backstage/core-components@0.14.4-next.0 - - @backstage/core-plugin-api@1.9.1 - - @backstage/plugin-catalog-react@1.11.3-next.1 - -## 0.1.50-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.4-next.0 - - @backstage/catalog-model@1.4.5 - - @backstage/core-plugin-api@1.9.1 - - @backstage/plugin-catalog-react@1.11.3-next.0 - -## 0.1.49 - -### Patch Changes - -- e8f026a: Use ESM exports of react-use library -- Updated dependencies - - @backstage/core-components@0.14.3 - - @backstage/plugin-catalog-react@1.11.2 - - @backstage/core-plugin-api@1.9.1 - - @backstage/catalog-model@1.4.5 - -## 0.1.48 - -### Patch Changes - -- e8f026a: Use ESM exports of react-use library -- Updated dependencies - - @backstage/core-components@0.14.2 - - @backstage/plugin-catalog-react@1.11.1 - - @backstage/core-plugin-api@1.9.1 - - @backstage/catalog-model@1.4.5 - -## 0.1.47 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1 - - @backstage/plugin-catalog-react@1.11.0 - - @backstage/catalog-model@1.4.5 - - @backstage/core-plugin-api@1.9.1 - -## 0.1.47-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.2 - - @backstage/plugin-catalog-react@1.11.0-next.2 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/core-plugin-api@1.9.1-next.1 - -## 0.1.47-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.1 - - @backstage/plugin-catalog-react@1.10.1-next.1 - - @backstage/core-plugin-api@1.9.1-next.1 - - @backstage/catalog-model@1.4.5-next.0 - -## 0.1.47-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.0 - - @backstage/plugin-catalog-react@1.10.1-next.0 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/core-plugin-api@1.9.1-next.0 - -## 0.1.46 - -### Patch Changes - -- 9aac2b0: Use `--cwd` as the first `yarn` argument -- 8fe56a8: Widen `@types/react` dependency range to include version 18. -- Updated dependencies - - @backstage/plugin-catalog-react@1.10.0 - - @backstage/core-components@0.14.0 - - @backstage/catalog-model@1.4.4 - - @backstage/core-plugin-api@1.9.0 - -## 0.1.46-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.0-next.2 - - @backstage/plugin-catalog-react@1.10.0-next.3 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/core-plugin-api@1.9.0-next.1 - -## 0.1.46-next.2 - -### Patch Changes - -- 9aac2b0: Use `--cwd` as the first `yarn` argument -- 8fe56a8: Widen `@types/react` dependency range to include version 18. -- Updated dependencies - - @backstage/core-components@0.14.0-next.1 - - @backstage/core-plugin-api@1.9.0-next.1 - - @backstage/plugin-catalog-react@1.10.0-next.2 - - @backstage/catalog-model@1.4.4-next.0 - -## 0.1.46-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.0-next.0 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/core-plugin-api@1.8.3-next.0 - - @backstage/plugin-catalog-react@1.9.4-next.1 - -## 0.1.46-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.4-next.0 - - @backstage/core-components@0.13.10 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.2 - -## 0.1.45 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/core-components@0.13.10 - - @backstage/core-plugin-api@1.8.2 - - @backstage/plugin-catalog-react@1.9.3 - - @backstage/catalog-model@1.4.3 - -## 0.1.45-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.3-next.2 - -## 0.1.45-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.2-next.0 - - @backstage/core-components@0.13.10-next.1 - - @backstage/plugin-catalog-react@1.9.3-next.1 - - @backstage/catalog-model@1.4.3 - -## 0.1.45-next.0 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/core-components@0.13.10-next.0 - - @backstage/plugin-catalog-react@1.9.3-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.1 - -## 0.1.44 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.1 - - @backstage/plugin-catalog-react@1.9.2 - - @backstage/core-components@0.13.9 - - @backstage/theme@0.5.0 - - @backstage/catalog-model@1.4.3 - -## 0.1.44-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.9-next.3 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/theme@0.5.0-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.3 - -## 0.1.44-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.5.0-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.2 - - @backstage/catalog-model@1.4.3 - - @backstage/core-components@0.13.9-next.2 - - @backstage/core-plugin-api@1.8.1-next.1 - -## 0.1.44-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.9-next.1 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/theme@0.5.0-next.0 - -## 0.1.44-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.1-next.0 - - @backstage/plugin-catalog-react@1.9.2-next.0 - - @backstage/core-components@0.13.9-next.0 - - @backstage/theme@0.5.0-next.0 - - @backstage/catalog-model@1.4.3 - -## 0.1.42 - -### Patch Changes - -- 6c2b872153: Add official support for React 18. -- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.0 - - @backstage/core-components@0.13.8 - - @backstage/core-plugin-api@1.8.0 - - @backstage/theme@0.4.4 - - @backstage/catalog-model@1.4.3 - -## 0.1.42-next.2 - -### Patch Changes - -- [#20842](https://github.com/backstage/backstage/pull/20842) [`fdb5e23602`](https://github.com/backstage/backstage/commit/fdb5e2360299c5faa30f4d4236fc548b94d37446) Thanks [@benjdlambert](https://github.com/benjdlambert)! - Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency - -- Updated dependencies - - @backstage/core-components@0.13.8-next.2 - - @backstage/plugin-catalog-react@1.9.0-next.2 - -## 0.1.42-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.0-next.1 - - @backstage/core-components@0.13.8-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.0-next.0 - - @backstage/theme@0.4.4-next.0 - -## 0.1.42-next.0 - -### Patch Changes - -- 6c2b872153: Add official support for React 18. -- Updated dependencies - - @backstage/core-components@0.13.7-next.0 - - @backstage/plugin-catalog-react@1.9.0-next.0 - - @backstage/core-plugin-api@1.8.0-next.0 - - @backstage/theme@0.4.4-next.0 - - @backstage/catalog-model@1.4.3 - -## 0.1.41 - -### Patch Changes - -- 9a1fce352e: Updated dependency `@testing-library/jest-dom` to `^6.0.0`. -- f95af4e540: Updated dependency `@testing-library/dom` to `^9.0.0`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.5 - - @backstage/core-plugin-api@1.7.0 - - @backstage/core-components@0.13.6 - - @backstage/catalog-model@1.4.3 - - @backstage/theme@0.4.3 - -## 0.1.41-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.6-next.2 - - @backstage/core-plugin-api@1.7.0-next.1 - - @backstage/catalog-model@1.4.3-next.0 - - @backstage/plugin-catalog-react@1.8.5-next.2 - - @backstage/theme@0.4.3-next.0 - -## 0.1.41-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.6-next.1 - - @backstage/plugin-catalog-react@1.8.5-next.1 - - @backstage/core-plugin-api@1.7.0-next.0 - - @backstage/catalog-model@1.4.2 - - @backstage/theme@0.4.2 - -## 0.1.41-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.5-next.0 - - @backstage/core-plugin-api@1.7.0-next.0 - - @backstage/core-components@0.13.6-next.0 - - @backstage/catalog-model@1.4.2 - - @backstage/theme@0.4.2 - -## 0.1.40 - -### Patch Changes - -- 482bb5c0bbf8: Moved `@types/react` to be a regular dependency -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- 8cec7664e146: Removed `@types/node` dependency -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.4 - - @backstage/core-components@0.13.5 - - @backstage/catalog-model@1.4.2 - - @backstage/core-plugin-api@1.6.0 - - @backstage/theme@0.4.2 - -## 0.1.40-next.3 - -### Patch Changes - -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- Updated dependencies - - @backstage/catalog-model@1.4.2-next.2 - - @backstage/core-components@0.13.5-next.3 - - @backstage/core-plugin-api@1.6.0-next.3 - - @backstage/plugin-catalog-react@1.8.4-next.3 - - @backstage/theme@0.4.2-next.0 - -## 0.1.40-next.2 - -### Patch Changes - -- 8cec7664e146: Removed `@types/node` dependency -- Updated dependencies - - @backstage/core-components@0.13.5-next.2 - - @backstage/core-plugin-api@1.6.0-next.2 - - @backstage/plugin-catalog-react@1.8.4-next.2 - - @backstage/catalog-model@1.4.2-next.1 - - @backstage/theme@0.4.1 - -## 0.1.40-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.4-next.1 - - @backstage/core-components@0.13.5-next.1 - - @backstage/catalog-model@1.4.2-next.0 - - @backstage/core-plugin-api@1.6.0-next.1 - - @backstage/theme@0.4.1 - -## 0.1.39-next.0 - -### Patch Changes - -- 482bb5c0bbf8: Moved `@types/react` to be a regular dependency -- Updated dependencies - - @backstage/core-plugin-api@1.6.0-next.0 - - @backstage/core-components@0.13.5-next.0 - - @backstage/catalog-model@1.4.1 - - @backstage/theme@0.4.1 - - @backstage/plugin-catalog-react@1.8.3-next.0 - -## 0.1.37 - -### Patch Changes - -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/core-components@0.13.4 - - @backstage/plugin-catalog-react@1.8.1 - - @backstage/core-plugin-api@1.5.3 - - @backstage/catalog-model@1.4.1 - - @backstage/theme@0.4.1 - -## 0.1.37-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.1-next.1 - -## 0.1.37-next.1 - -### Patch Changes - -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/catalog-model@1.4.1 - - @backstage/core-components@0.13.4-next.0 - - @backstage/core-plugin-api@1.5.3 - - @backstage/theme@0.4.1 - - @backstage/plugin-catalog-react@1.8.1-next.0 - -## 0.1.37-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.4-next.0 - - @backstage/core-plugin-api@1.5.3 - - @backstage/plugin-catalog-react@1.8.1-next.0 - - @backstage/catalog-model@1.4.1 - - @backstage/theme@0.4.1 - -## 0.1.36 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.4.1 - - @backstage/plugin-catalog-react@1.8.0 - - @backstage/core-components@0.13.3 - - @backstage/core-plugin-api@1.5.3 - - @backstage/catalog-model@1.4.1 - -## 0.1.36-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.0-next.2 - - @backstage/theme@0.4.1-next.1 - - @backstage/core-plugin-api@1.5.3-next.1 - - @backstage/core-components@0.13.3-next.2 - - @backstage/catalog-model@1.4.1-next.0 - -## 0.1.36-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.4.1-next.0 - - @backstage/core-components@0.13.3-next.1 - - @backstage/core-plugin-api@1.5.3-next.0 - - @backstage/plugin-catalog-react@1.7.1-next.1 - -## 0.1.36-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.3-next.0 - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/core-plugin-api@1.5.2 - - @backstage/theme@0.4.0 - - @backstage/plugin-catalog-react@1.7.1-next.0 - -## 0.1.35 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.5.2 - - @backstage/core-components@0.13.2 - - @backstage/theme@0.4.0 - - @backstage/plugin-catalog-react@1.7.0 - - @backstage/catalog-model@1.4.0 - -## 0.1.35-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.2-next.3 - - @backstage/catalog-model@1.4.0-next.1 - - @backstage/core-plugin-api@1.5.2-next.0 - - @backstage/theme@0.4.0-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.3 - -## 0.1.35-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.4.0-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.2 - - @backstage/core-components@0.13.2-next.2 - - @backstage/core-plugin-api@1.5.2-next.0 - -## 0.1.35-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.2-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.1 - - @backstage/catalog-model@1.4.0-next.0 - - @backstage/core-plugin-api@1.5.2-next.0 - - @backstage/theme@0.4.0-next.0 - -## 0.1.35-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.7.0-next.0 - - @backstage/theme@0.4.0-next.0 - - @backstage/core-components@0.13.2-next.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/catalog-model@1.3.0 - -## 0.1.34 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.3.0 - - @backstage/plugin-catalog-react@1.6.0 - - @backstage/core-components@0.13.1 - - @backstage/catalog-model@1.3.0 - - @backstage/core-plugin-api@1.5.1 - -## 0.1.34-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.3.0-next.0 - - @backstage/core-components@0.13.1-next.1 - - @backstage/plugin-catalog-react@1.6.0-next.2 - - @backstage/core-plugin-api@1.5.1 - -## 0.1.34-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.1-next.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/plugin-catalog-react@1.6.0-next.1 - -## 0.1.34-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.6.0-next.0 - - @backstage/core-components@0.13.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/catalog-model@1.3.0 - - @backstage/theme@0.2.19 - -## 0.1.33 - -### Patch Changes - -- 8e00acb28db: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs) -- e0c6e8b9c3c: Update peer dependencies -- Updated dependencies - - @backstage/core-components@0.13.0 - - @backstage/plugin-catalog-react@1.5.0 - - @backstage/theme@0.2.19 - - @backstage/core-plugin-api@1.5.1 - - @backstage/catalog-model@1.3.0 - -## 0.1.33-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.5.0-next.3 - - @backstage/catalog-model@1.3.0-next.0 - - @backstage/core-components@0.13.0-next.3 - - @backstage/core-plugin-api@1.5.1-next.1 - - @backstage/theme@0.2.19-next.0 - -## 0.1.33-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.6-next.2 - - @backstage/plugin-catalog-react@1.4.1-next.2 - - @backstage/core-plugin-api@1.5.1-next.1 - - @backstage/catalog-model@1.2.1 - - @backstage/theme@0.2.19-next.0 - -## 0.1.33-next.1 - -### Patch Changes - -- e0c6e8b9c3c: Update peer dependencies -- Updated dependencies - - @backstage/core-components@0.12.6-next.1 - - @backstage/core-plugin-api@1.5.1-next.0 - - @backstage/plugin-catalog-react@1.4.1-next.1 - - @backstage/theme@0.2.19-next.0 - - @backstage/catalog-model@1.2.1 - -## 0.1.33-next.0 - -### Patch Changes - -- 8e00acb28db: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs) -- Updated dependencies - - @backstage/core-components@0.12.6-next.0 - - @backstage/plugin-catalog-react@1.4.1-next.0 - - @backstage/core-plugin-api@1.5.0 - - @backstage/catalog-model@1.2.1 - - @backstage/theme@0.2.18 - -## 0.1.32 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/core-components@0.12.5 - - @backstage/plugin-catalog-react@1.4.0 - - @backstage/core-plugin-api@1.5.0 - - @backstage/catalog-model@1.2.1 - - @backstage/theme@0.2.18 - -## 0.1.32-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.5-next.2 - - @backstage/plugin-catalog-react@1.4.0-next.2 - - @backstage/core-plugin-api@1.5.0-next.2 - -## 0.1.32-next.1 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/core-components@0.12.5-next.1 - - @backstage/core-plugin-api@1.4.1-next.1 - - @backstage/theme@0.2.18-next.0 - - @backstage/plugin-catalog-react@1.4.0-next.1 - - @backstage/catalog-model@1.2.1-next.1 - -## 0.1.32-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.4.0-next.0 - - @backstage/core-plugin-api@1.4.1-next.0 - - @backstage/catalog-model@1.2.1-next.0 - - @backstage/core-components@0.12.5-next.0 - - @backstage/theme@0.2.17 - -## 0.1.31 - -### Patch Changes - -- c51efce2a0: Update docs to always use `yarn add --cwd` for app & backend -- Updated dependencies - - @backstage/core-components@0.12.4 - - @backstage/catalog-model@1.2.0 - - @backstage/theme@0.2.17 - - @backstage/core-plugin-api@1.4.0 - - @backstage/plugin-catalog-react@1.3.0 - -## 0.1.31-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.2.0-next.1 - - @backstage/core-components@0.12.4-next.1 - - @backstage/core-plugin-api@1.3.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.3.0-next.2 - -## 0.1.31-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.4-next.0 - - @backstage/plugin-catalog-react@1.3.0-next.1 - - @backstage/catalog-model@1.1.6-next.0 - - @backstage/core-plugin-api@1.3.0 - - @backstage/theme@0.2.16 - -## 0.1.31-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.3.0-next.0 - - @backstage/catalog-model@1.1.6-next.0 - -## 0.1.30 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5 - - @backstage/plugin-catalog-react@1.2.4 - - @backstage/core-components@0.12.3 - - @backstage/core-plugin-api@1.3.0 - - @backstage/theme@0.2.16 - -## 0.1.30-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.3.0-next.1 - - @backstage/plugin-catalog-react@1.2.4-next.2 - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/core-components@0.12.3-next.2 - - @backstage/theme@0.2.16 - -## 0.1.30-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/core-components@0.12.3-next.1 - - @backstage/core-plugin-api@1.2.1-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.2.4-next.1 - -## 0.1.30-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.0 - - @backstage/plugin-catalog-react@1.2.4-next.0 - - @backstage/core-components@0.12.3-next.0 - - @backstage/core-plugin-api@1.2.0 - - @backstage/theme@0.2.16 - -## 0.1.29 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.2 - - @backstage/plugin-catalog-react@1.2.3 - -## 0.1.28 - -### Patch Changes - -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/core-plugin-api@1.2.0 - - @backstage/core-components@0.12.1 - - @backstage/plugin-catalog-react@1.2.2 - - @backstage/catalog-model@1.1.4 - - @backstage/theme@0.2.16 - -## 0.1.28-next.4 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.1-next.4 - - @backstage/plugin-catalog-react@1.2.2-next.4 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/theme@0.2.16 - -## 0.1.28-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.1-next.3 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.2.2-next.3 - -## 0.1.28-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/core-components@0.12.1-next.2 - - @backstage/plugin-catalog-react@1.2.2-next.2 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/theme@0.2.16 - -## 0.1.28-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.1-next.1 - - @backstage/core-plugin-api@1.1.1-next.1 - - @backstage/plugin-catalog-react@1.2.2-next.1 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/theme@0.2.16 - -## 0.1.28-next.0 - -### Patch Changes - -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/core-components@0.12.1-next.0 - - @backstage/core-plugin-api@1.1.1-next.0 - - @backstage/plugin-catalog-react@1.2.2-next.0 - - @backstage/catalog-model@1.1.4-next.0 - - @backstage/theme@0.2.16 - -## 0.1.27 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.1 - - @backstage/core-components@0.12.0 - - @backstage/core-plugin-api@1.1.0 - - @backstage/catalog-model@1.1.3 - - @backstage/theme@0.2.16 - -## 0.1.27-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.0-next.1 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/core-plugin-api@1.1.0-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.2.1-next.1 - -## 0.1.27-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.1-next.0 - - @backstage/core-components@0.12.0-next.0 - - @backstage/core-plugin-api@1.1.0-next.0 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/theme@0.2.16 - -## 0.1.26 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2 - - @backstage/plugin-catalog-react@1.2.0 - - @backstage/core-components@0.11.2 - - @backstage/core-plugin-api@1.0.7 - - @backstage/theme@0.2.16 - -## 0.1.26-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.0-next.2 - - @backstage/catalog-model@1.1.2-next.2 - - @backstage/core-components@0.11.2-next.2 - - @backstage/core-plugin-api@1.0.7-next.2 - - @backstage/theme@0.2.16 - -## 0.1.26-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.0-next.1 - - @backstage/core-components@0.11.2-next.1 - - @backstage/core-plugin-api@1.0.7-next.1 - - @backstage/catalog-model@1.1.2-next.1 - - @backstage/theme@0.2.16 - -## 0.1.26-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2-next.0 - - @backstage/core-components@0.11.2-next.0 - - @backstage/plugin-catalog-react@1.1.5-next.0 - - @backstage/core-plugin-api@1.0.7-next.0 - - @backstage/theme@0.2.16 - -## 0.1.25 - -### Patch Changes - -- 817f3196f6: Updated React Router dependencies to be peer dependencies. -- 7d47def9c4: Removed dependency on `@types/jest`. -- d669d89206: Minor API signatures cleanup -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- Updated dependencies - - @backstage/core-components@0.11.1 - - @backstage/core-plugin-api@1.0.6 - - @backstage/plugin-catalog-react@1.1.4 - - @backstage/catalog-model@1.1.1 - -## 0.1.25-next.3 - -### Patch Changes - -- 7d47def9c4: Removed dependency on `@types/jest`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.4-next.2 - - @backstage/catalog-model@1.1.1-next.0 - - @backstage/core-components@0.11.1-next.3 - - @backstage/core-plugin-api@1.0.6-next.3 - -## 0.1.25-next.2 - -### Patch Changes - -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- Updated dependencies - - @backstage/core-components@0.11.1-next.2 - - @backstage/core-plugin-api@1.0.6-next.2 - -## 0.1.25-next.1 - -### Patch Changes - -- 817f3196f6: Updated React Router dependencies to be peer dependencies. -- d669d89206: Minor API signatures cleanup -- Updated dependencies - - @backstage/core-components@0.11.1-next.1 - - @backstage/core-plugin-api@1.0.6-next.1 - - @backstage/plugin-catalog-react@1.1.4-next.1 - -## 0.1.25-next.0 - -### Patch Changes - -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- Updated dependencies - - @backstage/core-plugin-api@1.0.6-next.0 - - @backstage/core-components@0.11.1-next.0 - - @backstage/plugin-catalog-react@1.1.4-next.0 - -## 0.1.24 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.11.0 - - @backstage/core-plugin-api@1.0.5 - - @backstage/plugin-catalog-react@1.1.3 - -## 0.1.24-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.3-next.2 - - @backstage/core-components@0.11.0-next.2 - -## 0.1.24-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.0.5-next.0 - - @backstage/plugin-catalog-react@1.1.3-next.0 - - @backstage/core-components@0.10.1-next.0 - -## 0.1.23 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- 8006d0f9bf: Updated dependency `msw` to `^0.44.0`. -- Updated dependencies - - @backstage/core-components@0.10.0 - - @backstage/catalog-model@1.1.0 - - @backstage/core-plugin-api@1.0.4 - - @backstage/plugin-catalog-react@1.1.2 - - @backstage/theme@0.2.16 - -## 0.1.23-next.3 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- Updated dependencies - - @backstage/core-plugin-api@1.0.4-next.0 - - @backstage/core-components@0.10.0-next.3 - - @backstage/catalog-model@1.1.0-next.3 - - @backstage/plugin-catalog-react@1.1.2-next.3 - -## 0.1.23-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.10.0-next.2 - - @backstage/catalog-model@1.1.0-next.2 - - @backstage/theme@0.2.16-next.1 - - @backstage/plugin-catalog-react@1.1.2-next.2 - -## 0.1.23-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.6-next.1 - - @backstage/catalog-model@1.1.0-next.1 - - @backstage/theme@0.2.16-next.0 - - @backstage/plugin-catalog-react@1.1.2-next.1 - -## 0.1.23-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.0-next.0 - - @backstage/core-components@0.9.6-next.0 - - @backstage/plugin-catalog-react@1.1.2-next.0 - -## 0.1.22 - -### Patch Changes - -- 6387b7a98a: Add export for `isAllureReportAvailable` and `ALLURE_PROJECT_ID_ANNOTATION` so it can be used outside of plugin -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.1 - - @backstage/core-components@0.9.5 - - @backstage/core-plugin-api@1.0.3 - - @backstage/catalog-model@1.0.3 - -## 0.1.22-next.1 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/core-components@0.9.5-next.1 - - @backstage/core-plugin-api@1.0.3-next.0 - - @backstage/catalog-model@1.0.3-next.0 - - @backstage/plugin-catalog-react@1.1.1-next.1 - -## 0.1.22-next.0 - -### Patch Changes - -- 6387b7a98a: Add export for `isAllureReportAvailable` and `ALLURE_PROJECT_ID_ANNOTATION` so it can be used outside of plugin -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.1-next.0 - - @backstage/core-components@0.9.5-next.0 - -## 0.1.21 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4 - - @backstage/core-plugin-api@1.0.2 - - @backstage/plugin-catalog-react@1.1.0 - - @backstage/catalog-model@1.0.2 - -## 0.1.21-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4-next.1 - - @backstage/plugin-catalog-react@1.1.0-next.2 - - @backstage/catalog-model@1.0.2-next.0 - - @backstage/core-plugin-api@1.0.2-next.1 - -## 0.1.21-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4-next.0 - - @backstage/core-plugin-api@1.0.2-next.0 - - @backstage/plugin-catalog-react@1.1.0-next.1 - -## 0.1.21-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.0-next.0 - -## 0.1.20 - -### Patch Changes - -- 24254fd433: build(deps): bump `@testing-library/user-event` from 13.5.0 to 14.0.0 -- 230ad0826f: Bump to using `@types/node` v16 -- Updated dependencies - - @backstage/plugin-catalog-react@1.0.1 - - @backstage/catalog-model@1.0.1 - - @backstage/core-components@0.9.3 - - @backstage/core-plugin-api@1.0.1 - -## 0.1.20-next.1 - -### Patch Changes - -- 24254fd433: build(deps): bump `@testing-library/user-event` from 13.5.0 to 14.0.0 -- 230ad0826f: Bump to using `@types/node` v16 -- Updated dependencies - - @backstage/core-components@0.9.3-next.2 - - @backstage/core-plugin-api@1.0.1-next.0 - - @backstage/plugin-catalog-react@1.0.1-next.3 - -## 0.1.20-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.0.1-next.0 - - @backstage/plugin-catalog-react@1.0.1-next.0 - - @backstage/core-components@0.9.3-next.0 - -## 0.1.19 - -### Patch Changes - -- a422d7ce5e: chore(deps): bump `@testing-library/react` from 11.2.6 to 12.1.3 -- Updated dependencies - - @backstage/core-components@0.9.2 - - @backstage/core-plugin-api@1.0.0 - - @backstage/plugin-catalog-react@1.0.0 - - @backstage/catalog-model@1.0.0 - -## 0.1.18 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@0.9.0 - - @backstage/core-components@0.9.1 - - @backstage/catalog-model@0.13.0 - -## 0.1.18-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@0.9.0-next.0 - - @backstage/core-components@0.9.1-next.0 - - @backstage/catalog-model@0.13.0-next.0 - -## 0.1.17 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@0.12.0 - - @backstage/core-components@0.9.0 - - @backstage/plugin-catalog-react@0.8.0 - - @backstage/core-plugin-api@0.8.0 - -## 0.1.16 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.10 - - @backstage/plugin-catalog-react@0.7.0 - - @backstage/catalog-model@0.11.0 - - @backstage/core-plugin-api@0.7.0 - -## 0.1.15 - -### Patch Changes - -- 1ed305728b: Bump `node-fetch` to version 2.6.7 and `cross-fetch` to version 3.1.5 -- c77c5c7eb6: Added `backstage.role` to `package.json` -- Updated dependencies - - @backstage/core-components@0.8.9 - - @backstage/core-plugin-api@0.6.1 - - @backstage/plugin-catalog-react@0.6.15 - - @backstage/catalog-model@0.10.0 - - @backstage/theme@0.2.15 - -## 0.1.14 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.8 - - @backstage/plugin-catalog-react@0.6.14 - -## 0.1.14-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.8-next.0 - - @backstage/plugin-catalog-react@0.6.14-next.0 - -## 0.1.13 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.7 - - @backstage/plugin-catalog-react@0.6.13 - -## 0.1.13-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.7-next.0 - - @backstage/plugin-catalog-react@0.6.13-next.0 - -## 0.1.12 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.5 - - @backstage/core-plugin-api@0.6.0 - - @backstage/plugin-catalog-react@0.6.12 - - @backstage/catalog-model@0.9.10 - -## 0.1.12-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.5-next.0 - - @backstage/core-plugin-api@0.6.0-next.0 - - @backstage/plugin-catalog-react@0.6.12-next.0 - - @backstage/catalog-model@0.9.10-next.0 - -## 0.1.11 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.4 - - @backstage/core-plugin-api@0.5.0 - - @backstage/plugin-catalog-react@0.6.11 - - @backstage/catalog-model@0.9.9 - -## 0.1.10 - -### Patch Changes - -- 4ce51ab0f1: Internal refactor of the `react-use` imports to use `react-use/lib/*` instead. -- Updated dependencies - - @backstage/core-plugin-api@0.4.1 - - @backstage/plugin-catalog-react@0.6.10 - - @backstage/core-components@0.8.3 - -## 0.1.9 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@0.4.0 - - @backstage/plugin-catalog-react@0.6.8 - - @backstage/core-components@0.8.2 - -## 0.1.8 - -### Patch Changes - -- cd450844f6: Moved React dependencies to `peerDependencies` and allow both React v16 and v17 to be used. -- Updated dependencies - - @backstage/core-components@0.8.0 - - @backstage/core-plugin-api@0.3.0 - - @backstage/plugin-catalog-react@0.6.5 - -## 0.1.7 - -### Patch Changes - -- a125278b81: Refactor out the deprecated path and icon from RouteRefs -- Updated dependencies - - @backstage/catalog-model@0.9.7 - - @backstage/plugin-catalog-react@0.6.4 - - @backstage/core-components@0.7.4 - - @backstage/core-plugin-api@0.2.0 - -## 0.1.6 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@0.6.0 - - @backstage/core-components@0.7.0 - - @backstage/theme@0.2.11 - -## 0.1.5 - -### Patch Changes - -- 81a41ec249: Added a `name` key to all extensions in order to improve Analytics API metadata. -- Updated dependencies - - @backstage/core-components@0.6.1 - - @backstage/core-plugin-api@0.1.10 - - @backstage/plugin-catalog-react@0.5.2 - - @backstage/catalog-model@0.9.4 - -## 0.1.4 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@0.1.9 - - @backstage/core-components@0.6.0 - - @backstage/plugin-catalog-react@0.5.1 - -## 0.1.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.5.0 - - @backstage/plugin-catalog-react@0.5.0 - - @backstage/catalog-model@0.9.3 - -## 0.1.2 - -### Patch Changes - -- 9f1362dcc1: Upgrade `@material-ui/lab` to `4.0.0-alpha.57`. -- Updated dependencies - - @backstage/core-components@0.4.2 - - @backstage/plugin-catalog-react@0.4.6 - - @backstage/core-plugin-api@0.1.8 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@0.4.5 - - @backstage/core-components@0.4.0 - - @backstage/catalog-model@0.9.1 diff --git a/plugins/allure/README.md b/plugins/allure/README.md deleted file mode 100644 index 3eec6a4a4f..0000000000 --- a/plugins/allure/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Deprecated - -This package has been moved to the [backstage-community/plugins](https://github.com/backstage/community-plugins) repository. Migrate to using `@backstage-community/plugin-allure` instead. diff --git a/plugins/allure/api-report.md b/plugins/allure/api-report.md deleted file mode 100644 index 69bb740271..0000000000 --- a/plugins/allure/api-report.md +++ /dev/null @@ -1,29 +0,0 @@ -## API Report File for "@backstage/plugin-allure" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -/// - -import { BackstagePlugin } from '@backstage/core-plugin-api'; -import { Entity } from '@backstage/catalog-model'; -import { JSX as JSX_2 } from 'react'; -import { RouteRef } from '@backstage/core-plugin-api'; - -// @public (undocumented) -export const ALLURE_PROJECT_ID_ANNOTATION = 'qameta.io/allure-project'; - -// @public (undocumented) -export const allurePlugin: BackstagePlugin< - { - root: RouteRef; - }, - {} ->; - -// @public (undocumented) -export const EntityAllureReportContent: () => JSX_2.Element; - -// @public (undocumented) -export const isAllureReportAvailable: (entity: Entity) => boolean; -``` diff --git a/plugins/allure/catalog-info.yaml b/plugins/allure/catalog-info.yaml deleted file mode 100644 index 4ea1238b30..0000000000 --- a/plugins/allure/catalog-info.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: backstage-plugin-allure - title: '@backstage/plugin-allure' - description: A Backstage plugin that integrates with Allure -spec: - lifecycle: experimental - type: backstage-frontend-plugin - owner: maintainers diff --git a/plugins/allure/dev/example-entity.yaml b/plugins/allure/dev/example-entity.yaml deleted file mode 100644 index 58a9ffd110..0000000000 --- a/plugins/allure/dev/example-entity.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: allure-example-service - description: Allure Example Service - annotations: - qameta.io/allure-project: sample -spec: - type: service - lifecycle: experimental - owner: team-a diff --git a/plugins/allure/dev/index.tsx b/plugins/allure/dev/index.tsx deleted file mode 100644 index d697febd56..0000000000 --- a/plugins/allure/dev/index.tsx +++ /dev/null @@ -1,55 +0,0 @@ -/* - * 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 { createDevApp } from '@backstage/dev-utils'; -import { EntityAllureReportContent } from '../src/plugin'; -import { Content, Header, Page } from '@backstage/core-components'; -import { EntityProvider } from '@backstage/plugin-catalog-react'; -import { Entity } from '@backstage/catalog-model'; - -import exampleEntity from './example-entity.yaml'; -import { allureApiRef } from '../src/api'; - -createDevApp() - .registerApi({ - api: allureApiRef, - deps: {}, - factory: () => - ({ - async getReportUrl(projectId: string) { - return Promise.resolve( - // Follow the instructions from https://github.com/fescobar/allure-docker-service-ui - // to setup Allure service locally - `http://localhost:5050/allure-docker-service/projects/${projectId}/reports/latest/index.html`, - ); - }, - } as unknown as typeof allureApiRef.T), - }) - .addPage({ - element: ( - -
- - - - - - - ), - title: 'Allure Report', - path: '/allure', - }) - .render(); diff --git a/plugins/allure/knip-report.md b/plugins/allure/knip-report.md deleted file mode 100644 index ba9c1dddc5..0000000000 --- a/plugins/allure/knip-report.md +++ /dev/null @@ -1,9 +0,0 @@ -# Knip report - -## Unused devDependencies (2) - -| Name | Location | Severity | -| :--------------------- | :----------- | :------- | -| @testing-library/react | package.json | error | -| @testing-library/dom | package.json | error | - diff --git a/plugins/allure/package.json b/plugins/allure/package.json deleted file mode 100644 index c44f32baed..0000000000 --- a/plugins/allure/package.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "@backstage/plugin-allure", - "version": "0.1.50", - "description": "A Backstage plugin that integrates with Allure", - "backstage": { - "role": "frontend-plugin", - "moved": "@backstage-community/plugin-allure" - }, - "publishConfig": { - "access": "public", - "main": "dist/index.esm.js", - "types": "dist/index.d.ts" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/allure" - }, - "license": "Apache-2.0", - "sideEffects": false, - "main": "src/index.ts", - "types": "src/index.ts", - "files": [ - "dist" - ], - "scripts": { - "build": "backstage-cli package build", - "clean": "backstage-cli package clean", - "lint": "backstage-cli package lint", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack", - "start": "backstage-cli package start", - "test": "backstage-cli package test" - }, - "dependencies": { - "@backstage/catalog-model": "workspace:^", - "@backstage/core-components": "workspace:^", - "@backstage/core-plugin-api": "workspace:^", - "@backstage/plugin-catalog-react": "workspace:^", - "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-use": "^17.2.4" - }, - "devDependencies": { - "@backstage/cli": "workspace:^", - "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", - "@testing-library/dom": "^10.0.0", - "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^15.0.0", - "msw": "^1.0.0" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-router-dom": "6.0.0-beta.0 || ^6.3.0" - }, - "configSchema": { - "$schema": "https://backstage.io/schema/config-v1", - "title": "@backstage/allure", - "type": "object", - "properties": { - "allure": { - "type": "object", - "properties": { - "baseUrl": { - "type": "string", - "visibility": "frontend" - } - } - } - } - }, - "deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-allure instead." -} diff --git a/plugins/allure/src/api/AllureApi.ts b/plugins/allure/src/api/AllureApi.ts deleted file mode 100644 index a926da03d0..0000000000 --- a/plugins/allure/src/api/AllureApi.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* - * 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 { createApiRef } from '@backstage/core-plugin-api'; - -export type AllureApi = { - getReportUrl(projectId: string): Promise; -}; - -export const allureApiRef = createApiRef({ - id: 'allure-api', -}); diff --git a/plugins/allure/src/api/AllureApiClient.ts b/plugins/allure/src/api/AllureApiClient.ts deleted file mode 100644 index 698713c837..0000000000 --- a/plugins/allure/src/api/AllureApiClient.ts +++ /dev/null @@ -1,30 +0,0 @@ -/* - * 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 { ConfigApi } from '@backstage/core-plugin-api'; -import { AllureApi } from './AllureApi'; - -export class AllureApiClient implements AllureApi { - readonly configApi: ConfigApi; - - constructor(options: { configApi: ConfigApi }) { - this.configApi = options.configApi; - } - - async getReportUrl(projectId: string): Promise { - const baseUrl = this.configApi.getString('allure.baseUrl'); - return `${baseUrl}/projects/${projectId}/reports/latest/index.html`; - } -} diff --git a/plugins/allure/src/api/index.ts b/plugins/allure/src/api/index.ts deleted file mode 100644 index 1c1adb1db2..0000000000 --- a/plugins/allure/src/api/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * 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. - */ -export { allureApiRef } from './AllureApi'; -export { AllureApiClient } from './AllureApiClient'; diff --git a/plugins/allure/src/components/AllureReportComponent/AllureReportComponent.test.tsx b/plugins/allure/src/components/AllureReportComponent/AllureReportComponent.test.tsx deleted file mode 100644 index a21ecbe10e..0000000000 --- a/plugins/allure/src/components/AllureReportComponent/AllureReportComponent.test.tsx +++ /dev/null @@ -1,52 +0,0 @@ -/* - * 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 { AllureReportComponent } from './AllureReportComponent'; -import { rest } from 'msw'; -import { setupServer } from 'msw/node'; -import { - setupRequestMockHandlers, - renderInTestApp, -} from '@backstage/test-utils'; -import { EntityProvider } from '@backstage/plugin-catalog-react'; - -describe('ExampleComponent', () => { - const server = setupServer(); - // Enable sane handlers for network requests - setupRequestMockHandlers(server); - - // setup mock response - beforeEach(() => { - server.use( - rest.get('/*', (_, res, ctx) => res(ctx.status(200), ctx.json({}))), - ); - }); - - it('should render', async () => { - const rendered = await renderInTestApp( - - - , - ); - expect(rendered.getByText('Missing Annotation')).toBeInTheDocument(); - }); -}); diff --git a/plugins/allure/src/components/AllureReportComponent/AllureReportComponent.tsx b/plugins/allure/src/components/AllureReportComponent/AllureReportComponent.tsx deleted file mode 100644 index ca59dc53fa..0000000000 --- a/plugins/allure/src/components/AllureReportComponent/AllureReportComponent.tsx +++ /dev/null @@ -1,65 +0,0 @@ -/* - * 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 { useApi } from '@backstage/core-plugin-api'; -import { allureApiRef } from '../../api'; -import { - useEntity, - MissingAnnotationEmptyState, -} from '@backstage/plugin-catalog-react'; -import { - ALLURE_PROJECT_ID_ANNOTATION, - isAllureReportAvailable, - getAllureProjectId, -} from '../annotationHelpers'; -import { Progress } from '@backstage/core-components'; -import useAsync from 'react-use/esm/useAsync'; -import { Entity } from '@backstage/catalog-model'; - -const AllureReport = (props: { entity: Entity }) => { - const allureApi = useApi(allureApiRef); - - const allureProjectId = getAllureProjectId(props.entity); - const { value, loading } = useAsync(async () => { - const url = await allureApi.getReportUrl(allureProjectId); - return url; - }); - - if (loading) { - return ; - } - return ( -