From 1788cf9d9f94fb33c51b9f95d2176f7ebc46d208 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 08:42:01 +0000 Subject: [PATCH 01/66] chore(deps): update dependency @openapitools/openapi-generator-cli to v2.13.4 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 42 +++++++++++++++--------------------------- 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/yarn.lock b/yarn.lock index a9d18ff80e..d54c29f3aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10728,15 +10728,14 @@ __metadata: languageName: node linkType: hard -"@nestjs/axios@npm:3.0.1": - version: 3.0.1 - resolution: "@nestjs/axios@npm:3.0.1" +"@nestjs/axios@npm:3.0.2": + version: 3.0.2 + resolution: "@nestjs/axios@npm:3.0.2" peerDependencies: "@nestjs/common": ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 axios: ^1.3.1 - reflect-metadata: ^0.1.12 rxjs: ^6.0.0 || ^7.0.0 - checksum: 01cebc64efa7a1d9df7a9053fbc5124986a95078789a0f280a2a61c31601a70a35745e07fc385497b4f85c7bdb6216a3575728646f1e6e684c038ac31900129c + checksum: 285a735fb5db602b63aa4a37e161f609b2cec05b69f4bffe983617c2136ac29c0a33bb96e6276d22a656907bed5d53460e740310bc05c043dcd39c37db7cda29 languageName: node linkType: hard @@ -11868,14 +11867,14 @@ __metadata: linkType: hard "@openapitools/openapi-generator-cli@npm:^2.4.26, @openapitools/openapi-generator-cli@npm:^2.7.0": - version: 2.13.2 - resolution: "@openapitools/openapi-generator-cli@npm:2.13.2" + version: 2.13.4 + resolution: "@openapitools/openapi-generator-cli@npm:2.13.4" dependencies: - "@nestjs/axios": 3.0.1 + "@nestjs/axios": 3.0.2 "@nestjs/common": 10.3.0 "@nestjs/core": 10.3.0 "@nuxtjs/opencollective": 0.3.2 - axios: 1.6.5 + axios: 1.6.8 chalk: 4.1.2 commander: 8.3.0 compare-versions: 4.1.4 @@ -11891,7 +11890,7 @@ __metadata: tslib: 2.6.2 bin: openapi-generator-cli: main.js - checksum: 553458ffface4090f117ec488352f664bb4656b645ef51faf5be35f27e739ac5c8931adf401309dfa0aad7ceefa39fb267d452b72d7a22f0fdb26d988d73b642 + checksum: 825a49ff86632767d318fa860d9d251984b9b3e8f386cf8298430005f20611d7b535c6e87e370edd19ff824a5c68cf65efc93cbb64d7a2f1649e46a8887cf5d2 languageName: node linkType: hard @@ -18822,14 +18821,14 @@ __metadata: languageName: node linkType: hard -"axios@npm:1.6.5": - version: 1.6.5 - resolution: "axios@npm:1.6.5" +"axios@npm:1.6.8, axios@npm:^1.0.0, axios@npm:^1.4.0, axios@npm:^1.6.0": + version: 1.6.8 + resolution: "axios@npm:1.6.8" dependencies: - follow-redirects: ^1.15.4 + follow-redirects: ^1.15.6 form-data: ^4.0.0 proxy-from-env: ^1.1.0 - checksum: e28d67b2d9134cb4608c44d8068b0678cfdccc652742e619006f27264a30c7aba13b2cd19c6f1f52ae195b5232734925928fb192d5c85feea7edd2f273df206d + checksum: bf007fa4b207d102459300698620b3b0873503c6d47bf5a8f6e43c0c64c90035a4f698b55027ca1958f61ab43723df2781c38a99711848d232cad7accbcdfcdd languageName: node linkType: hard @@ -18843,17 +18842,6 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.0.0, axios@npm:^1.4.0, axios@npm:^1.6.0": - version: 1.6.8 - resolution: "axios@npm:1.6.8" - dependencies: - follow-redirects: ^1.15.6 - form-data: ^4.0.0 - proxy-from-env: ^1.1.0 - checksum: bf007fa4b207d102459300698620b3b0873503c6d47bf5a8f6e43c0c64c90035a4f698b55027ca1958f61ab43723df2781c38a99711848d232cad7accbcdfcdd - languageName: node - linkType: hard - "axobject-query@npm:^3.2.1": version: 3.2.1 resolution: "axobject-query@npm:3.2.1" @@ -25051,7 +25039,7 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.9, follow-redirects@npm:^1.15.4, follow-redirects@npm:^1.15.6": +"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.9, follow-redirects@npm:^1.15.6": version: 1.15.6 resolution: "follow-redirects@npm:1.15.6" peerDependenciesMeta: From b9b3d647f767a8ddb397e9af11f10cfeb0a12c19 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 19:34:27 +0000 Subject: [PATCH 02/66] fix(deps): update dependency dompurify to v3.1.3 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index cf61ceace7..df9188b89a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24187,7 +24187,7 @@ __metadata: languageName: node linkType: hard -"dompurify@npm:=3.1.0, dompurify@npm:^3.0.0": +"dompurify@npm:=3.1.0": version: 3.1.0 resolution: "dompurify@npm:3.1.0" checksum: 06fc76607cd076e394b2ea5479ab6f0407b8fedb6877ae95e94207b878365e5e1cd914055dacce152a5f419818afb8d4cd284b780246cf35363f0747c179a0ba @@ -24195,9 +24195,16 @@ __metadata: linkType: hard "dompurify@npm:^2.2.7": - version: 2.5.0 - resolution: "dompurify@npm:2.5.0" - checksum: 9eab7be868ddb5a43fa634898605681e7b6b18dc5b89f5d143afc9ec63bb4d2c113a15900d5ee363859aa8722e8534da346486997eafbb29e3178cbb89077e15 + version: 2.5.3 + resolution: "dompurify@npm:2.5.3" + checksum: 816726f99d6b6e52dcda4656c5db20767844eb7d5f57e8c6d5d5e3e6d5b291874ad6cd28fd82b2e0fcd42c45a6cafe5e0047493272944f000bda06a98c74a72d + languageName: node + linkType: hard + +"dompurify@npm:^3.0.0": + version: 3.1.3 + resolution: "dompurify@npm:3.1.3" + checksum: ad8bbf8f73e44bb2b0fa1f676a248515332ac9fadc57e5f7ffc8e1f597c7cb7ecd9ecb80075f0934fa4362bef33779107ed165e3d5fa84e80eb603defdf7aed2 languageName: node linkType: hard From 46c61f683bacba24ed7058c5041f3398c0a43ffb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 30 May 2024 12:58:30 +0000 Subject: [PATCH 03/66] chore(deps): update actions/checkout digest to a5ac7e5 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/api-breaking-changes-comment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/api-breaking-changes-comment.yml b/.github/workflows/api-breaking-changes-comment.yml index 9ae32e1d4a..317690f875 100644 --- a/.github/workflows/api-breaking-changes-comment.yml +++ b/.github/workflows/api-breaking-changes-comment.yml @@ -90,7 +90,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 # Identify comment to be updated - name: Find comment for API Changes From 41279aa8998296b820ba237cd17204eaa68be134 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 30 May 2024 12:58:46 +0000 Subject: [PATCH 04/66] chore(deps): update backstage/actions action to v0.6.11 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/api-breaking-changes.yml | 2 +- .github/workflows/automate_changeset_feedback.yml | 2 +- .github/workflows/ci.yml | 6 +++--- .github/workflows/cron.yml | 2 +- .github/workflows/deploy_docker-image.yml | 2 +- .github/workflows/deploy_nightly.yml | 2 +- .github/workflows/deploy_packages.yml | 4 ++-- .github/workflows/pr-review-comment.yaml | 2 +- .github/workflows/pr.yaml | 2 +- .github/workflows/sync_code-formatting.yml | 2 +- .github/workflows/sync_snyk-github-issues.yml | 2 +- .github/workflows/verify_accessibility.yml | 2 +- .github/workflows/verify_e2e-kubernetes.yml | 2 +- .github/workflows/verify_e2e-linux.yml | 2 +- .github/workflows/verify_e2e-windows.yml | 2 +- .github/workflows/verify_storybook.yml | 2 +- 16 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/api-breaking-changes.yml b/.github/workflows/api-breaking-changes.yml index d44e524ccb..d62e606c0e 100644 --- a/.github/workflows/api-breaking-changes.yml +++ b/.github/workflows/api-breaking-changes.yml @@ -33,7 +33,7 @@ jobs: registry-url: https://registry.npmjs.org/ - name: yarn install - uses: backstage/actions/yarn-install@a674369920067381b450d398b27df7039b7ef635 # v0.6.5 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: linux-v18 diff --git a/.github/workflows/automate_changeset_feedback.yml b/.github/workflows/automate_changeset_feedback.yml index 95b0a808a1..08898e5bb5 100644 --- a/.github/workflows/automate_changeset_feedback.yml +++ b/.github/workflows/automate_changeset_feedback.yml @@ -34,7 +34,7 @@ jobs: ref: 'refs/pull/${{ github.event.pull_request.number }}/merge' - name: fetch base run: git fetch --depth 1 origin ${{ github.base_ref }} - - uses: backstage/actions/changeset-feedback@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + - uses: backstage/actions/changeset-feedback@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 name: Generate feedback with: diff-ref: 'origin/master' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 00181adb5e..a5bc6c2894 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,7 @@ jobs: registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} @@ -77,7 +77,7 @@ jobs: registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} @@ -222,7 +222,7 @@ jobs: registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml index 7dcb4a9c0f..ede29d2730 100644 --- a/.github/workflows/cron.yml +++ b/.github/workflows/cron.yml @@ -13,7 +13,7 @@ jobs: with: egress-policy: audit - - uses: backstage/actions/cron@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + - uses: backstage/actions/cron@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }} private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }} diff --git a/.github/workflows/deploy_docker-image.yml b/.github/workflows/deploy_docker-image.yml index ddf01fa49c..48e74fdf47 100644 --- a/.github/workflows/deploy_docker-image.yml +++ b/.github/workflows/deploy_docker-image.yml @@ -37,7 +37,7 @@ jobs: registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/deploy_nightly.yml b/.github/workflows/deploy_nightly.yml index 02a1c65681..4014da8360 100644 --- a/.github/workflows/deploy_nightly.yml +++ b/.github/workflows/deploy_nightly.yml @@ -27,7 +27,7 @@ jobs: node-version: 18.x registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: ${{ runner.os }}-v18.x diff --git a/.github/workflows/deploy_packages.yml b/.github/workflows/deploy_packages.yml index 04badd65b0..76184fcb39 100644 --- a/.github/workflows/deploy_packages.yml +++ b/.github/workflows/deploy_packages.yml @@ -82,7 +82,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} @@ -166,7 +166,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/pr-review-comment.yaml b/.github/workflows/pr-review-comment.yaml index 232089e2f3..d722894df7 100644 --- a/.github/workflows/pr-review-comment.yaml +++ b/.github/workflows/pr-review-comment.yaml @@ -40,7 +40,7 @@ jobs: const prNumber = artifact.name.slice('pr_number-'.length) core.setOutput('pr-number', prNumber); - - uses: backstage/actions/re-review@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + - uses: backstage/actions/re-review@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }} private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 779137b52a..8193bfaf79 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -23,7 +23,7 @@ jobs: egress-policy: audit - name: PR sync - uses: backstage/actions/pr-sync@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/pr-sync@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }} app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }} diff --git a/.github/workflows/sync_code-formatting.yml b/.github/workflows/sync_code-formatting.yml index bb2e00ffa6..a854323207 100644 --- a/.github/workflows/sync_code-formatting.yml +++ b/.github/workflows/sync_code-formatting.yml @@ -25,7 +25,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/sync_snyk-github-issues.yml b/.github/workflows/sync_snyk-github-issues.yml index cb5eaa1737..1ef69a240d 100644 --- a/.github/workflows/sync_snyk-github-issues.yml +++ b/.github/workflows/sync_snyk-github-issues.yml @@ -24,7 +24,7 @@ jobs: node-version: 18.x registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: ${{ runner.os }}-v18.x diff --git a/.github/workflows/verify_accessibility.yml b/.github/workflows/verify_accessibility.yml index 996153f8d3..8a4ca15ed8 100644 --- a/.github/workflows/verify_accessibility.yml +++ b/.github/workflows/verify_accessibility.yml @@ -30,7 +30,7 @@ jobs: with: node-version: 18.x - name: yarn install - uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: ${{ runner.os }}-v18.x - name: run Lighthouse CI diff --git a/.github/workflows/verify_e2e-kubernetes.yml b/.github/workflows/verify_e2e-kubernetes.yml index 77d2c3bdc1..46eef15534 100644 --- a/.github/workflows/verify_e2e-kubernetes.yml +++ b/.github/workflows/verify_e2e-kubernetes.yml @@ -35,7 +35,7 @@ jobs: registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/verify_e2e-linux.yml b/.github/workflows/verify_e2e-linux.yml index f8583ac178..1c6bb1b7b6 100644 --- a/.github/workflows/verify_e2e-linux.yml +++ b/.github/workflows/verify_e2e-linux.yml @@ -58,7 +58,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/verify_e2e-windows.yml b/.github/workflows/verify_e2e-windows.yml index e2a789d666..08d9fc70cb 100644 --- a/.github/workflows/verify_e2e-windows.yml +++ b/.github/workflows/verify_e2e-windows.yml @@ -78,7 +78,7 @@ jobs: uses: browser-actions/setup-chrome@803ef6dfb4fdf22089c9563225d95e4a515820a0 # latest - name: yarn install - uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/verify_storybook.yml b/.github/workflows/verify_storybook.yml index 1859c0b8bc..0363d6e071 100644 --- a/.github/workflows/verify_storybook.yml +++ b/.github/workflows/verify_storybook.yml @@ -42,7 +42,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7 + uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} - name: storybook yarn install From 4b39c4d27e1f4a6ac032710a0e84276069333b12 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 20:04:12 +0000 Subject: [PATCH 05/66] fix(deps): update dependency @types/express-serve-static-core to v4.19.3 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 5bec6d68de..5beb8b42c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17163,14 +17163,14 @@ __metadata: linkType: hard "@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.33, @types/express-serve-static-core@npm:^4.17.5": - version: 4.19.0 - resolution: "@types/express-serve-static-core@npm:4.19.0" + version: 4.19.3 + resolution: "@types/express-serve-static-core@npm:4.19.3" dependencies: "@types/node": "*" "@types/qs": "*" "@types/range-parser": "*" "@types/send": "*" - checksum: 39c09fcb3f61de96ed56d97273874cafe50e6675ac254af4d77014e569e4fdc29d1d0d1dd12e11f008cb9a52785b07c2801c6ba91397965392b20c75ee01fb4e + checksum: fff38a7f43baeb6a62380682d39846c9d92047e0dce1737d76ebd944528619abc18addc4f0548bf43dbf4514090a1bd5140ba36695024656f941a87424b8ed7d languageName: node linkType: hard From f262a45b4a728aceb45f06b45aad8c38fdaa6dea Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 4 Jun 2024 15:30:55 +0000 Subject: [PATCH 06/66] chore(deps): update github/codeql-action action to v3.25.8 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/scorecard.yml | 2 +- .github/workflows/sync_snyk-monitor.yml | 2 +- .github/workflows/verify_codeql.yml | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 8d5b2522af..253219d2fc 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -67,6 +67,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/upload-sarif@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 with: sarif_file: results.sarif diff --git a/.github/workflows/sync_snyk-monitor.yml b/.github/workflows/sync_snyk-monitor.yml index 4678c36907..780f08422d 100644 --- a/.github/workflows/sync_snyk-monitor.yml +++ b/.github/workflows/sync_snyk-monitor.yml @@ -58,6 +58,6 @@ jobs: SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} NODE_OPTIONS: --max-old-space-size=7168 - name: Upload Snyk report - uses: github/codeql-action/upload-sarif@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/upload-sarif@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 with: sarif_file: snyk.sarif diff --git a/.github/workflows/verify_codeql.yml b/.github/workflows/verify_codeql.yml index bcac7e947c..23dbac3130 100644 --- a/.github/workflows/verify_codeql.yml +++ b/.github/workflows/verify_codeql.yml @@ -55,7 +55,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/init@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -66,7 +66,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/autobuild@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -80,4 +80,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/analyze@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 From 01813619dca4e27c1b91b0d50bcfa4954fef501b Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Wed, 5 Jun 2024 17:09:14 +0200 Subject: [PATCH 07/66] owners: update community plugin maintainers Signed-off-by: Patrik Oldsberg --- OWNERS.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OWNERS.md b/OWNERS.md index bf97c91685..186263b045 100644 --- a/OWNERS.md +++ b/OWNERS.md @@ -114,10 +114,10 @@ Scope: Tooling and Community Repo Maintainers for the Backstage [Community Plugi | Name | Organization | GitHub | Discord | | -------------------- | ------------ | ------------------------------------------- | ------------ | -| Bethany Griggs | Red Hat | [BethGriggs](https://github.com/BethGriggs) | `bethgriggs` | -| Tomas Kral | Red Hat | [kadel](https://github.com/kadel) | `tomkral` | | André Wanlin | Spotify | [awanlin](https://github.com/awanlin) | `ahhhndre` | -| Philipp Hugenroth | Spotify | [tudi2d](https://github.com/tudi2d) | `tudi2d` | +| Bethany Griggs | Red Hat | [BethGriggs](https://github.com/BethGriggs) | `bethgriggs` | +| Nick Boldt | Red Hat | [nickboldt](https://github.com/nickboldt) | `nboldt` | +| Tomas Kral | Red Hat | [kadel](https://github.com/kadel) | `tomkral` | | Vincenzo Scamporlino | Spotify | [vinzscam](https://github.com/vinzscam) | `vinzscam` | ### Events From 8ebb782550296e5f1f94615e96b469fe19d87876 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 6 Jun 2024 13:52:34 +0000 Subject: [PATCH 08/66] Update chromaui/action digest to fa68b99 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/verify_storybook.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/verify_storybook.yml b/.github/workflows/verify_storybook.yml index 1859c0b8bc..3f54f58556 100644 --- a/.github/workflows/verify_storybook.yml +++ b/.github/workflows/verify_storybook.yml @@ -51,7 +51,7 @@ jobs: - run: yarn build-storybook - - uses: chromaui/action@3dcb6636a4f8eed347ef6214f5d74d2b5fee45e4 # v11 + - uses: chromaui/action@fa68b990eaee8aa67857557651a1953a8eb6d70b # v11 with: token: ${{ secrets.GITHUB_TOKEN }} # projectToken intentionally shared to allow collaborators to run Chromatic on forks From 68ec3614d795c660de5ea02af14c3e2182540e50 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Thu, 6 Jun 2024 20:39:53 +0200 Subject: [PATCH 09/66] Update OWNERS.md Co-authored-by: Bethany Griggs Signed-off-by: Patrik Oldsberg --- OWNERS.md | 1 - 1 file changed, 1 deletion(-) diff --git a/OWNERS.md b/OWNERS.md index 186263b045..1437629881 100644 --- a/OWNERS.md +++ b/OWNERS.md @@ -117,7 +117,6 @@ Scope: Tooling and Community Repo Maintainers for the Backstage [Community Plugi | André Wanlin | Spotify | [awanlin](https://github.com/awanlin) | `ahhhndre` | | Bethany Griggs | Red Hat | [BethGriggs](https://github.com/BethGriggs) | `bethgriggs` | | Nick Boldt | Red Hat | [nickboldt](https://github.com/nickboldt) | `nboldt` | -| Tomas Kral | Red Hat | [kadel](https://github.com/kadel) | `tomkral` | | Vincenzo Scamporlino | Spotify | [vinzscam](https://github.com/vinzscam) | `vinzscam` | ### Events From be1014d2294f8a7922741e9d79946bf039e01b51 Mon Sep 17 00:00:00 2001 From: Andre Wanlin Date: Fri, 7 Jun 2024 19:47:06 -0500 Subject: [PATCH 10/66] Removed deprecated `GitHub` cased code Signed-off-by: Andre Wanlin --- .changeset/nasty-roses-flash.md | 12 ++++ packages/integration/src/github/deprecated.ts | 71 ------------------- 2 files changed, 12 insertions(+), 71 deletions(-) create mode 100644 .changeset/nasty-roses-flash.md delete mode 100644 packages/integration/src/github/deprecated.ts diff --git a/.changeset/nasty-roses-flash.md b/.changeset/nasty-roses-flash.md new file mode 100644 index 0000000000..50ac7f2e50 --- /dev/null +++ b/.changeset/nasty-roses-flash.md @@ -0,0 +1,12 @@ +--- +'@backstage/integration': patch +--- + +**BREAKING** Removed deprecated code from when casing was changed from `GitHub` to `Github` nearly two years ago. The following items have been removed: + +- `getGitHubFileFetchUrl` (use `getGithubFileFetchUrl` instead) +- `GitHubIntegrationConfig` (use `GithubIntegrationConfig` instead) +- `GitHubIntegration` (use `GithubIntegration` instead) +- `readGitHubIntegrationConfig` (use `readGithubIntegrationConfig` instead) +- `readGitHubIntegrationConfigs` (use `readGithubIntegrationConfigs` instead) +- `replaceGitHubUrlType` (use `replaceGithubUrlType` instead) diff --git a/packages/integration/src/github/deprecated.ts b/packages/integration/src/github/deprecated.ts deleted file mode 100644 index 127040c1a7..0000000000 --- a/packages/integration/src/github/deprecated.ts +++ /dev/null @@ -1,71 +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 { - GithubIntegrationConfig, - readGithubIntegrationConfig, - readGithubIntegrationConfigs, -} from './config'; -import { getGithubFileFetchUrl } from './core'; -import { GithubIntegration, replaceGithubUrlType } from './GithubIntegration'; -import { ScmIntegrationsFactory } from '../types'; - -/** - * @public - * @deprecated Use {@link getGithubFileFetchUrl} instead. - */ -export const getGitHubFileFetchUrl = getGithubFileFetchUrl; - -/** - * @public - * @deprecated Use {@link GithubIntegrationConfig} instead. - */ -export type GitHubIntegrationConfig = GithubIntegrationConfig; - -/** - * @public - * @deprecated Use {@link GithubIntegration} instead. - */ -export class GitHubIntegration extends GithubIntegration { - static factory: ScmIntegrationsFactory = - GithubIntegration.factory; - - constructor(integrationConfig: GitHubIntegrationConfig) { - super(integrationConfig as GithubIntegrationConfig); - } - - get config(): GitHubIntegrationConfig { - return super.config as GitHubIntegrationConfig; - } -} - -/** - * @public - * @deprecated Use {@link readGithubIntegrationConfig} instead. - */ -export const readGitHubIntegrationConfig = readGithubIntegrationConfig; - -/** - * @public - * @deprecated Use {@link readGithubIntegrationConfigs} instead. - */ -export const readGitHubIntegrationConfigs = readGithubIntegrationConfigs; - -/** - * @public - * @deprecated Use {@link replaceGithubUrlType} instead. - */ -export const replaceGitHubUrlType = replaceGithubUrlType; From 3e0124dff2065fc5df8c5864b91fcb43e760f3d4 Mon Sep 17 00:00:00 2001 From: Andre Wanlin Date: Sat, 8 Jun 2024 11:50:47 -0500 Subject: [PATCH 11/66] Removed export Signed-off-by: Andre Wanlin --- packages/integration/src/github/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/integration/src/github/index.ts b/packages/integration/src/github/index.ts index 816b0d2ff9..ea6f18f2e0 100644 --- a/packages/integration/src/github/index.ts +++ b/packages/integration/src/github/index.ts @@ -31,5 +31,3 @@ export type { GithubCredentialType, } from './types'; export { GithubIntegration, replaceGithubUrlType } from './GithubIntegration'; - -export * from './deprecated'; From 01e646a032b65265ebea63dfba7a47eb7e5d867e Mon Sep 17 00:00:00 2001 From: Johan Hammar Date: Sun, 9 Jun 2024 18:27:20 +0200 Subject: [PATCH 12/66] fix: fix broken node-postgres url Signed-off-by: Johan Hammar --- docs/deployment/flightcontrol.md | 2 +- .../create-app/templates/default-app/app-config.production.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/deployment/flightcontrol.md b/docs/deployment/flightcontrol.md index 6078d931fb..5d59371b47 100644 --- a/docs/deployment/flightcontrol.md +++ b/docs/deployment/flightcontrol.md @@ -123,7 +123,7 @@ backend: # all interfaces, the most permissive setting. The right value depends on your specific deployment. listen: ':7007' - # config options: https://node-postgres.com/api/client + # config options: https://node-postgres.com/apis/client database: client: pg pluginDivisionMode: 'schema' diff --git a/packages/create-app/templates/default-app/app-config.production.yaml b/packages/create-app/templates/default-app/app-config.production.yaml index 05b02acd4f..5532d9067e 100644 --- a/packages/create-app/templates/default-app/app-config.production.yaml +++ b/packages/create-app/templates/default-app/app-config.production.yaml @@ -13,7 +13,7 @@ backend: # all interfaces, the most permissive setting. The right value depends on your specific deployment. listen: ':7007' - # config options: https://node-postgres.com/api/client + # config options: https://node-postgres.com/apis/client database: client: pg connection: From 254209fa7ea64ebf95d45311d75384e4734bdc53 Mon Sep 17 00:00:00 2001 From: Andre Wanlin Date: Sun, 9 Jun 2024 15:21:24 -0500 Subject: [PATCH 13/66] Updated API Report Signed-off-by: Andre Wanlin --- packages/integration/api-report.md | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/packages/integration/api-report.md b/packages/integration/api-report.md index 4945847751..ef2247c2de 100644 --- a/packages/integration/api-report.md +++ b/packages/integration/api-report.md @@ -479,9 +479,6 @@ export function getGiteaRequestOptions(config: GiteaIntegrationConfig): { headers?: Record; }; -// @public @deprecated (undocumented) -export const getGitHubFileFetchUrl: typeof getGithubFileFetchUrl; - // @public export function getGithubFileFetchUrl( url: string, @@ -604,15 +601,6 @@ export interface GithubCredentialsProvider { // @public export type GithubCredentialType = 'app' | 'token'; -// @public @deprecated (undocumented) -export class GitHubIntegration extends GithubIntegration { - constructor(integrationConfig: GitHubIntegrationConfig); - // (undocumented) - get config(): GitHubIntegrationConfig; - // (undocumented) - static factory: ScmIntegrationsFactory; -} - // @public export class GithubIntegration implements ScmIntegration { constructor(integrationConfig: GithubIntegrationConfig); @@ -636,9 +624,6 @@ export class GithubIntegration implements ScmIntegration { get type(): string; } -// @public @deprecated (undocumented) -export type GitHubIntegrationConfig = GithubIntegrationConfig; - // @public export type GithubIntegrationConfig = { host: string; @@ -877,17 +862,11 @@ export function readGerritIntegrationConfigs( // @public export function readGiteaConfig(config: Config): GiteaIntegrationConfig; -// @public @deprecated (undocumented) -export const readGitHubIntegrationConfig: typeof readGithubIntegrationConfig; - // @public export function readGithubIntegrationConfig( config: Config, ): GithubIntegrationConfig; -// @public @deprecated (undocumented) -export const readGitHubIntegrationConfigs: typeof readGithubIntegrationConfigs; - // @public export function readGithubIntegrationConfigs( configs: Config[], @@ -911,9 +890,6 @@ export function readGoogleGcsIntegrationConfig( // @public export function readHarnessConfig(config: Config): HarnessIntegrationConfig; -// @public @deprecated (undocumented) -export const replaceGitHubUrlType: typeof replaceGithubUrlType; - // @public export function replaceGithubUrlType( url: string, From 0d12b9e85b704186ae7fb616cec4686c93023a08 Mon Sep 17 00:00:00 2001 From: Andre Wanlin <67169551+awanlin@users.noreply.github.com> Date: Mon, 10 Jun 2024 11:17:40 -0500 Subject: [PATCH 14/66] Update .changeset/nasty-roses-flash.md Co-authored-by: Vincenzo Scamporlino Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com> --- .changeset/nasty-roses-flash.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/nasty-roses-flash.md b/.changeset/nasty-roses-flash.md index 50ac7f2e50..4c09a7e47f 100644 --- a/.changeset/nasty-roses-flash.md +++ b/.changeset/nasty-roses-flash.md @@ -1,5 +1,5 @@ --- -'@backstage/integration': patch +'@backstage/integration': minor --- **BREAKING** Removed deprecated code from when casing was changed from `GitHub` to `Github` nearly two years ago. The following items have been removed: From 34daaea7209d2af4fd44fc63df15fafe54297c34 Mon Sep 17 00:00:00 2001 From: Johan Hammar Date: Mon, 10 Jun 2024 21:40:10 +0200 Subject: [PATCH 15/66] Add changeset Signed-off-by: Johan Hammar --- .changeset/rare-frogs-beam.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/rare-frogs-beam.md diff --git a/.changeset/rare-frogs-beam.md b/.changeset/rare-frogs-beam.md new file mode 100644 index 0000000000..981c0c00ce --- /dev/null +++ b/.changeset/rare-frogs-beam.md @@ -0,0 +1,5 @@ +--- +'@backstage/create-app': patch +--- + +Fixed a broken link to the node-postgres documentation From dcb75ee4c0c8b1b36d809510a4c93e5ccc2b1b91 Mon Sep 17 00:00:00 2001 From: "Stijn Brouwers (EISMEA)" Date: Sat, 18 May 2024 09:00:33 +0200 Subject: [PATCH 16/66] bugfix(code-commit-integration): Fix host for codecommit integrations Signed-off-by: Stijn Brouwers (EISMEA) --- docs/integrations/aws-codecommit/locations.md | 8 +++---- .../AwsCodeCommitIntegration.test.ts | 15 ++++++------ .../src/awsCodeCommit/config.test.ts | 15 ++++++------ .../integration/src/awsCodeCommit/config.ts | 24 +++++++++---------- 4 files changed, 29 insertions(+), 33 deletions(-) diff --git a/docs/integrations/aws-codecommit/locations.md b/docs/integrations/aws-codecommit/locations.md index 05a13e5b21..c91c995289 100644 --- a/docs/integrations/aws-codecommit/locations.md +++ b/docs/integrations/aws-codecommit/locations.md @@ -20,7 +20,8 @@ To use this integration, add configuration to your `app-config.yaml`: ```yaml integrations: awsCodeCommit: - - accessKeyId: ${AWS_ACCESS_KEY_ID} + - region: eu-west-1 + accessKeyId: ${AWS_ACCESS_KEY_ID} secretAccessKey: ${AWS_SECRET_ACCESS_KEY} ``` @@ -34,10 +35,7 @@ instruct the AWS CodeCommit reader to assume a role before accessing CodeCommit: ```yaml integrations: awsCodeCommit: - - accessKeyId: ${AWS_ACCESS_KEY_ID} - secretAccessKey: ${AWS_SECRET_ACCESS_KEY} + - region: eu-west-1 roleArn: 'arn:aws:iam::xxxxxxxxxxxx:role/example-role' externalId: 'some-id' # optional ``` - -When no entries are added, the AWS CodeCommit reader will add a default entry that uses the [standard credentials provider chain](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html). diff --git a/packages/integration/src/awsCodeCommit/AwsCodeCommitIntegration.test.ts b/packages/integration/src/awsCodeCommit/AwsCodeCommitIntegration.test.ts index 14b3c6c73b..76ccd59af6 100644 --- a/packages/integration/src/awsCodeCommit/AwsCodeCommitIntegration.test.ts +++ b/packages/integration/src/awsCodeCommit/AwsCodeCommitIntegration.test.ts @@ -30,30 +30,29 @@ describe('AwsCodeCommitIntegration', () => { secretAccessKey: ' secret key ', roleArn: `role arn`, externalId: `external id`, + region: `region`, }, ], }, }), }); expect(integrations.list().length).toBe(1); // including default - expect(integrations.list()[0].config.host).toBe(AMAZON_AWS_CODECOMMIT_HOST); + expect(integrations.list()[0].config.host).toBe( + `region.${AMAZON_AWS_CODECOMMIT_HOST}`, + ); expect(integrations.list()[0].config.accessKeyId).toBe('access key'); expect(integrations.list()[0].config.secretAccessKey).toBe('secret key'); expect(integrations.list()[0].config.roleArn).toBe(`role arn`); expect(integrations.list()[0].config.externalId).toBe(`external id`); + expect(integrations.list()[0].config.region).toBe(`region`); }); - it('has a working factory with default values when no data provided', () => { + it('does not have a working factory with default values when no data provided', () => { const integrations = AwsCodeCommitIntegration.factory({ config: new ConfigReader({ integrations: {}, }), }); - expect(integrations.list().length).toBe(1); // including default - expect(integrations.list()[0].config.host).toBe(AMAZON_AWS_CODECOMMIT_HOST); - expect(integrations.list()[0].config.accessKeyId).toBeUndefined(); - expect(integrations.list()[0].config.secretAccessKey).toBeUndefined(); - expect(integrations.list()[0].config.roleArn).toBeUndefined(); - expect(integrations.list()[0].config.externalId).toBeUndefined(); + expect(integrations.list().length).toBe(0); // including default }); it('returns the basics', () => { diff --git a/packages/integration/src/awsCodeCommit/config.test.ts b/packages/integration/src/awsCodeCommit/config.test.ts index 217485b45e..637189f1f8 100644 --- a/packages/integration/src/awsCodeCommit/config.test.ts +++ b/packages/integration/src/awsCodeCommit/config.test.ts @@ -31,7 +31,8 @@ describe('readAwsCodeCommitIntegrationConfig', () => { it('reads all values (default)', () => { const output = readAwsCodeCommitIntegrationConfig(buildConfig({})); expect(output).toEqual({ - host: AMAZON_AWS_CODECOMMIT_HOST, + host: `us-east-1.${AMAZON_AWS_CODECOMMIT_HOST}`, + region: `us-east-1`, }); }); @@ -42,14 +43,16 @@ describe('readAwsCodeCommitIntegrationConfig', () => { secretAccessKey: 'fake-secret-key', externalId: 'fake-external-id', roleArn: 'fake-role-arn', + region: 'fake-region', }), ); expect(output).toEqual({ - host: AMAZON_AWS_CODECOMMIT_HOST, + host: `fake-region.${AMAZON_AWS_CODECOMMIT_HOST}`, accessKeyId: 'fake-key', secretAccessKey: 'fake-secret-key', externalId: 'fake-external-id', roleArn: 'fake-role-arn', + region: 'fake-region', }); }); }); @@ -70,6 +73,7 @@ describe('readAwsCodeCommitIntegrationConfigs', () => { secretAccessKey: 'secret', externalId: 'external-id', roleArn: 'role-arn', + region: 'region', }, ]), ); @@ -79,15 +83,12 @@ describe('readAwsCodeCommitIntegrationConfigs', () => { secretAccessKey: 'secret', externalId: 'external-id', roleArn: 'role-arn', + region: 'region', }); }); it('adds a default entry when missing', () => { const output = readAwsCodeCommitIntegrationConfigs(buildConfig([])); - expect(output).toEqual([ - { - host: AMAZON_AWS_CODECOMMIT_HOST, - }, - ]); + expect(output).toEqual([]); }); }); diff --git a/packages/integration/src/awsCodeCommit/config.ts b/packages/integration/src/awsCodeCommit/config.ts index 0ebd62519f..9b8acccb6f 100644 --- a/packages/integration/src/awsCodeCommit/config.ts +++ b/packages/integration/src/awsCodeCommit/config.ts @@ -48,6 +48,11 @@ export type AwsCodeCommitIntegrationConfig = { * (Optional) External ID to use when assuming role */ externalId?: string; + + /** + * region to use for AWS (default: us-east-1) + */ + region: string; }; /** @@ -64,7 +69,10 @@ export function readAwsCodeCommitIntegrationConfig( const secretAccessKey = config.getOptionalString('secretAccessKey')?.trim(); const roleArn = config.getOptionalString('roleArn'); const externalId = config.getOptionalString('externalId'); - const host = AMAZON_AWS_CODECOMMIT_HOST; + const region = config.getOptionalString('region') || 'us-east-1'; + const host = + config.getOptionalString('host') || + `${region}.${AMAZON_AWS_CODECOMMIT_HOST}`; return { host, @@ -72,6 +80,7 @@ export function readAwsCodeCommitIntegrationConfig( secretAccessKey, roleArn, externalId, + region, }; } @@ -85,16 +94,5 @@ export function readAwsCodeCommitIntegrationConfig( export function readAwsCodeCommitIntegrationConfigs( configs: Config[], ): AwsCodeCommitIntegrationConfig[] { - // First read all the explicit integrations - const result = configs.map(readAwsCodeCommitIntegrationConfig); - - // If no explicit console.aws.amazon.com integration was added, put one in the list as - // a convenience - if (!result.some(c => c.host === AMAZON_AWS_CODECOMMIT_HOST)) { - result.push({ - host: AMAZON_AWS_CODECOMMIT_HOST, - }); - } - - return result; + return configs.map(readAwsCodeCommitIntegrationConfig); } From 786a8d0443a1d3b4ac65ab97dfbaefc2df263594 Mon Sep 17 00:00:00 2001 From: "Stijn Brouwers (EISMEA)" Date: Sat, 18 May 2024 09:24:29 +0200 Subject: [PATCH 17/66] feat(codecommit-integration): Make region mandatory Signed-off-by: Stijn Brouwers (EISMEA) --- docs/integrations/aws-codecommit/locations.md | 4 ++++ packages/integration/src/awsCodeCommit/config.test.ts | 4 +++- packages/integration/src/awsCodeCommit/config.ts | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/integrations/aws-codecommit/locations.md b/docs/integrations/aws-codecommit/locations.md index c91c995289..42b45f7905 100644 --- a/docs/integrations/aws-codecommit/locations.md +++ b/docs/integrations/aws-codecommit/locations.md @@ -39,3 +39,7 @@ integrations: roleArn: 'arn:aws:iam::xxxxxxxxxxxx:role/example-role' externalId: 'some-id' # optional ``` + +Each entry is a structure with the following required elements: + +- `region`: The AWS region to connect to, to communicate with the CodeCommit services. If no host is provided, this value will be used to determine the host url. diff --git a/packages/integration/src/awsCodeCommit/config.test.ts b/packages/integration/src/awsCodeCommit/config.test.ts index 637189f1f8..5bac85545c 100644 --- a/packages/integration/src/awsCodeCommit/config.test.ts +++ b/packages/integration/src/awsCodeCommit/config.test.ts @@ -29,7 +29,9 @@ describe('readAwsCodeCommitIntegrationConfig', () => { } it('reads all values (default)', () => { - const output = readAwsCodeCommitIntegrationConfig(buildConfig({})); + const output = readAwsCodeCommitIntegrationConfig( + buildConfig({ region: 'us-east-1' }), + ); expect(output).toEqual({ host: `us-east-1.${AMAZON_AWS_CODECOMMIT_HOST}`, region: `us-east-1`, diff --git a/packages/integration/src/awsCodeCommit/config.ts b/packages/integration/src/awsCodeCommit/config.ts index 9b8acccb6f..83c449ad16 100644 --- a/packages/integration/src/awsCodeCommit/config.ts +++ b/packages/integration/src/awsCodeCommit/config.ts @@ -69,7 +69,7 @@ export function readAwsCodeCommitIntegrationConfig( const secretAccessKey = config.getOptionalString('secretAccessKey')?.trim(); const roleArn = config.getOptionalString('roleArn'); const externalId = config.getOptionalString('externalId'); - const region = config.getOptionalString('region') || 'us-east-1'; + const region = config.getString('region'); const host = config.getOptionalString('host') || `${region}.${AMAZON_AWS_CODECOMMIT_HOST}`; From 2b8ea39a92ebf2ed95213fd5bd19655ebf516ded Mon Sep 17 00:00:00 2001 From: "Stijn Brouwers (EISMEA)" Date: Tue, 21 May 2024 10:47:47 +0200 Subject: [PATCH 18/66] bugfix(codecommit-integration): Fix unit tests and generate api-reports Signed-off-by: Stijn Brouwers (EISMEA) --- .../reading/AwsCodeCommitUrlReader.test.ts | 81 +++++++++++++++++-- .../src/api/ScmIntegrationsApi.test.ts | 2 +- packages/integration/api-report.md | 1 + 3 files changed, 77 insertions(+), 7 deletions(-) diff --git a/packages/backend-common/src/reading/AwsCodeCommitUrlReader.test.ts b/packages/backend-common/src/reading/AwsCodeCommitUrlReader.test.ts index 6263d073fc..a17f0c6c61 100644 --- a/packages/backend-common/src/reading/AwsCodeCommitUrlReader.test.ts +++ b/packages/backend-common/src/reading/AwsCodeCommitUrlReader.test.ts @@ -212,7 +212,7 @@ describe('AwsCodeCommitUrlReader', () => { integrations: {}, }); - expect(entries).toHaveLength(1); + expect(entries).toHaveLength(0); }); it('creates a reader with credentials correctly configured', () => { @@ -221,6 +221,7 @@ describe('AwsCodeCommitUrlReader', () => { host: AMAZON_AWS_CODECOMMIT_HOST, accessKeyId: 'fakekey', secretAccessKey: 'fakekey', + region: 'fakeregion', }); const entries = createReader({ @@ -236,6 +237,7 @@ describe('AwsCodeCommitUrlReader', () => { const awsCodeCommitIntegrations = []; awsCodeCommitIntegrations.push({ host: AMAZON_AWS_CODECOMMIT_HOST, + region: 'fakeregion', }); const entries = createReader({ @@ -247,10 +249,32 @@ describe('AwsCodeCommitUrlReader', () => { expect(entries).toHaveLength(1); }); + it('creates a reader without a region', () => { + const awsCodeCommitIntegrations: any[] = []; + awsCodeCommitIntegrations.push({ + accessKeyId: 'fakekey', + secretAccessKey: 'fakekey', + }); + + expect(() => { + createReader({ + integrations: { + awsCodeCommit: awsCodeCommitIntegrations, + }, + }); + }).toThrow( + "Missing required config value at 'integrations.awsCodeCommit[0].region' in 'mock-config'", + ); + }); + describe('predicates', () => { const readers = createReader({ integrations: { - awsCodeCommit: [{}], + awsCodeCommit: [ + { + region: 'fakeregion', + }, + ], }, }); const predicate = readers[0].predicate; @@ -259,7 +283,7 @@ describe('AwsCodeCommitUrlReader', () => { expect( predicate( new URL( - 'https://eu-west-1.console.aws.amazon.com/codesuite/codecommit/repositories/my-repo', + 'https://fakeregion.console.aws.amazon.com/codesuite/codecommit/repositories/my-repo', ), ), ).toBe(true); @@ -269,12 +293,54 @@ describe('AwsCodeCommitUrlReader', () => { expect( predicate( new URL( - 'https://eu-west-1.console.aws.amazon.com/codesuite/codecommit/repositories/my-repo/browse/--/catalog-info.yaml?region=eu-west-1', + 'https://fakeregion.console.aws.amazon.com/codesuite/codecommit/repositories/my-repo/browse/--/catalog-info.yaml?region=eu-west-1', ), ), ).toBe(true); }); + it('returns true for a url with the full path and the correct host when the host overrules the region', () => { + const predicateWithHost = createReader({ + integrations: { + awsCodeCommit: [ + { + host: 'fakehost', + region: 'fakeregion', + }, + ], + }, + })[0].predicate; + + expect( + predicateWithHost( + new URL( + 'https://fakehost/codesuite/codecommit/repositories/my-repo/browse/--/catalog-info.yaml?region=eu-west-1', + ), + ), + ).toBe(true); + }); + + it('returns false for a url with the full path and the wrong host when the host overrules the region', () => { + const predicateWithHost = createReader({ + integrations: { + awsCodeCommit: [ + { + host: 'fakehost', + region: 'fakeregion', + }, + ], + }, + })[0].predicate; + + expect( + predicateWithHost( + new URL( + 'https://fakeregion.console.aws.amazon.com/codesuite/codecommit/repositories/my-repo/browse/--/catalog-info.yaml?region=eu-west-1', + ), + ), + ).toBe(false); + }); + it('returns false for an incorrect host', () => { expect(predicate(new URL('https://amazon.com'))).toBe(false); }); @@ -304,6 +370,7 @@ describe('AwsCodeCommitUrlReader', () => { host: 'amazonaws.com', accessKeyId: 'fake-access-key', secretAccessKey: 'fake-secret-key', + region: 'fakeregion', }, ], }, @@ -348,6 +415,7 @@ describe('AwsCodeCommitUrlReader', () => { host: AMAZON_AWS_CODECOMMIT_HOST, accessKeyId: 'fake-access-key', secretAccessKey: 'fake-secret-key', + region: 'fakeregion', }, ], }, @@ -403,6 +471,7 @@ describe('AwsCodeCommitUrlReader', () => { host: AMAZON_AWS_CODECOMMIT_HOST, accessKeyId: 'fake-access-key', secretAccessKey: 'fake-secret-key', + region: 'fakeregion', }, ], }, @@ -509,9 +578,9 @@ describe('AwsCodeCommitUrlReader', () => { }); const config = new ConfigReader({ - host: AMAZON_AWS_CODECOMMIT_HOST, accessKeyId: 'fake-access-key', secretAccessKey: 'fake-secret-key', + region: 'fakeregion', }); const credsManager = DefaultAwsCredentialsManager.fromConfig(config); @@ -527,7 +596,7 @@ describe('AwsCodeCommitUrlReader', () => { it('returns contents of a file in a repository', async () => { const response = await awsCodeCommitUrlReader.readTree( - 'https://eu-west-1.console.aws.amazon.com/codesuite/codecommit/repositories/my-test-techdocs', + 'https://fakeregion.console.aws.amazon.com/codesuite/codecommit/repositories/my-test-techdocs', ); const files = await response.files(); diff --git a/packages/integration-react/src/api/ScmIntegrationsApi.test.ts b/packages/integration-react/src/api/ScmIntegrationsApi.test.ts index 0a1f1b1b8f..fb53bbdb12 100644 --- a/packages/integration-react/src/api/ScmIntegrationsApi.test.ts +++ b/packages/integration-react/src/api/ScmIntegrationsApi.test.ts @@ -26,6 +26,6 @@ describe('scmIntegrationsApiRef', () => { it('should be instantiated', () => { const i = ScmIntegrationsApi.fromConfig(new ConfigReader({})); - expect(i.list().length).toBe(7); // The default ones + expect(i.list().length).toBe(6); // The default ones }); }); diff --git a/packages/integration/api-report.md b/packages/integration/api-report.md index 4945847751..e5a655a667 100644 --- a/packages/integration/api-report.md +++ b/packages/integration/api-report.md @@ -35,6 +35,7 @@ export type AwsCodeCommitIntegrationConfig = { secretAccessKey?: string; roleArn?: string; externalId?: string; + region: string; }; // @public From 23ee9abacc8992f2db36a66b5e399a55d2edc9e2 Mon Sep 17 00:00:00 2001 From: "Stijn Brouwers (EISMEA)" Date: Tue, 21 May 2024 11:02:24 +0200 Subject: [PATCH 19/66] bugfix(codecommit-integration): Add changeset Signed-off-by: Stijn Brouwers (EISMEA) --- .changeset/spicy-ears-raise.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/spicy-ears-raise.md diff --git a/.changeset/spicy-ears-raise.md b/.changeset/spicy-ears-raise.md new file mode 100644 index 0000000000..a53ed9c721 --- /dev/null +++ b/.changeset/spicy-ears-raise.md @@ -0,0 +1,7 @@ +--- +'@backstage/integration-react': patch +'@backstage/backend-common': patch +'@backstage/integration': patch +--- + +Fix AWS CodeCommit integration by allowing to change the host From 697c44f4db21a4ca1738636e51b60256dd5e13a7 Mon Sep 17 00:00:00 2001 From: "Stijn Brouwers (EISMEA)" Date: Thu, 30 May 2024 08:02:54 +0200 Subject: [PATCH 20/66] feat(codecommit-integration): Add some documentation to locations.md Signed-off-by: Stijn Brouwers (EISMEA) --- docs/integrations/aws-codecommit/locations.md | 46 ++++++++++++++++++- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/docs/integrations/aws-codecommit/locations.md b/docs/integrations/aws-codecommit/locations.md index 42b45f7905..fc9d2cfb1c 100644 --- a/docs/integrations/aws-codecommit/locations.md +++ b/docs/integrations/aws-codecommit/locations.md @@ -17,6 +17,32 @@ plugin. To use this integration, add configuration to your `app-config.yaml`: +```yaml +integrations: + awsCodeCommit: + - region: eu-west-1 +``` + +This most basic example can only be used if you are running Backstage on an instance that has an IAM identity with the following policies: + +``` +{ + "Version": "2012-10-17", + "Statement": [ + { + "Action": [ + "codecommit:GetFile", + "codecommit:GetFolder" + ], + "Resource": "*", + "Effect": "Allow" + } + ] +} +``` + +If you are running Backstage outside AWS and want to use Access key authentication, you can use the following configuration: + ```yaml integrations: awsCodeCommit: @@ -40,6 +66,22 @@ integrations: externalId: 'some-id' # optional ``` -Each entry is a structure with the following required elements: +Each entry is a structure with the following **required** elements: -- `region`: The AWS region to connect to, to communicate with the CodeCommit services. If no host is provided, this value will be used to determine the host url. +- `region`: The AWS region to connect to, to communicate with the CodeCommit services + +The configuration can also provide a `host` property like the other integrations. If it is not provided, it will be determined from the provided region. +i.e. When you provide `eu-west-1` as the region, Backstage will use the host `eu-west-1.console.aws.amazon.com` to check whether a provided url matches the integration. + +## Register an entity on AWS CodeCommit + +To register an entity that is stored in an AWS CodeCommit repository, you need to fetch the URL from the AWS Console: + +- Navigate to the Code Commit service in the AWS Console ([https://console.aws.amazon.com/codecommit/home](https://console.aws.amazon.com/codecommit/home)) +- _Optional: Make sure you select the correct region if you don't use the default one (us-east-1)_ +- Select the repository where the entity file is stored +- Inside the repository navigate to the backstage entity file (`catalog-info.yaml`) and open the file +- Now you can copy-paste the URL from your browser inside Backstage + +The format would be something like: +`https://{region}.console.aws.amazon.com/codesuite/codecommit/repositories/{reponame}/browse/refs/heads/{branch}/--{/path-to-entity-file}/catalog-info.yaml` From ad91b87b0acaf328a1aaa199245c06494381069d Mon Sep 17 00:00:00 2001 From: "Stijn Brouwers (EISMEA)" Date: Thu, 30 May 2024 08:04:21 +0200 Subject: [PATCH 21/66] docs(codecommit-integration): Fix url format in locations.md Signed-off-by: Stijn Brouwers (EISMEA) --- docs/integrations/aws-codecommit/locations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/aws-codecommit/locations.md b/docs/integrations/aws-codecommit/locations.md index fc9d2cfb1c..35187b1b89 100644 --- a/docs/integrations/aws-codecommit/locations.md +++ b/docs/integrations/aws-codecommit/locations.md @@ -84,4 +84,4 @@ To register an entity that is stored in an AWS CodeCommit repository, you need t - Now you can copy-paste the URL from your browser inside Backstage The format would be something like: -`https://{region}.console.aws.amazon.com/codesuite/codecommit/repositories/{reponame}/browse/refs/heads/{branch}/--{/path-to-entity-file}/catalog-info.yaml` +`https://{region}.console.aws.amazon.com/codesuite/codecommit/repositories/{reponame}/browse/refs/heads/{branch}/--/catalog-info.yaml` From 8611dd754c9d67a5487798e289d6d6b0db787196 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 09:19:45 +0000 Subject: [PATCH 22/66] build(deps): bump braces from 3.0.2 to 3.0.3 in /microsite Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3. - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3) --- updated-dependencies: - dependency-name: braces dependency-type: indirect ... Signed-off-by: dependabot[bot] --- microsite/yarn.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/microsite/yarn.lock b/microsite/yarn.lock index ebaeb33c2f..9e1065749b 100644 --- a/microsite/yarn.lock +++ b/microsite/yarn.lock @@ -3996,11 +3996,11 @@ __metadata: linkType: hard "braces@npm:^3.0.2, braces@npm:~3.0.2": - version: 3.0.2 - resolution: "braces@npm:3.0.2" + version: 3.0.3 + resolution: "braces@npm:3.0.3" dependencies: - fill-range: ^7.0.1 - checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459 + fill-range: ^7.1.1 + checksum: b95aa0b3bd909f6cd1720ffcf031aeaf46154dd88b4da01f9a1d3f7ea866a79eba76a6d01cbc3c422b2ee5cdc39a4f02491058d5df0d7bf6e6a162a832df1f69 languageName: node linkType: hard @@ -5710,12 +5710,12 @@ __metadata: languageName: node linkType: hard -"fill-range@npm:^7.0.1": - version: 7.0.1 - resolution: "fill-range@npm:7.0.1" +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" dependencies: to-regex-range: ^5.0.1 - checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917 + checksum: b4abfbca3839a3d55e4ae5ec62e131e2e356bf4859ce8480c64c4876100f4df292a63e5bb1618e1d7460282ca2b305653064f01654474aa35c68000980f17798 languageName: node linkType: hard From 4a12560aabcfb459324398c115f9692b0c6267f4 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 8 Jun 2024 11:13:25 +0200 Subject: [PATCH 23/66] cli: add backstage.pluginId to repo fix Signed-off-by: Patrik Oldsberg --- .../cli-node/src/monorepo/PackageGraph.ts | 1 + packages/cli/src/commands/repo/fix.ts | 68 +++++++++++++++++++ 2 files changed, 69 insertions(+) diff --git a/packages/cli-node/src/monorepo/PackageGraph.ts b/packages/cli-node/src/monorepo/PackageGraph.ts index 68ba614c94..84012f0b91 100644 --- a/packages/cli-node/src/monorepo/PackageGraph.ts +++ b/packages/cli-node/src/monorepo/PackageGraph.ts @@ -46,6 +46,7 @@ export interface BackstagePackageJson { backstage?: { role?: PackageRole; moved?: string; + pluginId?: string; }; exports?: JsonValue; diff --git a/packages/cli/src/commands/repo/fix.ts b/packages/cli/src/commands/repo/fix.ts index 049f5a8416..ae1084127c 100644 --- a/packages/cli/src/commands/repo/fix.ts +++ b/packages/cli/src/commands/repo/fix.ts @@ -18,6 +18,7 @@ import { BackstagePackage, BackstagePackageJson, PackageGraph, + PackageRole, PackageRoles, } from '@backstage/cli-node'; import { OptionValues } from 'commander'; @@ -239,6 +240,72 @@ export function createRepositoryFieldFixer() { }; } +function guessPluginId(role: PackageRole, pkgName: string): string | undefined { + switch (role) { + case 'frontend': + case 'frontend-plugin': + return pkgName.match(/plugin-(.*)/)?.[1]; + case 'frontend-plugin-module': + return pkgName.match(/plugin-(.*)-module-/)?.[1]; + case 'backend-plugin': + return pkgName.match(/plugin-(.*)-backend$/)?.[1]; + case 'backend-plugin-module': + return pkgName.match(/plugin-(.*)-backend-module-/)?.[1]; + case 'common-library': + return pkgName.match(/plugin-(.*)-(?:common)$/)?.[1]; + case 'web-library': + return pkgName.match(/plugin-(.*)-(?:react|test-utils)/)?.[1]; + case 'node-library': + return pkgName.match(/plugin-(.*)-(?:node|backend)-?/)?.[1]; + default: + throw new Error(`Invalid backstage.role in ${pkgName}, got '${role}'`); + } +} + +export function fixPluginId(pkg: FixablePackage) { + const role = pkg.packageJson.backstage?.role; + if (!role) { + return; + } + + if (role === 'backend' || role === 'frontend' || role === 'cli') { + return; + } + + const currentId = pkg.packageJson.backstage?.pluginId; + if (currentId !== undefined) { + if (typeof currentId !== 'string') { + throw new Error( + `Invalid backstage.pluginId in ${pkg.packageJson.name}, must be a string`, + ); + } + return; + } + + const guessedPluginId = guessPluginId(role, pkg.packageJson.name); + if ( + !guessedPluginId && + (role === 'frontend-plugin' || + role === 'frontend-plugin-module' || + role === 'backend-plugin' || + role === 'backend-plugin-module') + ) { + const path = relativePath( + paths.targetRoot, + resolvePath(pkg.dir, 'package.json'), + ); + throw new Error( + `Failed to guess plugin ID for ${pkg.packageJson.name}, please set backstage.pluginId manually in ${path}`, + ); + } + + pkg.packageJson.backstage = { + ...pkg.packageJson.backstage, + pluginId: guessedPluginId, + }; + pkg.changed = true; +} + export async function command(opts: OptionValues): Promise { const packages = await readFixablePackages(); const fixRepositoryField = createRepositoryFieldFixer(); @@ -247,6 +314,7 @@ export async function command(opts: OptionValues): Promise { fixPackageExports(pkg); fixSideEffects(pkg); fixRepositoryField(pkg); + fixPluginId(pkg); } if (opts.check) { From c3cb8068b3f4a76d2141b69bf6e06de31db77524 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 8 Jun 2024 11:22:59 +0200 Subject: [PATCH 24/66] app-next-example-plugin: set pluginId Signed-off-by: Patrik Oldsberg --- packages/app-next-example-plugin/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/app-next-example-plugin/package.json b/packages/app-next-example-plugin/package.json index bca9420d69..be0d5fc8ee 100644 --- a/packages/app-next-example-plugin/package.json +++ b/packages/app-next-example-plugin/package.json @@ -3,7 +3,8 @@ "version": "0.0.12-next.1", "description": "Backstage internal example plugin", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "example" }, "publishConfig": { "access": "public", From 28128767428856b72248e4f744d8535357e83503 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 8 Jun 2024 11:57:45 +0200 Subject: [PATCH 25/66] cli: add plugin packages metadata fix Signed-off-by: Patrik Oldsberg --- .../cli-node/src/monorepo/PackageGraph.ts | 6 + packages/cli/src/commands/repo/fix.ts | 123 ++++++++++++++++++ 2 files changed, 129 insertions(+) diff --git a/packages/cli-node/src/monorepo/PackageGraph.ts b/packages/cli-node/src/monorepo/PackageGraph.ts index 84012f0b91..016704b9c9 100644 --- a/packages/cli-node/src/monorepo/PackageGraph.ts +++ b/packages/cli-node/src/monorepo/PackageGraph.ts @@ -47,6 +47,12 @@ export interface BackstagePackageJson { role?: PackageRole; moved?: string; pluginId?: string; + pluginPackage?: string; + pluginPackages?: { + frontend?: string; + backend?: string; + libraries?: string[]; + }; }; exports?: JsonValue; diff --git a/packages/cli/src/commands/repo/fix.ts b/packages/cli/src/commands/repo/fix.ts index ae1084127c..6572ed219e 100644 --- a/packages/cli/src/commands/repo/fix.ts +++ b/packages/cli/src/commands/repo/fix.ts @@ -306,6 +306,128 @@ export function fixPluginId(pkg: FixablePackage) { pkg.changed = true; } +export function fixPluginPackages( + pkg: FixablePackage, + repoPackages: FixablePackage[], +) { + const pkgBackstage = pkg.packageJson.backstage; + const role = pkgBackstage?.role; + if (!role) { + return; + } + + if (role === 'backend' || role === 'frontend' || role === 'cli') { + return; + } + + const pluginId = pkgBackstage.pluginId; + if (!pluginId) { + // Might be a plugin-less library, skip + if ( + role === 'common-library' || + role === 'web-library' || + role === 'node-library' + ) { + return; + } + throw new Error(`Missing backstage.pluginId in ${pkg.packageJson.name}`); + } + + if (role === 'backend-plugin-module' || role === 'frontend-plugin-module') { + const targetRole = role.replace('-module', ''); + + const pluginPkg = repoPackages.find( + p => + p.packageJson.backstage?.pluginId === pluginId && + p.packageJson.backstage?.role === targetRole, + ); + if (!pluginPkg) { + // If we can't find a matching package in the repo but one is declared, skip + if (pkgBackstage.pluginPackage) { + return; + } + const path = relativePath( + paths.targetRoot, + resolvePath(pkg.dir, 'package.json'), + ); + throw new Error( + `Failed to find plugin package for ${pkg.packageJson.name}, please set backstage.pluginPackage manually in ${path}`, + ); + } + + if (pkgBackstage.pluginPackage !== pluginPkg.packageJson.name) { + pkgBackstage.pluginPackage = pluginPkg.packageJson.name; + pkg.changed = true; + } + } else { + let frontend: string | undefined = undefined; + let backend: string | undefined = undefined; + let libraries: string[] | undefined = []; + + for (const repoPkg of repoPackages) { + if (repoPkg.packageJson.backstage?.pluginId !== pluginId) { + continue; + } + const repoPkgRole = repoPkg.packageJson.backstage?.role; + const repoPkgName = repoPkg.packageJson.name; + if (repoPkgRole === 'frontend-plugin') { + if (frontend) { + throw new Error( + `Duplicate frontend plugin for '${pluginId}', ${frontend} and ${repoPkgName}`, + ); + } + frontend = repoPkgName; + } else if (repoPkgRole === 'backend-plugin') { + if (backend) { + throw new Error( + `Duplicate backend plugin for '${pluginId}', ${backend} and ${repoPkgName}`, + ); + } + backend = repoPkgName; + } else if ( + repoPkgRole === 'common-library' || + repoPkgRole === 'web-library' || + repoPkgRole === 'node-library' + ) { + libraries.push(repoPkgName); + } + } + + if (libraries.length === 0) { + // If there are no libraries, avoid an empty array in package.json + libraries = undefined; + } else { + // Sort libraries to ensure consistent order + libraries.sort(); + } + + if (!pkgBackstage.pluginPackages) { + pkgBackstage.pluginPackages = { + frontend, + backend, + libraries, + }; + pkg.changed = true; + } else { + if (pkgBackstage.pluginPackages.frontend !== frontend) { + pkgBackstage.pluginPackages.frontend = frontend; + pkg.changed = true; + } + if (pkgBackstage.pluginPackages.backend !== backend) { + pkgBackstage.pluginPackages.backend = backend; + pkg.changed = true; + } + if ( + pkgBackstage.pluginPackages.libraries?.join(',') !== + libraries?.join(',') + ) { + pkgBackstage.pluginPackages.libraries = libraries; + pkg.changed = true; + } + } + } +} + export async function command(opts: OptionValues): Promise { const packages = await readFixablePackages(); const fixRepositoryField = createRepositoryFieldFixer(); @@ -315,6 +437,7 @@ export async function command(opts: OptionValues): Promise { fixSideEffects(pkg); fixRepositoryField(pkg); fixPluginId(pkg); + fixPluginPackages(pkg, packages); } if (opts.check) { From 09049a612b0127a8489118056e225833f7894450 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 8 Jun 2024 12:09:01 +0200 Subject: [PATCH 26/66] cli: run package fixers separately Signed-off-by: Patrik Oldsberg --- packages/cli/src/commands/repo/fix.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/cli/src/commands/repo/fix.ts b/packages/cli/src/commands/repo/fix.ts index 6572ed219e..c96484e2ed 100644 --- a/packages/cli/src/commands/repo/fix.ts +++ b/packages/cli/src/commands/repo/fix.ts @@ -432,12 +432,18 @@ export async function command(opts: OptionValues): Promise { const packages = await readFixablePackages(); const fixRepositoryField = createRepositoryFieldFixer(); - for (const pkg of packages) { - fixPackageExports(pkg); - fixSideEffects(pkg); - fixRepositoryField(pkg); - fixPluginId(pkg); - fixPluginPackages(pkg, packages); + const fixers = [ + fixPackageExports, + fixSideEffects, + fixRepositoryField, + fixPluginId, + fixPluginPackages, + ]; + + for (const fixer of fixers) { + for (const pkg of packages) { + fixer(pkg, packages); + } } if (opts.check) { From cb61f04da8877eddc293fd6e348c133d3cfedeb6 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 8 Jun 2024 12:17:53 +0200 Subject: [PATCH 27/66] cli-node: document new package fields Signed-off-by: Patrik Oldsberg --- packages/cli-node/src/monorepo/PackageGraph.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/cli-node/src/monorepo/PackageGraph.ts b/packages/cli-node/src/monorepo/PackageGraph.ts index 016704b9c9..f6b563202e 100644 --- a/packages/cli-node/src/monorepo/PackageGraph.ts +++ b/packages/cli-node/src/monorepo/PackageGraph.ts @@ -46,8 +46,20 @@ export interface BackstagePackageJson { backstage?: { role?: PackageRole; moved?: string; + + /** + * The ID of the plugin if this is a plugin package. Must always be set for plugin and module packages, and may be set for library packages. + */ pluginId?: string; + + /** + * The parent plugin package of a module. Must always and only be set for module packages. + */ pluginPackage?: string; + + /** + * All packages that are part of the plugin. Must always and only be set for plugin packages and plugin library packages. + */ pluginPackages?: { frontend?: string; backend?: string; From f85a7f2a5a60faed5e2cb82282ccccea85861472 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 8 Jun 2024 12:21:19 +0200 Subject: [PATCH 28/66] cli: add --publish option for repo fix Signed-off-by: Patrik Oldsberg --- package.json | 2 +- packages/cli/src/commands/index.ts | 4 ++++ packages/cli/src/commands/repo/fix.ts | 15 ++++++++------- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 2951eb8540..c81cb98d34 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "dev": "yarn workspaces foreach -A --include example-backend --include example-app --parallel -v -i run start", "dev:next": "yarn workspaces foreach -A --include example-backend --include example-app-next --parallel -v -i run start", "docker-build": "yarn tsc && yarn workspace example-backend build && yarn workspace example-backend build-image", - "fix": "backstage-cli repo fix", + "fix": "backstage-cli repo fix --publish", "postinstall": "husky || true", "lint": "backstage-cli repo lint --since origin/master", "lint:all": "backstage-cli repo lint", diff --git a/packages/cli/src/commands/index.ts b/packages/cli/src/commands/index.ts index 3554ddfbef..25a3a4e26c 100644 --- a/packages/cli/src/commands/index.ts +++ b/packages/cli/src/commands/index.ts @@ -70,6 +70,10 @@ export function registerRepoCommand(program: Command) { command .command('fix') .description('Automatically fix packages in the project') + .option( + '--publish', + 'Enable additional fixes that only apply when publishing packages', + ) .option( '--check', 'Fail if any packages would have been changed by the command', diff --git a/packages/cli/src/commands/repo/fix.ts b/packages/cli/src/commands/repo/fix.ts index c96484e2ed..88070ceb8f 100644 --- a/packages/cli/src/commands/repo/fix.ts +++ b/packages/cli/src/commands/repo/fix.ts @@ -428,17 +428,18 @@ export function fixPluginPackages( } } +type PackageFixer = (pkg: FixablePackage, packages: FixablePackage[]) => void; + export async function command(opts: OptionValues): Promise { const packages = await readFixablePackages(); const fixRepositoryField = createRepositoryFieldFixer(); - const fixers = [ - fixPackageExports, - fixSideEffects, - fixRepositoryField, - fixPluginId, - fixPluginPackages, - ]; + const fixers: PackageFixer[] = [fixPackageExports, fixSideEffects]; + + // Fixers that only apply to repos that publish packages + if (opts.publish) { + fixers.push(fixRepositoryField, fixPluginId, fixPluginPackages); + } for (const fixer of fixers) { for (const pkg of packages) { From b0de760792453ee703624369672f884fe688d21c Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 8 Jun 2024 12:36:29 +0200 Subject: [PATCH 29/66] cli: add package publishing preflight check Signed-off-by: Patrik Oldsberg --- packages/cli/src/commands/pack.ts | 7 +++ packages/cli/src/commands/repo/fix.ts | 9 +++- packages/cli/src/lib/publishing.ts | 71 +++++++++++++++++++++++++++ 3 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 packages/cli/src/lib/publishing.ts diff --git a/packages/cli/src/commands/pack.ts b/packages/cli/src/commands/pack.ts index 9c101e97fe..8fbbdb3d74 100644 --- a/packages/cli/src/commands/pack.ts +++ b/packages/cli/src/commands/pack.ts @@ -19,8 +19,15 @@ import { revertProductionPack, } from '../lib/packager/productionPack'; import { paths } from '../lib/paths'; +import fs from 'fs-extra'; +import { publishPreflightCheck } from '../lib/publishing'; export const pre = async () => { + publishPreflightCheck({ + dir: paths.targetDir, + packageJson: await fs.readJson(paths.resolveTarget('package.json')), + }); + await productionPack({ packageDir: paths.targetDir }); }; diff --git a/packages/cli/src/commands/repo/fix.ts b/packages/cli/src/commands/repo/fix.ts index 88070ceb8f..c170c5c3fd 100644 --- a/packages/cli/src/commands/repo/fix.ts +++ b/packages/cli/src/commands/repo/fix.ts @@ -25,6 +25,7 @@ import { OptionValues } from 'commander'; import fs from 'fs-extra'; import { resolve as resolvePath, posix, relative as relativePath } from 'path'; import { paths } from '../../lib/paths'; +import { publishPreflightCheck } from '../../lib/publishing'; /** * A mutable object representing a package.json file with potential fixes. @@ -438,7 +439,13 @@ export async function command(opts: OptionValues): Promise { // Fixers that only apply to repos that publish packages if (opts.publish) { - fixers.push(fixRepositoryField, fixPluginId, fixPluginPackages); + fixers.push( + fixRepositoryField, + fixPluginId, + fixPluginPackages, + // Run the publish preflight check too, to make sure we don't uncover errors during publishing + publishPreflightCheck, + ); } for (const fixer of fixers) { diff --git a/packages/cli/src/lib/publishing.ts b/packages/cli/src/lib/publishing.ts new file mode 100644 index 0000000000..20e4241985 --- /dev/null +++ b/packages/cli/src/lib/publishing.ts @@ -0,0 +1,71 @@ +/* + * Copyright 2024 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 { BackstagePackage } from '@backstage/cli-node'; + +/** + * A basic check that throws if a packages doesn't contain required backstage metadata for publishing + */ +export function publishPreflightCheck(pkg: BackstagePackage): void { + const { name, backstage } = pkg.packageJson; + if (!backstage || !name) { + return; + } + + const { role } = backstage; + + if ( + role === 'backend-plugin' || + role === 'backend-plugin-module' || + role === 'frontend-plugin' || + role === 'frontend-plugin-module' + ) { + if (!backstage.pluginId) { + throw new Error( + `Plugin package ${name} is missing a backstage.pluginId, please run 'backstage-cli repo fix --publish'`, + ); + } + } + + if (role === 'backend-plugin' || role === 'frontend-plugin') { + if (!backstage.pluginPackages) { + throw new Error( + `Plugin package ${name} is missing a backstage.pluginPackages, please run 'backstage-cli repo fix --publish'`, + ); + } + } + + if ( + backstage.pluginId && + (role === 'common-library' || + role === 'node-library' || + role === 'web-library') + ) { + if (!backstage.pluginPackages) { + throw new Error( + `Plugin library package ${name} is missing a backstage.pluginPackages, please run 'backstage-cli repo fix --publish'`, + ); + } + } + + if (role === 'backend-plugin-module' || role === 'frontend-plugin-module') { + if (!backstage.pluginPackage) { + throw new Error( + `Plugin module package ${name} is missing a backstage.pluginPackage, please run 'backstage-cli repo fix --publish'`, + ); + } + } +} From 037d57735e529ae07b28ffdd349b223a234b6260 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 8 Jun 2024 13:26:12 +0200 Subject: [PATCH 30/66] cli: clearer error messaging for publish fix + look up core feature plugin package names Signed-off-by: Patrik Oldsberg --- packages/cli/src/commands/repo/fix.ts | 56 ++++++++++++++++++++------- 1 file changed, 41 insertions(+), 15 deletions(-) diff --git a/packages/cli/src/commands/repo/fix.ts b/packages/cli/src/commands/repo/fix.ts index c170c5c3fd..547ba1ca8a 100644 --- a/packages/cli/src/commands/repo/fix.ts +++ b/packages/cli/src/commands/repo/fix.ts @@ -259,7 +259,9 @@ function guessPluginId(role: PackageRole, pkgName: string): string | undefined { case 'node-library': return pkgName.match(/plugin-(.*)-(?:node|backend)-?/)?.[1]; default: - throw new Error(`Invalid backstage.role in ${pkgName}, got '${role}'`); + throw new Error( + `Invalid 'backstage.role' field in "${pkgName}", got '${role}'`, + ); } } @@ -277,7 +279,7 @@ export function fixPluginId(pkg: FixablePackage) { if (currentId !== undefined) { if (typeof currentId !== 'string') { throw new Error( - `Invalid backstage.pluginId in ${pkg.packageJson.name}, must be a string`, + `Invalid 'backstage.pluginId' field in "${pkg.packageJson.name}", must be a string`, ); } return; @@ -296,7 +298,7 @@ export function fixPluginId(pkg: FixablePackage) { resolvePath(pkg.dir, 'package.json'), ); throw new Error( - `Failed to guess plugin ID for ${pkg.packageJson.name}, please set backstage.pluginId manually in ${path}`, + `Failed to guess plugin ID for "${pkg.packageJson.name}", please set the 'backstage.pluginId' field manually in "${path}"`, ); } @@ -307,6 +309,22 @@ export function fixPluginId(pkg: FixablePackage) { pkg.changed = true; } +const backendPluginPackageNameByPluginId = new Map( + [ + 'app', + 'auth', + 'catalog', + 'events', + 'kubernetes', + 'notifications', + 'permission', + 'scaffolder', + 'search', + 'signals', + 'techdocs', + ].map(pluginId => [pluginId, `@backstage/plugin-${pluginId}-backend`]), +); + export function fixPluginPackages( pkg: FixablePackage, repoPackages: FixablePackage[], @@ -331,18 +349,23 @@ export function fixPluginPackages( ) { return; } - throw new Error(`Missing backstage.pluginId in ${pkg.packageJson.name}`); + throw new Error( + `Missing 'backstage.pluginId' field in "${pkg.packageJson.name}"`, + ); } if (role === 'backend-plugin-module' || role === 'frontend-plugin-module') { const targetRole = role.replace('-module', ''); - const pluginPkg = repoPackages.find( - p => - p.packageJson.backstage?.pluginId === pluginId && - p.packageJson.backstage?.role === targetRole, - ); - if (!pluginPkg) { + // Try to find a plugin package in the same repo, but otherwise fall back to looking up the package name by ID of @backstage/* plugins + const pluginPkgName = + repoPackages.find( + p => + p.packageJson.backstage?.pluginId === pluginId && + p.packageJson.backstage?.role === targetRole, + )?.packageJson.name ?? backendPluginPackageNameByPluginId.get(pluginId); + + if (!pluginPkgName) { // If we can't find a matching package in the repo but one is declared, skip if (pkgBackstage.pluginPackage) { return; @@ -351,13 +374,16 @@ export function fixPluginPackages( paths.targetRoot, resolvePath(pkg.dir, 'package.json'), ); + const suggestedRole = + role === 'frontend-plugin-module' ? 'web-library' : 'node-library'; throw new Error( - `Failed to find plugin package for ${pkg.packageJson.name}, please set backstage.pluginPackage manually in ${path}`, + `Failed to find plugin package for "${pkg.packageJson.name}", please declare the name of the plugin package that this package is a module for in the 'backstage.pluginPackage' field in "${path}". ` + + `It is also possible that this package is not a module, and should use the '${suggestedRole}' role instead.`, ); } - if (pkgBackstage.pluginPackage !== pluginPkg.packageJson.name) { - pkgBackstage.pluginPackage = pluginPkg.packageJson.name; + if (pkgBackstage.pluginPackage !== pluginPkgName) { + pkgBackstage.pluginPackage = pluginPkgName; pkg.changed = true; } } else { @@ -374,14 +400,14 @@ export function fixPluginPackages( if (repoPkgRole === 'frontend-plugin') { if (frontend) { throw new Error( - `Duplicate frontend plugin for '${pluginId}', ${frontend} and ${repoPkgName}`, + `Duplicate frontend plugin for '${pluginId}', "${frontend}" and "${repoPkgName}"`, ); } frontend = repoPkgName; } else if (repoPkgRole === 'backend-plugin') { if (backend) { throw new Error( - `Duplicate backend plugin for '${pluginId}', ${backend} and ${repoPkgName}`, + `Duplicate backend plugin for '${pluginId}', "${backend}" and "${repoPkgName}"`, ); } backend = repoPkgName; From c7535dea31f7b7e6a1faae4074cd5d61aef53dd7 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 11 Jun 2024 01:15:20 +0200 Subject: [PATCH 31/66] cli: update fix for simplified pluginPackages list Signed-off-by: Patrik Oldsberg --- .../cli-node/src/monorepo/PackageGraph.ts | 6 +- packages/cli/src/commands/repo/fix.ts | 80 +++++-------------- 2 files changed, 21 insertions(+), 65 deletions(-) diff --git a/packages/cli-node/src/monorepo/PackageGraph.ts b/packages/cli-node/src/monorepo/PackageGraph.ts index f6b563202e..afa5eed888 100644 --- a/packages/cli-node/src/monorepo/PackageGraph.ts +++ b/packages/cli-node/src/monorepo/PackageGraph.ts @@ -60,11 +60,7 @@ export interface BackstagePackageJson { /** * All packages that are part of the plugin. Must always and only be set for plugin packages and plugin library packages. */ - pluginPackages?: { - frontend?: string; - backend?: string; - libraries?: string[]; - }; + pluginPackages?: string[]; }; exports?: JsonValue; diff --git a/packages/cli/src/commands/repo/fix.ts b/packages/cli/src/commands/repo/fix.ts index 547ba1ca8a..285dd75e3b 100644 --- a/packages/cli/src/commands/repo/fix.ts +++ b/packages/cli/src/commands/repo/fix.ts @@ -325,6 +325,14 @@ const backendPluginPackageNameByPluginId = new Map( ].map(pluginId => [pluginId, `@backstage/plugin-${pluginId}-backend`]), ); +const pluginPackageRoles: Array = [ + 'frontend-plugin', + 'backend-plugin', + 'common-library', + 'web-library', + 'node-library', +]; + export function fixPluginPackages( pkg: FixablePackage, repoPackages: FixablePackage[], @@ -387,70 +395,22 @@ export function fixPluginPackages( pkg.changed = true; } } else { - let frontend: string | undefined = undefined; - let backend: string | undefined = undefined; - let libraries: string[] | undefined = []; + let pluginPackages: string[] | undefined = repoPackages + .filter( + p => + p.packageJson.backstage?.pluginId === pluginId && + pluginPackageRoles.includes(p.packageJson.backstage?.role), + ) + .map(p => p.packageJson.name) + .sort(); - for (const repoPkg of repoPackages) { - if (repoPkg.packageJson.backstage?.pluginId !== pluginId) { - continue; - } - const repoPkgRole = repoPkg.packageJson.backstage?.role; - const repoPkgName = repoPkg.packageJson.name; - if (repoPkgRole === 'frontend-plugin') { - if (frontend) { - throw new Error( - `Duplicate frontend plugin for '${pluginId}', "${frontend}" and "${repoPkgName}"`, - ); - } - frontend = repoPkgName; - } else if (repoPkgRole === 'backend-plugin') { - if (backend) { - throw new Error( - `Duplicate backend plugin for '${pluginId}', "${backend}" and "${repoPkgName}"`, - ); - } - backend = repoPkgName; - } else if ( - repoPkgRole === 'common-library' || - repoPkgRole === 'web-library' || - repoPkgRole === 'node-library' - ) { - libraries.push(repoPkgName); - } + if (pluginPackages.length === 0) { + pluginPackages = undefined; } - if (libraries.length === 0) { - // If there are no libraries, avoid an empty array in package.json - libraries = undefined; - } else { - // Sort libraries to ensure consistent order - libraries.sort(); - } - - if (!pkgBackstage.pluginPackages) { - pkgBackstage.pluginPackages = { - frontend, - backend, - libraries, - }; + if (pkgBackstage.pluginPackages?.join(',') !== pluginPackages?.join(',')) { + pkgBackstage.pluginPackages = pluginPackages; pkg.changed = true; - } else { - if (pkgBackstage.pluginPackages.frontend !== frontend) { - pkgBackstage.pluginPackages.frontend = frontend; - pkg.changed = true; - } - if (pkgBackstage.pluginPackages.backend !== backend) { - pkgBackstage.pluginPackages.backend = backend; - pkg.changed = true; - } - if ( - pkgBackstage.pluginPackages.libraries?.join(',') !== - libraries?.join(',') - ) { - pkgBackstage.pluginPackages.libraries = libraries; - pkg.changed = true; - } } } } From d44a20a5cd52f473f623af297f403e0c24ccb6cd Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 11 Jun 2024 01:32:43 +0200 Subject: [PATCH 32/66] add plugin metadata to all plugin packages Signed-off-by: Patrik Oldsberg --- .changeset/new-masks-occur.md | 136 ++++++++++++++++++ packages/app-next-example-plugin/package.json | 5 +- .../package.json | 4 +- plugins/api-docs/package.json | 6 +- plugins/app-backend/package.json | 55 +++---- plugins/app-node/package.json | 41 +++--- plugins/app-visualizer/package.json | 6 +- .../package.json | 34 ++--- .../package.json | 36 ++--- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 34 ++--- .../package.json | 4 +- .../package.json | 34 ++--- .../package.json | 34 ++--- .../package.json | 4 +- .../package.json | 34 ++--- .../package.json | 34 ++--- .../package.json | 32 +++-- .../package.json | 34 ++--- .../package.json | 34 ++--- .../package.json | 4 +- .../package.json | 32 +++-- .../package.json | 4 +- plugins/auth-backend/package.json | 8 +- plugins/auth-node/package.json | 8 +- plugins/auth-react/package.json | 8 +- plugins/bitbucket-cloud-common/package.json | 6 +- .../catalog-backend-module-aws/package.json | 4 +- .../catalog-backend-module-azure/package.json | 4 +- .../package.json | 4 +- .../package.json | 46 +++--- .../package.json | 44 +++--- .../catalog-backend-module-gcp/package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../catalog-backend-module-ldap/package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- plugins/catalog-backend/package.json | 10 +- plugins/catalog-common/package.json | 10 +- plugins/catalog-graph/package.json | 6 +- plugins/catalog-import/package.json | 6 +- plugins/catalog-node/package.json | 10 +- plugins/catalog-react/package.json | 62 ++++---- .../package.json | 7 +- .../catalog-unprocessed-entities/package.json | 7 +- plugins/catalog/package.json | 10 +- plugins/config-schema/package.json | 6 +- plugins/devtools-backend/package.json | 34 +++-- plugins/devtools-common/package.json | 8 +- plugins/devtools/package.json | 58 ++++---- .../package.json | 4 +- .../events-backend-module-azure/package.json | 4 +- .../package.json | 4 +- .../events-backend-module-gerrit/package.json | 4 +- .../events-backend-module-github/package.json | 4 +- .../events-backend-module-gitlab/package.json | 4 +- .../events-backend-test-utils/package.json | 8 +- plugins/events-backend/package.json | 8 +- plugins/events-node/package.json | 8 +- .../example-todo-list-backend/package.json | 8 +- plugins/example-todo-list-common/package.json | 8 +- plugins/example-todo-list/package.json | 8 +- plugins/home-react/package.json | 7 +- plugins/home/package.json | 7 +- plugins/kubernetes-backend/package.json | 56 ++++---- plugins/kubernetes-cluster/package.json | 6 +- plugins/kubernetes-common/package.json | 10 +- plugins/kubernetes-node/package.json | 10 +- plugins/kubernetes-react/package.json | 46 +++--- plugins/kubernetes/package.json | 52 ++++--- .../package.json | 4 +- plugins/notifications-backend/package.json | 9 +- plugins/notifications-common/package.json | 9 +- plugins/notifications-node/package.json | 9 +- plugins/notifications/package.json | 9 +- plugins/org-react/package.json | 7 +- plugins/org/package.json | 7 +- .../package.json | 4 +- plugins/permission-backend/package.json | 9 +- plugins/permission-common/package.json | 9 +- plugins/permission-node/package.json | 53 ++++--- plugins/permission-react/package.json | 9 +- plugins/proxy-backend/package.json | 6 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- plugins/scaffolder-backend/package.json | 11 +- plugins/scaffolder-common/package.json | 11 +- .../scaffolder-node-test-utils/package.json | 11 +- plugins/scaffolder-node/package.json | 11 +- plugins/scaffolder-react/package.json | 11 +- plugins/scaffolder/package.json | 11 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- plugins/search-backend-module-pg/package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- plugins/search-backend-node/package.json | 6 +- plugins/search-backend/package.json | 9 +- plugins/search-common/package.json | 9 +- plugins/search-react/package.json | 9 +- plugins/search/package.json | 9 +- plugins/signals-backend/package.json | 35 +++-- plugins/signals-node/package.json | 45 +++--- plugins/signals-react/package.json | 9 +- plugins/signals/package.json | 9 +- .../techdocs-addons-test-utils/package.json | 6 +- plugins/techdocs-backend/package.json | 9 +- .../package.json | 4 +- plugins/techdocs-node/package.json | 9 +- plugins/techdocs-react/package.json | 9 +- plugins/techdocs/package.json | 9 +- plugins/user-settings-backend/package.json | 8 +- plugins/user-settings-common/package.json | 8 +- plugins/user-settings/package.json | 8 +- 137 files changed, 1276 insertions(+), 561 deletions(-) create mode 100644 .changeset/new-masks-occur.md diff --git a/.changeset/new-masks-occur.md b/.changeset/new-masks-occur.md new file mode 100644 index 0000000000..b5777b7abe --- /dev/null +++ b/.changeset/new-masks-occur.md @@ -0,0 +1,136 @@ +--- +'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch +'@backstage/plugin-auth-backend-module-cloudflare-access-provider': patch +'@backstage/plugin-catalog-backend-module-scaffolder-entity-model': patch +'@backstage/plugin-search-backend-module-stack-overflow-collator': patch +'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch +'@backstage/plugin-auth-backend-module-azure-easyauth-provider': patch +'@backstage/plugin-permission-backend-module-allow-all-policy': patch +'@backstage/plugin-scaffolder-backend-module-bitbucket-server': patch +'@backstage/plugin-auth-backend-module-oauth2-proxy-provider': patch +'@backstage/plugin-auth-backend-module-vmware-cloud-provider': patch +'@backstage/plugin-scaffolder-backend-module-bitbucket-cloud': patch +'@backstage/plugin-catalog-backend-module-backstage-openapi': patch +'@backstage/plugin-catalog-backend-module-bitbucket-server': patch +'@backstage/plugin-scaffolder-backend-module-notifications': patch +'@backstage/plugin-auth-backend-module-atlassian-provider': patch +'@backstage/plugin-auth-backend-module-bitbucket-provider': patch +'@backstage/plugin-auth-backend-module-microsoft-provider': patch +'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch +'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch +'@backstage/plugin-auth-backend-module-onelogin-provider': patch +'@backstage/plugin-auth-backend-module-pinniped-provider': patch +'@backstage/plugin-events-backend-module-bitbucket-cloud': patch +'@backstage/plugin-auth-backend-module-aws-alb-provider': patch +'@backstage/plugin-auth-backend-module-gcp-iap-provider': patch +'@backstage/plugin-auth-backend-module-github-provider': patch +'@backstage/plugin-auth-backend-module-gitlab-provider': patch +'@backstage/plugin-auth-backend-module-google-provider': patch +'@backstage/plugin-auth-backend-module-oauth2-provider': patch +'@backstage/plugin-catalog-unprocessed-entities-common': patch +'@backstage/plugin-scaffolder-backend-module-bitbucket': patch +'@backstage/plugin-search-backend-module-elasticsearch': patch +'@backstage/plugin-auth-backend-module-guest-provider': patch +'@backstage/plugin-catalog-backend-module-unprocessed': patch +'@backstage/plugin-notifications-backend-module-email': patch +'@backstage/plugin-auth-backend-module-oidc-provider': patch +'@backstage/plugin-auth-backend-module-okta-provider': patch +'@backstage/plugin-catalog-backend-module-github-org': patch +'@backstage/plugin-catalog-backend-module-gitlab-org': patch +'@backstage/plugin-scaffolder-backend-module-gerrit': patch +'@backstage/plugin-scaffolder-backend-module-github': patch +'@backstage/plugin-scaffolder-backend-module-gitlab': patch +'@backstage/plugin-scaffolder-backend-module-sentry': patch +'@backstage/plugin-scaffolder-backend-module-yeoman': patch +'@backstage/plugin-catalog-backend-module-puppetdb': patch +'@backstage/plugin-scaffolder-backend-module-azure': patch +'@backstage/plugin-scaffolder-backend-module-gitea': patch +'@backstage/plugin-scaffolder-backend-module-rails': patch +'@backstage/plugin-api-docs-module-protoc-gen-doc': patch +'@backstage/plugin-catalog-backend-module-msgraph': patch +'@backstage/plugin-catalog-backend-module-openapi': patch +'@backstage/plugin-search-backend-module-techdocs': patch +'@backstage/plugin-techdocs-module-addons-contrib': patch +'@backstage/plugin-catalog-backend-module-gerrit': patch +'@backstage/plugin-catalog-backend-module-github': patch +'@backstage/plugin-catalog-backend-module-gitlab': patch +'@backstage/plugin-events-backend-module-aws-sqs': patch +'@backstage/plugin-search-backend-module-catalog': patch +'@backstage/plugin-search-backend-module-explore': patch +'@backstage/plugin-catalog-backend-module-azure': patch +'@backstage/plugin-catalog-unprocessed-entities': patch +'@backstage/plugin-events-backend-module-gerrit': patch +'@backstage/plugin-events-backend-module-github': patch +'@backstage/plugin-events-backend-module-gitlab': patch +'@backstage/plugin-catalog-backend-module-ldap': patch +'@backstage/plugin-events-backend-module-azure': patch +'@backstage/plugin-catalog-backend-module-aws': patch +'@backstage/plugin-catalog-backend-module-gcp': patch +'@backstage/plugin-scaffolder-node-test-utils': patch +'@backstage/plugin-techdocs-addons-test-utils': patch +'@backstage/plugin-events-backend-test-utils': patch +'@backstage/plugin-search-backend-module-pg': patch +'@backstage/plugin-bitbucket-cloud-common': patch +'@backstage/plugin-notifications-backend': patch +'@backstage/plugin-user-settings-backend': patch +'@backstage/plugin-notifications-common': patch +'@backstage/plugin-user-settings-common': patch +'@backstage/plugin-search-backend-node': patch +'@backstage/plugin-kubernetes-backend': patch +'@backstage/plugin-kubernetes-cluster': patch +'@backstage/plugin-notifications-node': patch +'@backstage/plugin-permission-backend': patch +'@backstage/plugin-scaffolder-backend': patch +'@backstage/plugin-kubernetes-common': patch +'@backstage/plugin-permission-common': patch +'@backstage/plugin-scaffolder-common': patch +'@backstage/plugin-devtools-backend': patch +'@backstage/plugin-kubernetes-react': patch +'@backstage/plugin-permission-react': patch +'@backstage/plugin-scaffolder-react': patch +'@backstage/plugin-techdocs-backend': patch +'@backstage/plugin-catalog-backend': patch +'@backstage/plugin-devtools-common': patch +'@backstage/plugin-kubernetes-node': patch +'@backstage/plugin-permission-node': patch +'@backstage/plugin-scaffolder-node': patch +'@backstage/plugin-signals-backend': patch +'@backstage/plugin-app-visualizer': patch +'@backstage/plugin-catalog-common': patch +'@backstage/plugin-catalog-import': patch +'@backstage/plugin-events-backend': patch +'@backstage/plugin-search-backend': patch +'@backstage/plugin-techdocs-react': patch +'@backstage/plugin-catalog-graph': patch +'@backstage/plugin-catalog-react': patch +'@backstage/plugin-config-schema': patch +'@backstage/plugin-notifications': patch +'@backstage/plugin-proxy-backend': patch +'@backstage/plugin-search-common': patch +'@backstage/plugin-signals-react': patch +'@backstage/plugin-techdocs-node': patch +'@backstage/plugin-user-settings': patch +'@backstage/plugin-auth-backend': patch +'@backstage/plugin-catalog-node': patch +'@backstage/plugin-search-react': patch +'@backstage/plugin-signals-node': patch +'@backstage/plugin-app-backend': patch +'@backstage/plugin-events-node': patch +'@backstage/plugin-auth-react': patch +'@backstage/plugin-home-react': patch +'@backstage/plugin-kubernetes': patch +'@backstage/plugin-scaffolder': patch +'@backstage/plugin-auth-node': patch +'@backstage/plugin-org-react': patch +'@backstage/plugin-api-docs': patch +'@backstage/plugin-app-node': patch +'@backstage/plugin-devtools': patch +'@backstage/plugin-techdocs': patch +'@backstage/plugin-catalog': patch +'@backstage/plugin-signals': patch +'@backstage/plugin-search': patch +'@backstage/plugin-home': patch +'@backstage/plugin-org': patch +--- + +Added additional plugin metadata to `package.json`. diff --git a/packages/app-next-example-plugin/package.json b/packages/app-next-example-plugin/package.json index be0d5fc8ee..f42c07952c 100644 --- a/packages/app-next-example-plugin/package.json +++ b/packages/app-next-example-plugin/package.json @@ -4,7 +4,10 @@ "description": "Backstage internal example plugin", "backstage": { "role": "frontend-plugin", - "pluginId": "example" + "pluginId": "example", + "pluginPackages": [ + "app-next-example-plugin" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/api-docs-module-protoc-gen-doc/package.json b/plugins/api-docs-module-protoc-gen-doc/package.json index e90fa57137..053db849ca 100644 --- a/plugins/api-docs-module-protoc-gen-doc/package.json +++ b/plugins/api-docs-module-protoc-gen-doc/package.json @@ -3,7 +3,9 @@ "version": "0.1.6", "description": "Additional functionalities for the api-docs plugin that renders the output of the protoc-gen-doc", "backstage": { - "role": "frontend-plugin-module" + "role": "frontend-plugin-module", + "pluginId": "api-docs", + "pluginPackage": "@backstage/plugin-api-docs" }, "publishConfig": { "access": "public", diff --git a/plugins/api-docs/package.json b/plugins/api-docs/package.json index 04965a8796..29a16e6ece 100644 --- a/plugins/api-docs/package.json +++ b/plugins/api-docs/package.json @@ -3,7 +3,11 @@ "version": "0.11.6-next.1", "description": "A Backstage plugin that helps represent API entities in the frontend", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "api-docs", + "pluginPackages": [ + "@backstage/plugin-api-docs" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/app-backend/package.json b/plugins/app-backend/package.json index 8c61abfe30..c255c8ea40 100644 --- a/plugins/app-backend/package.json +++ b/plugins/app-backend/package.json @@ -1,18 +1,35 @@ { "name": "@backstage/plugin-app-backend", - "description": "A Backstage backend plugin that serves the Backstage frontend app", "version": "0.3.68-next.2", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "A Backstage backend plugin that serves the Backstage frontend app", + "backstage": { + "role": "backend-plugin", + "pluginId": "app", + "pluginPackages": [ + "@backstage/plugin-app-backend", + "@backstage/plugin-app-node" + ] + }, "publishConfig": { "access": "public" }, + "keywords": [ + "backstage" + ], + "homepage": "https://backstage.io", + "repository": { + "type": "git", + "url": "https://github.com/backstage/backstage", + "directory": "plugins/app-backend" + }, + "license": "Apache-2.0", "exports": { ".": "./src/index.ts", "./alpha": "./src/alpha.ts", "./package.json": "./package.json" }, + "main": "src/index.ts", + "types": "src/index.ts", "typesVersions": { "*": { "alpha": [ @@ -23,26 +40,20 @@ ] } }, - "backstage": { - "role": "backend-plugin" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/app-backend" - }, - "keywords": [ - "backstage" + "files": [ + "dist", + "config.d.ts", + "migrations/**/*.{js,d.ts}", + "static" ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", + "clean": "backstage-cli package clean", "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "prepack": "backstage-cli package prepack", "postpack": "backstage-cli package postpack", - "clean": "backstage-cli package clean" + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-common": "workspace:^", @@ -74,11 +85,5 @@ "node-fetch": "^2.6.7", "supertest": "^6.1.3" }, - "configSchema": "config.d.ts", - "files": [ - "dist", - "config.d.ts", - "migrations/**/*.{js,d.ts}", - "static" - ] + "configSchema": "config.d.ts" } diff --git a/plugins/app-node/package.json b/plugins/app-node/package.json index e6ece010e1..b258e3714e 100644 --- a/plugins/app-node/package.json +++ b/plugins/app-node/package.json @@ -1,10 +1,15 @@ { "name": "@backstage/plugin-app-node", - "description": "Node.js library for the app plugin", "version": "0.1.19-next.1", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "Node.js library for the app plugin", + "backstage": { + "role": "node-library", + "pluginId": "app", + "pluginPackages": [ + "@backstage/plugin-app-backend", + "@backstage/plugin-app-node" + ] + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", @@ -15,28 +20,28 @@ "url": "https://github.com/backstage/backstage", "directory": "plugins/app-node" }, - "backstage": { - "role": "node-library" - }, - "scripts": { - "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", - "clean": "backstage-cli package clean", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" - }, - "devDependencies": { - "@backstage/cli": "workspace:^" - }, + "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", + "test": "backstage-cli package test" + }, "dependencies": { "@backstage/backend-plugin-api": "workspace:^", "@backstage/config-loader": "workspace:^", "@types/express": "^4.17.6", "express": "^4.17.1", "fs-extra": "^11.2.0" + }, + "devDependencies": { + "@backstage/cli": "workspace:^" } } diff --git a/plugins/app-visualizer/package.json b/plugins/app-visualizer/package.json index eea4f630de..1d30d2b2b3 100644 --- a/plugins/app-visualizer/package.json +++ b/plugins/app-visualizer/package.json @@ -3,7 +3,11 @@ "version": "0.1.7-next.1", "description": "Visualizes the Backstage app structure", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "app-visualizer", + "pluginPackages": [ + "@backstage/plugin-app-visualizer" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/auth-backend-module-atlassian-provider/package.json b/plugins/auth-backend-module-atlassian-provider/package.json index 956d010f1d..6ee6423e49 100644 --- a/plugins/auth-backend-module-atlassian-provider/package.json +++ b/plugins/auth-backend-module-atlassian-provider/package.json @@ -1,10 +1,12 @@ { "name": "@backstage/plugin-auth-backend-module-atlassian-provider", - "description": "The atlassian-provider backend module for the auth plugin.", "version": "0.1.11-next.1", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "The atlassian-provider backend module for the auth plugin.", + "backstage": { + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", @@ -15,17 +17,21 @@ "url": "https://github.com/backstage/backstage", "directory": "plugins/auth-backend-module-atlassian-provider" }, - "backstage": { - "role": "backend-plugin-module" - }, + "license": "Apache-2.0", + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist", + "config.d.ts" + ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "clean": "backstage-cli package clean", + "lint": "backstage-cli package lint", "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" + "postpack": "backstage-cli package postpack", + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-plugin-api": "workspace:^", @@ -41,9 +47,5 @@ "@backstage/plugin-auth-backend": "workspace:^", "supertest": "^6.3.3" }, - "configSchema": "config.d.ts", - "files": [ - "dist", - "config.d.ts" - ] + "configSchema": "config.d.ts" } diff --git a/plugins/auth-backend-module-aws-alb-provider/package.json b/plugins/auth-backend-module-aws-alb-provider/package.json index 870216ecca..e47dd7d6d9 100644 --- a/plugins/auth-backend-module-aws-alb-provider/package.json +++ b/plugins/auth-backend-module-aws-alb-provider/package.json @@ -1,35 +1,40 @@ { "name": "@backstage/plugin-auth-backend-module-aws-alb-provider", - "description": "The aws-alb provider module for the Backstage auth backend.", "version": "0.1.11-next.2", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "The aws-alb provider module for the Backstage auth backend.", + "backstage": { + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", "types": "dist/index.d.ts" }, - "backstage": { - "role": "backend-plugin-module" - }, + "keywords": [ + "backstage" + ], "homepage": "https://backstage.io", "repository": { "type": "git", "url": "https://github.com/backstage/backstage", "directory": "plugins/auth-backend-module-aws-alb-provider" }, - "keywords": [ - "backstage" + "license": "Apache-2.0", + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist" ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "clean": "backstage-cli package clean", + "lint": "backstage-cli package lint", "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" + "postpack": "backstage-cli package postpack", + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-common": "workspace:^", @@ -47,8 +52,5 @@ "@backstage/config": "workspace:^", "express": "^4.18.2", "msw": "^2.0.8" - }, - "files": [ - "dist" - ] + } } diff --git a/plugins/auth-backend-module-azure-easyauth-provider/package.json b/plugins/auth-backend-module-azure-easyauth-provider/package.json index 298de835f9..cc15bc27d6 100644 --- a/plugins/auth-backend-module-azure-easyauth-provider/package.json +++ b/plugins/auth-backend-module-azure-easyauth-provider/package.json @@ -3,7 +3,9 @@ "version": "0.1.2-next.1", "description": "The azure-easyauth-provider backend module for the auth plugin.", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/auth-backend-module-bitbucket-provider/package.json b/plugins/auth-backend-module-bitbucket-provider/package.json index cdccd8df5a..6327422311 100644 --- a/plugins/auth-backend-module-bitbucket-provider/package.json +++ b/plugins/auth-backend-module-bitbucket-provider/package.json @@ -3,7 +3,9 @@ "version": "0.1.2-next.1", "description": "The bitbucket-provider backend module for the auth plugin.", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/auth-backend-module-cloudflare-access-provider/package.json b/plugins/auth-backend-module-cloudflare-access-provider/package.json index 8bbe01228e..01350b5616 100644 --- a/plugins/auth-backend-module-cloudflare-access-provider/package.json +++ b/plugins/auth-backend-module-cloudflare-access-provider/package.json @@ -3,7 +3,9 @@ "version": "0.1.2-next.2", "description": "The cloudflare-access-provider backend module for the auth plugin.", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/auth-backend-module-gcp-iap-provider/package.json b/plugins/auth-backend-module-gcp-iap-provider/package.json index 5ac57fe932..1c2d6b006d 100644 --- a/plugins/auth-backend-module-gcp-iap-provider/package.json +++ b/plugins/auth-backend-module-gcp-iap-provider/package.json @@ -1,35 +1,41 @@ { "name": "@backstage/plugin-auth-backend-module-gcp-iap-provider", - "description": "A GCP IAP auth provider module for the Backstage auth backend", "version": "0.2.14-next.1", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "A GCP IAP auth provider module for the Backstage auth backend", + "backstage": { + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", "types": "dist/index.d.ts" }, - "backstage": { - "role": "backend-plugin-module" - }, + "keywords": [ + "backstage" + ], "homepage": "https://backstage.io", "repository": { "type": "git", "url": "https://github.com/backstage/backstage", "directory": "plugins/auth-backend-module-gcp-iap-provider" }, - "keywords": [ - "backstage" + "license": "Apache-2.0", + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist", + "config.d.ts" ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", + "clean": "backstage-cli package clean", "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "prepack": "backstage-cli package prepack", "postpack": "backstage-cli package postpack", - "clean": "backstage-cli package clean" + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-plugin-api": "workspace:^", @@ -43,9 +49,5 @@ "@backstage/cli": "workspace:^", "express": "^4.18.2" }, - "files": [ - "dist", - "config.d.ts" - ], "configSchema": "config.d.ts" } diff --git a/plugins/auth-backend-module-github-provider/package.json b/plugins/auth-backend-module-github-provider/package.json index f85d10dfa4..631ace3ef9 100644 --- a/plugins/auth-backend-module-github-provider/package.json +++ b/plugins/auth-backend-module-github-provider/package.json @@ -3,7 +3,9 @@ "version": "0.1.16-next.1", "description": "The github-provider backend module for the auth plugin.", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/auth-backend-module-gitlab-provider/package.json b/plugins/auth-backend-module-gitlab-provider/package.json index ff91c8395a..b1a2a0a59c 100644 --- a/plugins/auth-backend-module-gitlab-provider/package.json +++ b/plugins/auth-backend-module-gitlab-provider/package.json @@ -1,10 +1,12 @@ { "name": "@backstage/plugin-auth-backend-module-gitlab-provider", - "description": "The gitlab-provider backend module for the auth plugin.", "version": "0.1.16-next.1", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "The gitlab-provider backend module for the auth plugin.", + "backstage": { + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", @@ -15,17 +17,21 @@ "url": "https://github.com/backstage/backstage", "directory": "plugins/auth-backend-module-gitlab-provider" }, - "backstage": { - "role": "backend-plugin-module" - }, + "license": "Apache-2.0", + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist", + "config.d.ts" + ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "clean": "backstage-cli package clean", + "lint": "backstage-cli package lint", "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" + "postpack": "backstage-cli package postpack", + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-plugin-api": "workspace:^", @@ -41,9 +47,5 @@ "@backstage/plugin-auth-backend": "workspace:^", "supertest": "^6.3.3" }, - "configSchema": "config.d.ts", - "files": [ - "dist", - "config.d.ts" - ] + "configSchema": "config.d.ts" } diff --git a/plugins/auth-backend-module-google-provider/package.json b/plugins/auth-backend-module-google-provider/package.json index aae3b11256..b66bdba4e8 100644 --- a/plugins/auth-backend-module-google-provider/package.json +++ b/plugins/auth-backend-module-google-provider/package.json @@ -1,35 +1,41 @@ { "name": "@backstage/plugin-auth-backend-module-google-provider", - "description": "A Google auth provider module for the Backstage auth backend", "version": "0.1.16-next.1", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "A Google auth provider module for the Backstage auth backend", + "backstage": { + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", "types": "dist/index.d.ts" }, - "backstage": { - "role": "backend-plugin-module" - }, + "keywords": [ + "backstage" + ], "homepage": "https://backstage.io", "repository": { "type": "git", "url": "https://github.com/backstage/backstage", "directory": "plugins/auth-backend-module-google-provider" }, - "keywords": [ - "backstage" + "license": "Apache-2.0", + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist", + "config.d.ts" ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", + "clean": "backstage-cli package clean", "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "prepack": "backstage-cli package prepack", "postpack": "backstage-cli package postpack", - "clean": "backstage-cli package clean" + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-plugin-api": "workspace:^", @@ -44,9 +50,5 @@ "@types/passport-google-oauth20": "^2.0.3", "supertest": "^6.1.3" }, - "files": [ - "dist", - "config.d.ts" - ], "configSchema": "config.d.ts" } diff --git a/plugins/auth-backend-module-guest-provider/package.json b/plugins/auth-backend-module-guest-provider/package.json index f18e91ef58..6fa4e8f5a3 100644 --- a/plugins/auth-backend-module-guest-provider/package.json +++ b/plugins/auth-backend-module-guest-provider/package.json @@ -3,7 +3,9 @@ "version": "0.1.5-next.2", "description": "The guest-provider backend module for the auth plugin.", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/auth-backend-module-microsoft-provider/package.json b/plugins/auth-backend-module-microsoft-provider/package.json index af1b0c7f01..5c386706f1 100644 --- a/plugins/auth-backend-module-microsoft-provider/package.json +++ b/plugins/auth-backend-module-microsoft-provider/package.json @@ -1,10 +1,12 @@ { "name": "@backstage/plugin-auth-backend-module-microsoft-provider", - "description": "The microsoft-provider backend module for the auth plugin.", "version": "0.1.14-next.1", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "The microsoft-provider backend module for the auth plugin.", + "backstage": { + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", @@ -15,17 +17,21 @@ "url": "https://github.com/backstage/backstage", "directory": "plugins/auth-backend-module-microsoft-provider" }, - "backstage": { - "role": "backend-plugin-module" - }, + "license": "Apache-2.0", + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist", + "config.d.ts" + ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "clean": "backstage-cli package clean", + "lint": "backstage-cli package lint", "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" + "postpack": "backstage-cli package postpack", + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-plugin-api": "workspace:^", @@ -47,9 +53,5 @@ "msw": "^1.0.0", "supertest": "^6.3.3" }, - "configSchema": "config.d.ts", - "files": [ - "dist", - "config.d.ts" - ] + "configSchema": "config.d.ts" } diff --git a/plugins/auth-backend-module-oauth2-provider/package.json b/plugins/auth-backend-module-oauth2-provider/package.json index 67347e8cdd..aea5451b7b 100644 --- a/plugins/auth-backend-module-oauth2-provider/package.json +++ b/plugins/auth-backend-module-oauth2-provider/package.json @@ -1,10 +1,12 @@ { "name": "@backstage/plugin-auth-backend-module-oauth2-provider", - "description": "The oauth2-provider backend module for the auth plugin.", "version": "0.1.16-next.1", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "The oauth2-provider backend module for the auth plugin.", + "backstage": { + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", @@ -15,17 +17,21 @@ "url": "https://github.com/backstage/backstage", "directory": "plugins/auth-backend-module-oauth2-provider" }, - "backstage": { - "role": "backend-plugin-module" - }, + "license": "Apache-2.0", + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist", + "config.d.ts" + ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "clean": "backstage-cli package clean", + "lint": "backstage-cli package lint", "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" + "postpack": "backstage-cli package postpack", + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-plugin-api": "workspace:^", @@ -40,9 +46,5 @@ "@backstage/plugin-auth-backend": "workspace:^", "supertest": "^6.3.3" }, - "configSchema": "config.d.ts", - "files": [ - "dist", - "config.d.ts" - ] + "configSchema": "config.d.ts" } diff --git a/plugins/auth-backend-module-oauth2-proxy-provider/package.json b/plugins/auth-backend-module-oauth2-proxy-provider/package.json index 3d02d39645..a8a981e13f 100644 --- a/plugins/auth-backend-module-oauth2-proxy-provider/package.json +++ b/plugins/auth-backend-module-oauth2-proxy-provider/package.json @@ -1,10 +1,12 @@ { "name": "@backstage/plugin-auth-backend-module-oauth2-proxy-provider", - "description": "The oauth2-proxy-provider backend module for the auth plugin.", "version": "0.1.12-next.1", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "The oauth2-proxy-provider backend module for the auth plugin.", + "backstage": { + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", @@ -15,17 +17,20 @@ "url": "https://github.com/backstage/backstage", "directory": "plugins/auth-backend-module-oauth2-proxy-provider" }, - "backstage": { - "role": "backend-plugin-module" - }, + "license": "Apache-2.0", + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist" + ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "clean": "backstage-cli package clean", + "lint": "backstage-cli package lint", "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" + "postpack": "backstage-cli package postpack", + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-plugin-api": "workspace:^", @@ -36,8 +41,5 @@ "devDependencies": { "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^" - }, - "files": [ - "dist" - ] + } } diff --git a/plugins/auth-backend-module-oidc-provider/package.json b/plugins/auth-backend-module-oidc-provider/package.json index aa75b31ff2..f0a6d006c9 100644 --- a/plugins/auth-backend-module-oidc-provider/package.json +++ b/plugins/auth-backend-module-oidc-provider/package.json @@ -1,10 +1,12 @@ { "name": "@backstage/plugin-auth-backend-module-oidc-provider", - "description": "The oidc-provider backend module for the auth plugin.", "version": "0.1.10-next.2", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "The oidc-provider backend module for the auth plugin.", + "backstage": { + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", @@ -15,17 +17,21 @@ "url": "https://github.com/backstage/backstage", "directory": "plugins/auth-backend-module-oidc-provider" }, - "backstage": { - "role": "backend-plugin-module" - }, + "license": "Apache-2.0", + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist", + "config.d.ts" + ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "clean": "backstage-cli package clean", + "lint": "backstage-cli package lint", "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" + "postpack": "backstage-cli package postpack", + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-common": "workspace:^", @@ -48,9 +54,5 @@ "msw": "^1.3.1", "supertest": "^6.3.3" }, - "configSchema": "config.d.ts", - "files": [ - "dist", - "config.d.ts" - ] + "configSchema": "config.d.ts" } diff --git a/plugins/auth-backend-module-okta-provider/package.json b/plugins/auth-backend-module-okta-provider/package.json index 6a6e30cedc..869142062e 100644 --- a/plugins/auth-backend-module-okta-provider/package.json +++ b/plugins/auth-backend-module-okta-provider/package.json @@ -1,10 +1,12 @@ { "name": "@backstage/plugin-auth-backend-module-okta-provider", - "description": "The okta-provider backend module for the auth plugin.", "version": "0.0.12-next.1", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "The okta-provider backend module for the auth plugin.", + "backstage": { + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", @@ -15,17 +17,21 @@ "url": "https://github.com/backstage/backstage", "directory": "plugins/auth-backend-module-okta-provider" }, - "backstage": { - "role": "backend-plugin-module" - }, + "license": "Apache-2.0", + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist", + "config.d.ts" + ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "clean": "backstage-cli package clean", + "lint": "backstage-cli package lint", "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" + "postpack": "backstage-cli package postpack", + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-plugin-api": "workspace:^", @@ -41,9 +47,5 @@ "@backstage/plugin-auth-backend": "workspace:^", "supertest": "^6.3.3" }, - "configSchema": "config.d.ts", - "files": [ - "dist", - "config.d.ts" - ] + "configSchema": "config.d.ts" } diff --git a/plugins/auth-backend-module-onelogin-provider/package.json b/plugins/auth-backend-module-onelogin-provider/package.json index 7012742eb2..45a3ff45b7 100644 --- a/plugins/auth-backend-module-onelogin-provider/package.json +++ b/plugins/auth-backend-module-onelogin-provider/package.json @@ -3,7 +3,9 @@ "version": "0.0.0", "description": "The onelogin-provider backend module for the auth plugin.", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/auth-backend-module-pinniped-provider/package.json b/plugins/auth-backend-module-pinniped-provider/package.json index 3c97abd24c..fed98690b2 100644 --- a/plugins/auth-backend-module-pinniped-provider/package.json +++ b/plugins/auth-backend-module-pinniped-provider/package.json @@ -1,10 +1,12 @@ { "name": "@backstage/plugin-auth-backend-module-pinniped-provider", - "description": "The pinniped-provider backend module for the auth plugin.", "version": "0.1.13-next.1", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "The pinniped-provider backend module for the auth plugin.", + "backstage": { + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", @@ -15,17 +17,20 @@ "url": "https://github.com/backstage/backstage", "directory": "plugins/auth-backend-module-pinniped-provider" }, - "backstage": { - "role": "backend-plugin-module" - }, + "license": "Apache-2.0", + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist" + ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "clean": "backstage-cli package clean", + "lint": "backstage-cli package lint", "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" + "postpack": "backstage-cli package postpack", + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-plugin-api": "workspace:^", @@ -46,8 +51,5 @@ "msw": "^1.3.0", "passport": "^0.7.0", "supertest": "^6.3.3" - }, - "files": [ - "dist" - ] + } } diff --git a/plugins/auth-backend-module-vmware-cloud-provider/package.json b/plugins/auth-backend-module-vmware-cloud-provider/package.json index 0173cf1d5e..9afe3fdf97 100644 --- a/plugins/auth-backend-module-vmware-cloud-provider/package.json +++ b/plugins/auth-backend-module-vmware-cloud-provider/package.json @@ -3,7 +3,9 @@ "version": "0.1.11-next.1", "description": "The vmware-cloud-provider backend module for the auth plugin.", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "auth", + "pluginPackage": "@backstage/plugin-auth-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/auth-backend/package.json b/plugins/auth-backend/package.json index c756e7b190..16a820ea6c 100644 --- a/plugins/auth-backend/package.json +++ b/plugins/auth-backend/package.json @@ -3,7 +3,13 @@ "version": "0.22.6-next.2", "description": "A Backstage backend plugin that handles authentication", "backstage": { - "role": "backend-plugin" + "role": "backend-plugin", + "pluginId": "auth", + "pluginPackages": [ + "@backstage/plugin-auth-backend", + "@backstage/plugin-auth-node", + "@backstage/plugin-auth-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/auth-node/package.json b/plugins/auth-node/package.json index 0af23792e2..f38cb7915e 100644 --- a/plugins/auth-node/package.json +++ b/plugins/auth-node/package.json @@ -2,7 +2,13 @@ "name": "@backstage/plugin-auth-node", "version": "0.4.14-next.2", "backstage": { - "role": "node-library" + "role": "node-library", + "pluginId": "auth", + "pluginPackages": [ + "@backstage/plugin-auth-backend", + "@backstage/plugin-auth-node", + "@backstage/plugin-auth-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/auth-react/package.json b/plugins/auth-react/package.json index 478c4e3fb0..ea0d247e69 100644 --- a/plugins/auth-react/package.json +++ b/plugins/auth-react/package.json @@ -3,7 +3,13 @@ "version": "0.1.3-next.1", "description": "Web library for the auth plugin", "backstage": { - "role": "web-library" + "role": "web-library", + "pluginId": "auth", + "pluginPackages": [ + "@backstage/plugin-auth-backend", + "@backstage/plugin-auth-node", + "@backstage/plugin-auth-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/bitbucket-cloud-common/package.json b/plugins/bitbucket-cloud-common/package.json index 929d4bf3cd..0e92907cc1 100644 --- a/plugins/bitbucket-cloud-common/package.json +++ b/plugins/bitbucket-cloud-common/package.json @@ -3,7 +3,11 @@ "version": "0.2.20-next.0", "description": "Common functionalities for bitbucket-cloud plugins", "backstage": { - "role": "common-library" + "role": "common-library", + "pluginId": "bitbucket-cloud", + "pluginPackages": [ + "@backstage/plugin-bitbucket-cloud-common" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/catalog-backend-module-aws/package.json b/plugins/catalog-backend-module-aws/package.json index 1877120e84..4562d0a798 100644 --- a/plugins/catalog-backend-module-aws/package.json +++ b/plugins/catalog-backend-module-aws/package.json @@ -3,7 +3,9 @@ "version": "0.3.14-next.2", "description": "A Backstage catalog backend module that helps integrate towards AWS", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-backend-module-azure/package.json b/plugins/catalog-backend-module-azure/package.json index 1f1d67ae67..7536c85789 100644 --- a/plugins/catalog-backend-module-azure/package.json +++ b/plugins/catalog-backend-module-azure/package.json @@ -3,7 +3,9 @@ "version": "0.1.39-next.2", "description": "A Backstage catalog backend module that helps integrate towards Azure", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-backend-module-backstage-openapi/package.json b/plugins/catalog-backend-module-backstage-openapi/package.json index 8bf2800f6f..accbc5986c 100644 --- a/plugins/catalog-backend-module-backstage-openapi/package.json +++ b/plugins/catalog-backend-module-backstage-openapi/package.json @@ -2,7 +2,9 @@ "name": "@backstage/plugin-catalog-backend-module-backstage-openapi", "version": "0.2.2-next.1", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/catalog-backend-module-bitbucket-cloud/package.json b/plugins/catalog-backend-module-bitbucket-cloud/package.json index 8c86ecbf19..7ae9003eab 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/package.json +++ b/plugins/catalog-backend-module-bitbucket-cloud/package.json @@ -1,18 +1,32 @@ { "name": "@backstage/plugin-catalog-backend-module-bitbucket-cloud", - "description": "A Backstage catalog backend module that helps integrate towards Bitbucket Cloud", "version": "0.2.6-next.2", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "A Backstage catalog backend module that helps integrate towards Bitbucket Cloud", + "backstage": { + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" + }, "publishConfig": { "access": "public" }, + "keywords": [ + "backstage" + ], + "homepage": "https://backstage.io", + "repository": { + "type": "git", + "url": "https://github.com/backstage/backstage", + "directory": "plugins/catalog-backend-module-bitbucket-cloud" + }, + "license": "Apache-2.0", "exports": { ".": "./src/index.ts", "./alpha": "./src/alpha.ts", "./package.json": "./package.json" }, + "main": "src/index.ts", + "types": "src/index.ts", "typesVersions": { "*": { "alpha": [ @@ -23,26 +37,18 @@ ] } }, - "backstage": { - "role": "backend-plugin-module" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/catalog-backend-module-bitbucket-cloud" - }, - "keywords": [ - "backstage" + "files": [ + "config.d.ts", + "dist" ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", + "clean": "backstage-cli package clean", "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "prepack": "backstage-cli package prepack", "postpack": "backstage-cli package postpack", - "clean": "backstage-cli package clean" + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-common": "workspace:^", @@ -66,9 +72,5 @@ "luxon": "^3.0.0", "msw": "^1.0.0" }, - "files": [ - "config.d.ts", - "dist" - ], "configSchema": "config.d.ts" } diff --git a/plugins/catalog-backend-module-bitbucket-server/package.json b/plugins/catalog-backend-module-bitbucket-server/package.json index 8abe89b04b..7c360d1701 100644 --- a/plugins/catalog-backend-module-bitbucket-server/package.json +++ b/plugins/catalog-backend-module-bitbucket-server/package.json @@ -1,17 +1,31 @@ { "name": "@backstage/plugin-catalog-backend-module-bitbucket-server", "version": "0.1.33-next.2", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "backstage": { + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" + }, "publishConfig": { "access": "public" }, + "keywords": [ + "backstage" + ], + "homepage": "https://backstage.io", + "repository": { + "type": "git", + "url": "https://github.com/backstage/backstage", + "directory": "plugins/catalog-backend-module-bitbucket-server" + }, + "license": "Apache-2.0", "exports": { ".": "./src/index.ts", "./alpha": "./src/alpha.ts", "./package.json": "./package.json" }, + "main": "src/index.ts", + "types": "src/index.ts", "typesVersions": { "*": { "alpha": [ @@ -22,26 +36,18 @@ ] } }, - "backstage": { - "role": "backend-plugin-module" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/catalog-backend-module-bitbucket-server" - }, - "keywords": [ - "backstage" + "files": [ + "config.d.ts", + "dist" ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", + "clean": "backstage-cli package clean", "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "prepack": "backstage-cli package prepack", "postpack": "backstage-cli package postpack", - "clean": "backstage-cli package clean" + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-common": "workspace:^", @@ -62,9 +68,5 @@ "luxon": "^3.0.0", "msw": "^1.0.0" }, - "files": [ - "config.d.ts", - "dist" - ], "configSchema": "config.d.ts" } diff --git a/plugins/catalog-backend-module-gcp/package.json b/plugins/catalog-backend-module-gcp/package.json index dd69e87ac2..0806cd80bd 100644 --- a/plugins/catalog-backend-module-gcp/package.json +++ b/plugins/catalog-backend-module-gcp/package.json @@ -3,7 +3,9 @@ "version": "0.1.20-next.2", "description": "A Backstage catalog backend module that helps integrate towards GCP", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-backend-module-gerrit/package.json b/plugins/catalog-backend-module-gerrit/package.json index 017781ca1d..a372da0b4c 100644 --- a/plugins/catalog-backend-module-gerrit/package.json +++ b/plugins/catalog-backend-module-gerrit/package.json @@ -2,7 +2,9 @@ "name": "@backstage/plugin-catalog-backend-module-gerrit", "version": "0.1.36-next.2", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-backend-module-github-org/package.json b/plugins/catalog-backend-module-github-org/package.json index 6cedc22d4b..09cb2defb2 100644 --- a/plugins/catalog-backend-module-github-org/package.json +++ b/plugins/catalog-backend-module-github-org/package.json @@ -3,7 +3,9 @@ "version": "0.1.14-next.2", "description": "The github-org backend module for the catalog plugin.", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/catalog-backend-module-github/package.json b/plugins/catalog-backend-module-github/package.json index ca437f9bf7..daa6aa8c9b 100644 --- a/plugins/catalog-backend-module-github/package.json +++ b/plugins/catalog-backend-module-github/package.json @@ -3,7 +3,9 @@ "version": "0.6.2-next.2", "description": "A Backstage catalog backend module that helps integrate towards GitHub", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-backend-module-gitlab-org/package.json b/plugins/catalog-backend-module-gitlab-org/package.json index 0f12ca4b97..d3a2310feb 100644 --- a/plugins/catalog-backend-module-gitlab-org/package.json +++ b/plugins/catalog-backend-module-gitlab-org/package.json @@ -3,7 +3,9 @@ "version": "0.0.2-next.2", "description": "The gitlab-org backend module for the catalog plugin.", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/catalog-backend-module-gitlab/package.json b/plugins/catalog-backend-module-gitlab/package.json index e1d1d63e5f..3b9454c732 100644 --- a/plugins/catalog-backend-module-gitlab/package.json +++ b/plugins/catalog-backend-module-gitlab/package.json @@ -3,7 +3,9 @@ "version": "0.3.18-next.2", "description": "A Backstage catalog backend module that helps integrate towards GitLab", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-backend-module-incremental-ingestion/package.json b/plugins/catalog-backend-module-incremental-ingestion/package.json index 8544c300b5..2baed748b3 100644 --- a/plugins/catalog-backend-module-incremental-ingestion/package.json +++ b/plugins/catalog-backend-module-incremental-ingestion/package.json @@ -3,7 +3,9 @@ "version": "0.4.24-next.2", "description": "An entity provider for streaming large asset sources into the catalog", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-backend-module-ldap/package.json b/plugins/catalog-backend-module-ldap/package.json index ed2d4e6e65..8b729ca620 100644 --- a/plugins/catalog-backend-module-ldap/package.json +++ b/plugins/catalog-backend-module-ldap/package.json @@ -3,7 +3,9 @@ "version": "0.6.0-next.2", "description": "A Backstage catalog backend module that helps integrate towards LDAP", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/catalog-backend-module-msgraph/package.json b/plugins/catalog-backend-module-msgraph/package.json index 6d1a913b31..5b1fd2d29b 100644 --- a/plugins/catalog-backend-module-msgraph/package.json +++ b/plugins/catalog-backend-module-msgraph/package.json @@ -3,7 +3,9 @@ "version": "0.5.27-next.2", "description": "A Backstage catalog backend module that helps integrate towards Microsoft Graph", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-backend-module-openapi/package.json b/plugins/catalog-backend-module-openapi/package.json index 716f6312b3..98008900f8 100644 --- a/plugins/catalog-backend-module-openapi/package.json +++ b/plugins/catalog-backend-module-openapi/package.json @@ -3,7 +3,9 @@ "version": "0.1.37-next.2", "description": "A Backstage catalog backend module that helps with OpenAPI specifications", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/catalog-backend-module-puppetdb/package.json b/plugins/catalog-backend-module-puppetdb/package.json index 701c217c39..f1e0cbf935 100644 --- a/plugins/catalog-backend-module-puppetdb/package.json +++ b/plugins/catalog-backend-module-puppetdb/package.json @@ -3,7 +3,9 @@ "version": "0.1.25-next.2", "description": "A Backstage catalog backend module that helps integrate towards PuppetDB", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-backend-module-scaffolder-entity-model/package.json b/plugins/catalog-backend-module-scaffolder-entity-model/package.json index a435d8926c..a4c7532e2a 100644 --- a/plugins/catalog-backend-module-scaffolder-entity-model/package.json +++ b/plugins/catalog-backend-module-scaffolder-entity-model/package.json @@ -3,7 +3,9 @@ "version": "0.1.17-next.2", "description": "Adds support for the scaffolder specific entity model (e.g. the Template kind) to the catalog backend plugin.", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-backend-module-unprocessed/package.json b/plugins/catalog-backend-module-unprocessed/package.json index b09df8eb4c..13939adc24 100644 --- a/plugins/catalog-backend-module-unprocessed/package.json +++ b/plugins/catalog-backend-module-unprocessed/package.json @@ -3,7 +3,9 @@ "version": "0.4.6-next.2", "description": "Backstage Catalog module to view unprocessed entities", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/catalog-backend/package.json b/plugins/catalog-backend/package.json index a0447cd7d1..988c040037 100644 --- a/plugins/catalog-backend/package.json +++ b/plugins/catalog-backend/package.json @@ -3,7 +3,15 @@ "version": "1.23.0-next.2", "description": "The Backstage backend plugin that provides the Backstage catalog", "backstage": { - "role": "backend-plugin" + "role": "backend-plugin", + "pluginId": "catalog", + "pluginPackages": [ + "@backstage/plugin-catalog", + "@backstage/plugin-catalog-backend", + "@backstage/plugin-catalog-common", + "@backstage/plugin-catalog-node", + "@backstage/plugin-catalog-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-common/package.json b/plugins/catalog-common/package.json index 936fc3c935..bb56c0c804 100644 --- a/plugins/catalog-common/package.json +++ b/plugins/catalog-common/package.json @@ -3,7 +3,15 @@ "version": "1.0.23", "description": "Common functionalities for the catalog plugin", "backstage": { - "role": "common-library" + "role": "common-library", + "pluginId": "catalog", + "pluginPackages": [ + "@backstage/plugin-catalog", + "@backstage/plugin-catalog-backend", + "@backstage/plugin-catalog-common", + "@backstage/plugin-catalog-node", + "@backstage/plugin-catalog-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-graph/package.json b/plugins/catalog-graph/package.json index 108e48399a..14a0e8ce20 100644 --- a/plugins/catalog-graph/package.json +++ b/plugins/catalog-graph/package.json @@ -2,7 +2,11 @@ "name": "@backstage/plugin-catalog-graph", "version": "0.4.6-next.1", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "catalog-graph", + "pluginPackages": [ + "@backstage/plugin-catalog-graph" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-import/package.json b/plugins/catalog-import/package.json index b914747961..fe1ad1c667 100644 --- a/plugins/catalog-import/package.json +++ b/plugins/catalog-import/package.json @@ -3,7 +3,11 @@ "version": "0.12.0-next.2", "description": "A Backstage plugin the helps you import entities into your catalog", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "catalog-import", + "pluginPackages": [ + "@backstage/plugin-catalog-import" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-node/package.json b/plugins/catalog-node/package.json index 780e67a55e..27bc1b709f 100644 --- a/plugins/catalog-node/package.json +++ b/plugins/catalog-node/package.json @@ -3,7 +3,15 @@ "version": "1.12.1-next.1", "description": "The plugin-catalog-node module for @backstage/plugin-catalog-backend", "backstage": { - "role": "node-library" + "role": "node-library", + "pluginId": "catalog", + "pluginPackages": [ + "@backstage/plugin-catalog", + "@backstage/plugin-catalog-backend", + "@backstage/plugin-catalog-common", + "@backstage/plugin-catalog-node", + "@backstage/plugin-catalog-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json index 8a63a73a10..2bca89fa88 100644 --- a/plugins/catalog-react/package.json +++ b/plugins/catalog-react/package.json @@ -1,18 +1,39 @@ { "name": "@backstage/plugin-catalog-react", - "description": "A frontend library that helps other Backstage plugins interact with the catalog", "version": "1.12.1-next.1", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "A frontend library that helps other Backstage plugins interact with the catalog", + "backstage": { + "role": "web-library", + "pluginId": "catalog", + "pluginPackages": [ + "@backstage/plugin-catalog", + "@backstage/plugin-catalog-backend", + "@backstage/plugin-catalog-common", + "@backstage/plugin-catalog-node", + "@backstage/plugin-catalog-react" + ] + }, "publishConfig": { "access": "public" }, + "keywords": [ + "backstage" + ], + "homepage": "https://backstage.io", + "repository": { + "type": "git", + "url": "https://github.com/backstage/backstage", + "directory": "plugins/catalog-react" + }, + "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": [ @@ -23,27 +44,17 @@ ] } }, - "backstage": { - "role": "web-library" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/catalog-react" - }, - "keywords": [ - "backstage" + "files": [ + "dist" ], - "sideEffects": false, "scripts": { "build": "backstage-cli package build", + "clean": "backstage-cli package clean", "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "prepack": "backstage-cli package prepack", "postpack": "backstage-cli package postpack", - "clean": "backstage-cli package clean", - "start": "backstage-cli package start" + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/catalog-client": "workspace:^", @@ -71,11 +82,6 @@ "yaml": "^2.0.0", "zen-observable": "^0.10.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" - }, "devDependencies": { "@backstage/cli": "workspace:^", "@backstage/core-app-api": "workspace:^", @@ -89,7 +95,9 @@ "@types/zen-observable": "^0.8.0", "react-test-renderer": "^16.13.1" }, - "files": [ - "dist" - ] + "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" + } } diff --git a/plugins/catalog-unprocessed-entities-common/package.json b/plugins/catalog-unprocessed-entities-common/package.json index 75e85a44e0..21e85e426f 100644 --- a/plugins/catalog-unprocessed-entities-common/package.json +++ b/plugins/catalog-unprocessed-entities-common/package.json @@ -3,7 +3,12 @@ "version": "0.0.1", "description": "Common functionalities for the catalog-unprocessed-entities plugin", "backstage": { - "role": "common-library" + "role": "common-library", + "pluginId": "catalog-unprocessed-entities", + "pluginPackages": [ + "@backstage/plugin-catalog-unprocessed-entities", + "@backstage/plugin-catalog-unprocessed-entities-common" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/catalog-unprocessed-entities/package.json b/plugins/catalog-unprocessed-entities/package.json index 819fdb1a1c..c8e91c7061 100644 --- a/plugins/catalog-unprocessed-entities/package.json +++ b/plugins/catalog-unprocessed-entities/package.json @@ -2,7 +2,12 @@ "name": "@backstage/plugin-catalog-unprocessed-entities", "version": "0.2.5-next.1", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "catalog-unprocessed-entities", + "pluginPackages": [ + "@backstage/plugin-catalog-unprocessed-entities", + "@backstage/plugin-catalog-unprocessed-entities-common" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index e100dab473..92ba874b24 100644 --- a/plugins/catalog/package.json +++ b/plugins/catalog/package.json @@ -3,7 +3,15 @@ "version": "1.21.0-next.2", "description": "The Backstage plugin for browsing the Backstage catalog", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "catalog", + "pluginPackages": [ + "@backstage/plugin-catalog", + "@backstage/plugin-catalog-backend", + "@backstage/plugin-catalog-common", + "@backstage/plugin-catalog-node", + "@backstage/plugin-catalog-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/config-schema/package.json b/plugins/config-schema/package.json index d40e47a45e..f838b355f7 100644 --- a/plugins/config-schema/package.json +++ b/plugins/config-schema/package.json @@ -3,7 +3,11 @@ "version": "0.1.56-next.1", "description": "A Backstage plugin that lets you browse the configuration schema of your app", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "config-schema", + "pluginPackages": [ + "@backstage/plugin-config-schema" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/devtools-backend/package.json b/plugins/devtools-backend/package.json index 7e9727f534..adbc645b93 100644 --- a/plugins/devtools-backend/package.json +++ b/plugins/devtools-backend/package.json @@ -1,31 +1,41 @@ { "name": "@backstage/plugin-devtools-backend", "version": "0.3.5-next.2", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "backstage": { + "role": "backend-plugin", + "pluginId": "devtools", + "pluginPackages": [ + "@backstage/plugin-devtools", + "@backstage/plugin-devtools-backend", + "@backstage/plugin-devtools-common" + ] + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", "types": "dist/index.d.ts" }, - "backstage": { - "role": "backend-plugin" - }, "homepage": "https://backstage.io", "repository": { "type": "git", "url": "https://github.com/backstage/backstage", "directory": "plugins/devtools-backend" }, + "license": "Apache-2.0", + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist", + "config.d.ts" + ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "clean": "backstage-cli package clean", + "lint": "backstage-cli package lint", "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" + "postpack": "backstage-cli package postpack", + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-common": "workspace:^", @@ -60,9 +70,5 @@ "@types/yarnpkg__lockfile": "^1.1.4", "supertest": "^6.2.4" }, - "files": [ - "dist", - "config.d.ts" - ], "configSchema": "config.d.ts" } diff --git a/plugins/devtools-common/package.json b/plugins/devtools-common/package.json index 1cce2487f6..fb664adabc 100644 --- a/plugins/devtools-common/package.json +++ b/plugins/devtools-common/package.json @@ -3,7 +3,13 @@ "version": "0.1.9", "description": "Common functionalities for the devtools plugin", "backstage": { - "role": "common-library" + "role": "common-library", + "pluginId": "devtools", + "pluginPackages": [ + "@backstage/plugin-devtools", + "@backstage/plugin-devtools-backend", + "@backstage/plugin-devtools-common" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/devtools/package.json b/plugins/devtools/package.json index 760a70bc62..71795111a4 100644 --- a/plugins/devtools/package.json +++ b/plugins/devtools/package.json @@ -1,17 +1,33 @@ { "name": "@backstage/plugin-devtools", "version": "0.1.15-next.1", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "backstage": { + "role": "frontend-plugin", + "pluginId": "devtools", + "pluginPackages": [ + "@backstage/plugin-devtools", + "@backstage/plugin-devtools-backend", + "@backstage/plugin-devtools-common" + ] + }, "publishConfig": { "access": "public" }, + "homepage": "https://backstage.io", + "repository": { + "type": "git", + "url": "https://github.com/backstage/backstage", + "directory": "plugins/devtools" + }, + "license": "Apache-2.0", + "sideEffects": false, "exports": { ".": "./src/index.ts", "./alpha": "./src/alpha.ts", "./package.json": "./package.json" }, + "main": "src/index.ts", + "types": "src/index.ts", "typesVersions": { "*": { "alpha": [ @@ -22,24 +38,17 @@ ] } }, - "backstage": { - "role": "frontend-plugin" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/devtools" - }, - "sideEffects": false, + "files": [ + "dist" + ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "clean": "backstage-cli package clean", + "lint": "backstage-cli package lint", "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" + "postpack": "backstage-cli package postpack", + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/core-compat-api": "workspace:^", @@ -55,18 +64,15 @@ "react-json-view": "^1.21.3", "react-use": "^17.2.4" }, - "peerDependencies": { - "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "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" - }, "devDependencies": { "@backstage/cli": "workspace:^", "@backstage/dev-utils": "workspace:^", "@testing-library/jest-dom": "^6.0.0" }, - "files": [ - "dist" - ] + "peerDependencies": { + "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "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" + } } diff --git a/plugins/events-backend-module-aws-sqs/package.json b/plugins/events-backend-module-aws-sqs/package.json index 3b8cdbf064..6d48c7aec9 100644 --- a/plugins/events-backend-module-aws-sqs/package.json +++ b/plugins/events-backend-module-aws-sqs/package.json @@ -2,7 +2,9 @@ "name": "@backstage/plugin-events-backend-module-aws-sqs", "version": "0.3.5-next.2", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "events", + "pluginPackage": "@backstage/plugin-events-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/events-backend-module-azure/package.json b/plugins/events-backend-module-azure/package.json index 2dccb516a1..950e2f2675 100644 --- a/plugins/events-backend-module-azure/package.json +++ b/plugins/events-backend-module-azure/package.json @@ -2,7 +2,9 @@ "name": "@backstage/plugin-events-backend-module-azure", "version": "0.2.5-next.1", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "events", + "pluginPackage": "@backstage/plugin-events-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/events-backend-module-bitbucket-cloud/package.json b/plugins/events-backend-module-bitbucket-cloud/package.json index 93e46be069..85570c8c43 100644 --- a/plugins/events-backend-module-bitbucket-cloud/package.json +++ b/plugins/events-backend-module-bitbucket-cloud/package.json @@ -2,7 +2,9 @@ "name": "@backstage/plugin-events-backend-module-bitbucket-cloud", "version": "0.2.5-next.1", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "events", + "pluginPackage": "@backstage/plugin-events-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/events-backend-module-gerrit/package.json b/plugins/events-backend-module-gerrit/package.json index f0296e341b..0867b52bf9 100644 --- a/plugins/events-backend-module-gerrit/package.json +++ b/plugins/events-backend-module-gerrit/package.json @@ -2,7 +2,9 @@ "name": "@backstage/plugin-events-backend-module-gerrit", "version": "0.2.5-next.1", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "events", + "pluginPackage": "@backstage/plugin-events-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/events-backend-module-github/package.json b/plugins/events-backend-module-github/package.json index 152a507203..a661ecde9f 100644 --- a/plugins/events-backend-module-github/package.json +++ b/plugins/events-backend-module-github/package.json @@ -2,7 +2,9 @@ "name": "@backstage/plugin-events-backend-module-github", "version": "0.2.5-next.1", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "events", + "pluginPackage": "@backstage/plugin-events-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/events-backend-module-gitlab/package.json b/plugins/events-backend-module-gitlab/package.json index a429a5eb15..1f03224f25 100644 --- a/plugins/events-backend-module-gitlab/package.json +++ b/plugins/events-backend-module-gitlab/package.json @@ -2,7 +2,9 @@ "name": "@backstage/plugin-events-backend-module-gitlab", "version": "0.2.5-next.1", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "events", + "pluginPackage": "@backstage/plugin-events-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/events-backend-test-utils/package.json b/plugins/events-backend-test-utils/package.json index 951b7cc162..0208778cd4 100644 --- a/plugins/events-backend-test-utils/package.json +++ b/plugins/events-backend-test-utils/package.json @@ -3,7 +3,13 @@ "version": "0.1.29-next.1", "description": "The plugin-events-backend-test-utils for @backstage/plugin-events-node", "backstage": { - "role": "node-library" + "role": "node-library", + "pluginId": "events", + "pluginPackages": [ + "@backstage/plugin-events-backend", + "@backstage/plugin-events-backend-test-utils", + "@backstage/plugin-events-node" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/events-backend/package.json b/plugins/events-backend/package.json index 7d4de4bca9..689e6098fb 100644 --- a/plugins/events-backend/package.json +++ b/plugins/events-backend/package.json @@ -2,7 +2,13 @@ "name": "@backstage/plugin-events-backend", "version": "0.3.6-next.2", "backstage": { - "role": "backend-plugin" + "role": "backend-plugin", + "pluginId": "events", + "pluginPackages": [ + "@backstage/plugin-events-backend", + "@backstage/plugin-events-backend-test-utils", + "@backstage/plugin-events-node" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/events-node/package.json b/plugins/events-node/package.json index a2fecb64e3..d52f6b6bf6 100644 --- a/plugins/events-node/package.json +++ b/plugins/events-node/package.json @@ -3,7 +3,13 @@ "version": "0.3.5-next.1", "description": "The plugin-events-node module for @backstage/plugin-events-backend", "backstage": { - "role": "node-library" + "role": "node-library", + "pluginId": "events", + "pluginPackages": [ + "@backstage/plugin-events-backend", + "@backstage/plugin-events-backend-test-utils", + "@backstage/plugin-events-node" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/example-todo-list-backend/package.json b/plugins/example-todo-list-backend/package.json index e643eddc30..df80afa8d4 100644 --- a/plugins/example-todo-list-backend/package.json +++ b/plugins/example-todo-list-backend/package.json @@ -2,7 +2,13 @@ "name": "@internal/plugin-todo-list-backend", "version": "1.0.28-next.2", "backstage": { - "role": "backend-plugin" + "role": "backend-plugin", + "pluginId": "todo-list", + "pluginPackages": [ + "@internal/plugin-todo-list", + "@internal/plugin-todo-list-backend", + "@internal/plugin-todo-list-common" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/example-todo-list-common/package.json b/plugins/example-todo-list-common/package.json index 746908d0bb..8843bb86ec 100644 --- a/plugins/example-todo-list-common/package.json +++ b/plugins/example-todo-list-common/package.json @@ -2,7 +2,13 @@ "name": "@internal/plugin-todo-list-common", "version": "1.0.18", "backstage": { - "role": "common-library" + "role": "common-library", + "pluginId": "todo-list", + "pluginPackages": [ + "@internal/plugin-todo-list", + "@internal/plugin-todo-list-backend", + "@internal/plugin-todo-list-common" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/example-todo-list/package.json b/plugins/example-todo-list/package.json index 06062e590d..916939f40f 100644 --- a/plugins/example-todo-list/package.json +++ b/plugins/example-todo-list/package.json @@ -2,7 +2,13 @@ "name": "@internal/plugin-todo-list", "version": "1.0.28-next.1", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "todo-list", + "pluginPackages": [ + "@internal/plugin-todo-list", + "@internal/plugin-todo-list-backend", + "@internal/plugin-todo-list-common" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/home-react/package.json b/plugins/home-react/package.json index 37c6c185d3..2a081579a8 100644 --- a/plugins/home-react/package.json +++ b/plugins/home-react/package.json @@ -3,7 +3,12 @@ "version": "0.1.14-next.1", "description": "A Backstage plugin that contains react components helps you build a home page", "backstage": { - "role": "web-library" + "role": "web-library", + "pluginId": "home", + "pluginPackages": [ + "@backstage/plugin-home", + "@backstage/plugin-home-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/home/package.json b/plugins/home/package.json index 52d27dbf58..f28e3db13d 100644 --- a/plugins/home/package.json +++ b/plugins/home/package.json @@ -3,7 +3,12 @@ "version": "0.7.5-next.1", "description": "A Backstage plugin that helps you build a home page", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "home", + "pluginPackages": [ + "@backstage/plugin-home", + "@backstage/plugin-home-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/kubernetes-backend/package.json b/plugins/kubernetes-backend/package.json index 2e097c1142..24d95cc020 100644 --- a/plugins/kubernetes-backend/package.json +++ b/plugins/kubernetes-backend/package.json @@ -1,18 +1,39 @@ { "name": "@backstage/plugin-kubernetes-backend", - "description": "A Backstage backend plugin that integrates towards Kubernetes", "version": "0.18.0-next.2", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "A Backstage backend plugin that integrates towards Kubernetes", + "backstage": { + "role": "backend-plugin", + "pluginId": "kubernetes", + "pluginPackages": [ + "@backstage/plugin-kubernetes", + "@backstage/plugin-kubernetes-backend", + "@backstage/plugin-kubernetes-common", + "@backstage/plugin-kubernetes-node", + "@backstage/plugin-kubernetes-react" + ] + }, "publishConfig": { "access": "public" }, + "keywords": [ + "backstage", + "kubernetes" + ], + "homepage": "https://backstage.io", + "repository": { + "type": "git", + "url": "https://github.com/backstage/backstage", + "directory": "plugins/kubernetes-backend" + }, + "license": "Apache-2.0", "exports": { ".": "./src/index.ts", "./alpha": "./src/alpha.ts", "./package.json": "./package.json" }, + "main": "src/index.ts", + "types": "src/index.ts", "typesVersions": { "*": { "alpha": [ @@ -23,28 +44,18 @@ ] } }, - "backstage": { - "role": "backend-plugin" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/kubernetes-backend" - }, - "keywords": [ - "backstage", - "kubernetes" + "files": [ + "dist", + "config.d.ts" ], - "configSchema": "config.d.ts", "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", + "clean": "backstage-cli package clean", "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "prepack": "backstage-cli package prepack", "postpack": "backstage-cli package postpack", - "clean": "backstage-cli package clean" + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@aws-crypto/sha256-js": "^5.0.0", @@ -97,8 +108,5 @@ "supertest": "^6.1.3", "ws": "^8.13.0" }, - "files": [ - "dist", - "config.d.ts" - ] + "configSchema": "config.d.ts" } diff --git a/plugins/kubernetes-cluster/package.json b/plugins/kubernetes-cluster/package.json index d032371e46..4cd646eae1 100644 --- a/plugins/kubernetes-cluster/package.json +++ b/plugins/kubernetes-cluster/package.json @@ -3,7 +3,11 @@ "version": "0.0.12-next.2", "description": "A Backstage plugin that shows details of Kubernetes clusters", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "kubernetes-cluster", + "pluginPackages": [ + "@backstage/plugin-kubernetes-cluster" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/kubernetes-common/package.json b/plugins/kubernetes-common/package.json index 64807dd61f..420805462a 100644 --- a/plugins/kubernetes-common/package.json +++ b/plugins/kubernetes-common/package.json @@ -3,7 +3,15 @@ "version": "0.8.0-next.0", "description": "Common functionalities for kubernetes, to be shared between kubernetes and kubernetes-backend plugin", "backstage": { - "role": "common-library" + "role": "common-library", + "pluginId": "kubernetes", + "pluginPackages": [ + "@backstage/plugin-kubernetes", + "@backstage/plugin-kubernetes-backend", + "@backstage/plugin-kubernetes-common", + "@backstage/plugin-kubernetes-node", + "@backstage/plugin-kubernetes-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/kubernetes-node/package.json b/plugins/kubernetes-node/package.json index d20cc18d92..933d43184b 100644 --- a/plugins/kubernetes-node/package.json +++ b/plugins/kubernetes-node/package.json @@ -3,7 +3,15 @@ "version": "0.1.13-next.2", "description": "Node.js library for the kubernetes plugin", "backstage": { - "role": "node-library" + "role": "node-library", + "pluginId": "kubernetes", + "pluginPackages": [ + "@backstage/plugin-kubernetes", + "@backstage/plugin-kubernetes-backend", + "@backstage/plugin-kubernetes-common", + "@backstage/plugin-kubernetes-node", + "@backstage/plugin-kubernetes-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/kubernetes-react/package.json b/plugins/kubernetes-react/package.json index 6dca53fc50..00b96fed78 100644 --- a/plugins/kubernetes-react/package.json +++ b/plugins/kubernetes-react/package.json @@ -1,10 +1,18 @@ { "name": "@backstage/plugin-kubernetes-react", - "description": "Web library for the kubernetes-react plugin", "version": "0.4.0-next.2", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "Web library for the kubernetes-react plugin", + "backstage": { + "role": "web-library", + "pluginId": "kubernetes", + "pluginPackages": [ + "@backstage/plugin-kubernetes", + "@backstage/plugin-kubernetes-backend", + "@backstage/plugin-kubernetes-common", + "@backstage/plugin-kubernetes-node", + "@backstage/plugin-kubernetes-react" + ] + }, "publishConfig": { "access": "public", "main": "dist/index.esm.js", @@ -15,19 +23,22 @@ "url": "https://github.com/backstage/backstage", "directory": "plugins/kubernetes-react" }, - "backstage": { - "role": "web-library" - }, + "license": "Apache-2.0", "sideEffects": false, - "configSchema": "config.d.ts", + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist", + "config.d.ts" + ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "clean": "backstage-cli package clean", + "lint": "backstage-cli package lint", "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" + "postpack": "backstage-cli package postpack", + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/catalog-model": "workspace:^", @@ -53,9 +64,6 @@ "xterm-addon-attach": "^0.9.0", "xterm-addon-fit": "^0.8.0" }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0 || ^18.0.0" - }, "devDependencies": { "@backstage/cli": "workspace:^", "@backstage/core-app-api": "workspace:^", @@ -65,8 +73,8 @@ "jest-websocket-mock": "^2.5.0", "msw": "^1.3.1" }, - "files": [ - "dist", - "config.d.ts" - ] + "peerDependencies": { + "react": "^16.13.1 || ^17.0.0 || ^18.0.0" + }, + "configSchema": "config.d.ts" } diff --git a/plugins/kubernetes/package.json b/plugins/kubernetes/package.json index cd8c1c0bf8..7262129adb 100644 --- a/plugins/kubernetes/package.json +++ b/plugins/kubernetes/package.json @@ -1,37 +1,48 @@ { "name": "@backstage/plugin-kubernetes", - "description": "A Backstage plugin that integrates towards Kubernetes", "version": "0.11.11-next.2", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "A Backstage plugin that integrates towards Kubernetes", + "backstage": { + "role": "frontend-plugin", + "pluginId": "kubernetes", + "pluginPackages": [ + "@backstage/plugin-kubernetes", + "@backstage/plugin-kubernetes-backend", + "@backstage/plugin-kubernetes-common", + "@backstage/plugin-kubernetes-node", + "@backstage/plugin-kubernetes-react" + ] + }, "publishConfig": { "access": "public", "main": "dist/index.esm.js", "types": "dist/index.d.ts" }, - "backstage": { - "role": "frontend-plugin" - }, + "keywords": [ + "backstage", + "kubernetes" + ], "homepage": "https://backstage.io", "repository": { "type": "git", "url": "https://github.com/backstage/backstage", "directory": "plugins/kubernetes" }, - "keywords": [ - "backstage", - "kubernetes" - ], + "license": "Apache-2.0", "sideEffects": false, + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist" + ], "scripts": { "build": "backstage-cli package build", - "start": "backstage-cli package start", + "clean": "backstage-cli package clean", "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "prepack": "backstage-cli package prepack", "postpack": "backstage-cli package postpack", - "clean": "backstage-cli package clean" + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/catalog-model": "workspace:^", @@ -54,11 +65,6 @@ "xterm-addon-attach": "^0.9.0", "xterm-addon-fit": "^0.8.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" - }, "devDependencies": { "@backstage/cli": "workspace:^", "@backstage/dev-utils": "workspace:^", @@ -67,7 +73,9 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^15.0.0" }, - "files": [ - "dist" - ] + "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" + } } diff --git a/plugins/notifications-backend-module-email/package.json b/plugins/notifications-backend-module-email/package.json index ac3ec8e1c2..4e6ac85fcf 100644 --- a/plugins/notifications-backend-module-email/package.json +++ b/plugins/notifications-backend-module-email/package.json @@ -3,7 +3,9 @@ "version": "0.1.0-next.2", "description": "The email backend module for the notifications plugin.", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "notifications", + "pluginPackage": "@backstage/plugin-notifications-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/notifications-backend/package.json b/plugins/notifications-backend/package.json index accc8e2d9f..403b86d5b0 100644 --- a/plugins/notifications-backend/package.json +++ b/plugins/notifications-backend/package.json @@ -2,7 +2,14 @@ "name": "@backstage/plugin-notifications-backend", "version": "0.3.0-next.2", "backstage": { - "role": "backend-plugin" + "role": "backend-plugin", + "pluginId": "notifications", + "pluginPackages": [ + "@backstage/plugin-notifications", + "@backstage/plugin-notifications-backend", + "@backstage/plugin-notifications-common", + "@backstage/plugin-notifications-node" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/notifications-common/package.json b/plugins/notifications-common/package.json index 2745230a4a..d3ca76342c 100644 --- a/plugins/notifications-common/package.json +++ b/plugins/notifications-common/package.json @@ -3,7 +3,14 @@ "version": "0.0.3", "description": "Common functionalities for the notifications plugin", "backstage": { - "role": "common-library" + "role": "common-library", + "pluginId": "notifications", + "pluginPackages": [ + "@backstage/plugin-notifications", + "@backstage/plugin-notifications-backend", + "@backstage/plugin-notifications-common", + "@backstage/plugin-notifications-node" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/notifications-node/package.json b/plugins/notifications-node/package.json index 0fc75d3a72..ea1ed94e81 100644 --- a/plugins/notifications-node/package.json +++ b/plugins/notifications-node/package.json @@ -3,7 +3,14 @@ "version": "0.2.0-next.2", "description": "Node.js library for the notifications plugin", "backstage": { - "role": "node-library" + "role": "node-library", + "pluginId": "notifications", + "pluginPackages": [ + "@backstage/plugin-notifications", + "@backstage/plugin-notifications-backend", + "@backstage/plugin-notifications-common", + "@backstage/plugin-notifications-node" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/notifications/package.json b/plugins/notifications/package.json index a5bd2a7d9b..0cfd15648c 100644 --- a/plugins/notifications/package.json +++ b/plugins/notifications/package.json @@ -2,7 +2,14 @@ "name": "@backstage/plugin-notifications", "version": "0.2.2-next.2", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "notifications", + "pluginPackages": [ + "@backstage/plugin-notifications", + "@backstage/plugin-notifications-backend", + "@backstage/plugin-notifications-common", + "@backstage/plugin-notifications-node" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/org-react/package.json b/plugins/org-react/package.json index 6a78114b2a..a89fcd9eb1 100644 --- a/plugins/org-react/package.json +++ b/plugins/org-react/package.json @@ -2,7 +2,12 @@ "name": "@backstage/plugin-org-react", "version": "0.1.25-next.1", "backstage": { - "role": "web-library" + "role": "web-library", + "pluginId": "org", + "pluginPackages": [ + "@backstage/plugin-org", + "@backstage/plugin-org-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/org/package.json b/plugins/org/package.json index fcf8b58725..17435095f8 100644 --- a/plugins/org/package.json +++ b/plugins/org/package.json @@ -3,7 +3,12 @@ "version": "0.6.26-next.1", "description": "A Backstage plugin that helps you create entity pages for your organization", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "org", + "pluginPackages": [ + "@backstage/plugin-org", + "@backstage/plugin-org-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/permission-backend-module-policy-allow-all/package.json b/plugins/permission-backend-module-policy-allow-all/package.json index 41d972cc1b..e48bc83bc2 100644 --- a/plugins/permission-backend-module-policy-allow-all/package.json +++ b/plugins/permission-backend-module-policy-allow-all/package.json @@ -3,7 +3,9 @@ "version": "0.1.16-next.1", "description": "Allow all policy backend module for the permission plugin.", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "permission", + "pluginPackage": "@backstage/plugin-permission-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/permission-backend/package.json b/plugins/permission-backend/package.json index 3e4fa61c3d..469d988ac6 100644 --- a/plugins/permission-backend/package.json +++ b/plugins/permission-backend/package.json @@ -2,7 +2,14 @@ "name": "@backstage/plugin-permission-backend", "version": "0.5.43-next.2", "backstage": { - "role": "backend-plugin" + "role": "backend-plugin", + "pluginId": "permission", + "pluginPackages": [ + "@backstage/plugin-permission-backend", + "@backstage/plugin-permission-common", + "@backstage/plugin-permission-node", + "@backstage/plugin-permission-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/permission-common/package.json b/plugins/permission-common/package.json index d0f8f7ffc4..1080bf00fb 100644 --- a/plugins/permission-common/package.json +++ b/plugins/permission-common/package.json @@ -3,7 +3,14 @@ "version": "0.7.13", "description": "Isomorphic types and client for Backstage permissions and authorization", "backstage": { - "role": "common-library" + "role": "common-library", + "pluginId": "permission", + "pluginPackages": [ + "@backstage/plugin-permission-backend", + "@backstage/plugin-permission-common", + "@backstage/plugin-permission-node", + "@backstage/plugin-permission-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/permission-node/package.json b/plugins/permission-node/package.json index 7d172fadf7..7d64063d91 100644 --- a/plugins/permission-node/package.json +++ b/plugins/permission-node/package.json @@ -1,18 +1,38 @@ { "name": "@backstage/plugin-permission-node", - "description": "Common permission and authorization utilities for backend plugins", "version": "0.7.30-next.2", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "Common permission and authorization utilities for backend plugins", + "backstage": { + "role": "node-library", + "pluginId": "permission", + "pluginPackages": [ + "@backstage/plugin-permission-backend", + "@backstage/plugin-permission-common", + "@backstage/plugin-permission-node", + "@backstage/plugin-permission-react" + ] + }, "publishConfig": { "access": "public" }, + "keywords": [ + "backstage", + "permissions" + ], + "homepage": "https://backstage.io", + "repository": { + "type": "git", + "url": "https://github.com/backstage/backstage", + "directory": "plugins/permission-node" + }, + "license": "Apache-2.0", "exports": { ".": "./src/index.ts", "./alpha": "./src/alpha.ts", "./package.json": "./package.json" }, + "main": "src/index.ts", + "types": "src/index.ts", "typesVersions": { "*": { "alpha": [ @@ -23,27 +43,17 @@ ] } }, - "backstage": { - "role": "node-library" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/permission-node" - }, - "keywords": [ - "backstage", - "permissions" + "files": [ + "dist" ], "scripts": { "build": "backstage-cli package build", + "clean": "backstage-cli package clean", "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "prepack": "backstage-cli package prepack", "postpack": "backstage-cli package postpack", - "clean": "backstage-cli package clean", - "start": "backstage-cli package start" + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-common": "workspace:^", @@ -64,8 +74,5 @@ "@types/supertest": "^2.0.8", "msw": "^1.0.0", "supertest": "^6.1.3" - }, - "files": [ - "dist" - ] + } } diff --git a/plugins/permission-react/package.json b/plugins/permission-react/package.json index 25d3a8554c..9105a401a8 100644 --- a/plugins/permission-react/package.json +++ b/plugins/permission-react/package.json @@ -2,7 +2,14 @@ "name": "@backstage/plugin-permission-react", "version": "0.4.23-next.0", "backstage": { - "role": "web-library" + "role": "web-library", + "pluginId": "permission", + "pluginPackages": [ + "@backstage/plugin-permission-backend", + "@backstage/plugin-permission-common", + "@backstage/plugin-permission-node", + "@backstage/plugin-permission-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/proxy-backend/package.json b/plugins/proxy-backend/package.json index 37127b9ad8..f229ec8c6a 100644 --- a/plugins/proxy-backend/package.json +++ b/plugins/proxy-backend/package.json @@ -3,7 +3,11 @@ "version": "0.5.0-next.2", "description": "A Backstage backend plugin that helps you set up proxy endpoints in the backend", "backstage": { - "role": "backend-plugin" + "role": "backend-plugin", + "pluginId": "proxy", + "pluginPackages": [ + "@backstage/plugin-proxy-backend" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-backend-module-azure/package.json b/plugins/scaffolder-backend-module-azure/package.json index 05e4add652..23af17730e 100644 --- a/plugins/scaffolder-backend-module-azure/package.json +++ b/plugins/scaffolder-backend-module-azure/package.json @@ -3,7 +3,9 @@ "version": "0.1.11-next.1", "description": "The azure module for @backstage/plugin-scaffolder-backend", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "scaffolder", + "pluginPackage": "@backstage/plugin-scaffolder-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-backend-module-bitbucket-cloud/package.json b/plugins/scaffolder-backend-module-bitbucket-cloud/package.json index c8beed9126..bd69da6fe4 100644 --- a/plugins/scaffolder-backend-module-bitbucket-cloud/package.json +++ b/plugins/scaffolder-backend-module-bitbucket-cloud/package.json @@ -3,7 +3,9 @@ "version": "0.1.9-next.1", "description": "The Bitbucket Cloud module for @backstage/plugin-scaffolder-backend", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "scaffolder", + "pluginPackage": "@backstage/plugin-scaffolder-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-backend-module-bitbucket-server/package.json b/plugins/scaffolder-backend-module-bitbucket-server/package.json index 88d8ab70ce..779767cd0b 100644 --- a/plugins/scaffolder-backend-module-bitbucket-server/package.json +++ b/plugins/scaffolder-backend-module-bitbucket-server/package.json @@ -3,7 +3,9 @@ "version": "0.1.9-next.1", "description": "The Bitbucket Server module for @backstage/plugin-scaffolder-backend", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "scaffolder", + "pluginPackage": "@backstage/plugin-scaffolder-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-backend-module-bitbucket/package.json b/plugins/scaffolder-backend-module-bitbucket/package.json index e10d909548..fa4f09c729 100644 --- a/plugins/scaffolder-backend-module-bitbucket/package.json +++ b/plugins/scaffolder-backend-module-bitbucket/package.json @@ -3,7 +3,9 @@ "version": "0.2.9-next.1", "description": "The bitbucket module for @backstage/plugin-scaffolder-backend", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "scaffolder", + "pluginPackage": "@backstage/plugin-scaffolder-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/package.json b/plugins/scaffolder-backend-module-confluence-to-markdown/package.json index 2d8ecb7f3d..a0dcf8ac42 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdown/package.json +++ b/plugins/scaffolder-backend-module-confluence-to-markdown/package.json @@ -3,7 +3,9 @@ "version": "0.2.20-next.2", "description": "The confluence-to-markdown module for @backstage/plugin-scaffolder-backend", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "scaffolder", + "pluginPackage": "@backstage/plugin-scaffolder-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-backend-module-cookiecutter/package.json b/plugins/scaffolder-backend-module-cookiecutter/package.json index 3ce10cc57b..14dd97be21 100644 --- a/plugins/scaffolder-backend-module-cookiecutter/package.json +++ b/plugins/scaffolder-backend-module-cookiecutter/package.json @@ -3,7 +3,9 @@ "version": "0.2.43-next.2", "description": "A module for the scaffolder backend that lets you template projects using cookiecutter", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "scaffolder", + "pluginPackage": "@backstage/plugin-scaffolder-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-backend-module-gerrit/package.json b/plugins/scaffolder-backend-module-gerrit/package.json index 519c507e2c..064f7c6a34 100644 --- a/plugins/scaffolder-backend-module-gerrit/package.json +++ b/plugins/scaffolder-backend-module-gerrit/package.json @@ -3,7 +3,9 @@ "version": "0.1.11-next.1", "description": "The gerrit module for @backstage/plugin-scaffolder-backend", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "scaffolder", + "pluginPackage": "@backstage/plugin-scaffolder-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-backend-module-gitea/package.json b/plugins/scaffolder-backend-module-gitea/package.json index 34cf67e766..759c8c928a 100644 --- a/plugins/scaffolder-backend-module-gitea/package.json +++ b/plugins/scaffolder-backend-module-gitea/package.json @@ -3,7 +3,9 @@ "version": "0.1.9-next.2", "description": "The gitea module for @backstage/plugin-scaffolder-backend", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "scaffolder", + "pluginPackage": "@backstage/plugin-scaffolder-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-backend-module-github/package.json b/plugins/scaffolder-backend-module-github/package.json index 6f8b952eac..1887df205a 100644 --- a/plugins/scaffolder-backend-module-github/package.json +++ b/plugins/scaffolder-backend-module-github/package.json @@ -3,7 +3,9 @@ "version": "0.3.0-next.2", "description": "The github module for @backstage/plugin-scaffolder-backend", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "scaffolder", + "pluginPackage": "@backstage/plugin-scaffolder-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-backend-module-gitlab/package.json b/plugins/scaffolder-backend-module-gitlab/package.json index c0533513f4..3464882af3 100644 --- a/plugins/scaffolder-backend-module-gitlab/package.json +++ b/plugins/scaffolder-backend-module-gitlab/package.json @@ -2,7 +2,9 @@ "name": "@backstage/plugin-scaffolder-backend-module-gitlab", "version": "0.4.1-next.2", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "scaffolder", + "pluginPackage": "@backstage/plugin-scaffolder-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-backend-module-notifications/package.json b/plugins/scaffolder-backend-module-notifications/package.json index 490c9291be..0dba6267a0 100644 --- a/plugins/scaffolder-backend-module-notifications/package.json +++ b/plugins/scaffolder-backend-module-notifications/package.json @@ -3,7 +3,9 @@ "version": "0.0.2-next.2", "description": "The notifications backend module for the scaffolder plugin.", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "scaffolder", + "pluginPackage": "@backstage/plugin-scaffolder-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/scaffolder-backend-module-rails/package.json b/plugins/scaffolder-backend-module-rails/package.json index ffd335ead0..7851c8f5d8 100644 --- a/plugins/scaffolder-backend-module-rails/package.json +++ b/plugins/scaffolder-backend-module-rails/package.json @@ -3,7 +3,9 @@ "version": "0.4.36-next.2", "description": "A module for the scaffolder backend that lets you template projects using Rails", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "scaffolder", + "pluginPackage": "@backstage/plugin-scaffolder-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-backend-module-sentry/package.json b/plugins/scaffolder-backend-module-sentry/package.json index 919cc1a8aa..026d3f6efa 100644 --- a/plugins/scaffolder-backend-module-sentry/package.json +++ b/plugins/scaffolder-backend-module-sentry/package.json @@ -2,7 +2,9 @@ "name": "@backstage/plugin-scaffolder-backend-module-sentry", "version": "0.1.27-next.2", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "scaffolder", + "pluginPackage": "@backstage/plugin-scaffolder-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-backend-module-yeoman/package.json b/plugins/scaffolder-backend-module-yeoman/package.json index b03e49e0c5..d2006948c9 100644 --- a/plugins/scaffolder-backend-module-yeoman/package.json +++ b/plugins/scaffolder-backend-module-yeoman/package.json @@ -2,7 +2,9 @@ "name": "@backstage/plugin-scaffolder-backend-module-yeoman", "version": "0.3.2-next.1", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "scaffolder", + "pluginPackage": "@backstage/plugin-scaffolder-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-backend/package.json b/plugins/scaffolder-backend/package.json index 76ae1cfcc8..73f7631ed8 100644 --- a/plugins/scaffolder-backend/package.json +++ b/plugins/scaffolder-backend/package.json @@ -3,7 +3,16 @@ "version": "1.22.8-next.2", "description": "The Backstage backend plugin that helps you create new things", "backstage": { - "role": "backend-plugin" + "role": "backend-plugin", + "pluginId": "scaffolder", + "pluginPackages": [ + "@backstage/plugin-scaffolder", + "@backstage/plugin-scaffolder-backend", + "@backstage/plugin-scaffolder-common", + "@backstage/plugin-scaffolder-node", + "@backstage/plugin-scaffolder-node-test-utils", + "@backstage/plugin-scaffolder-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-common/package.json b/plugins/scaffolder-common/package.json index 04f3375520..54501d64e5 100644 --- a/plugins/scaffolder-common/package.json +++ b/plugins/scaffolder-common/package.json @@ -3,7 +3,16 @@ "version": "1.5.3-next.0", "description": "Common functionalities for the scaffolder, to be shared between scaffolder and scaffolder-backend plugin", "backstage": { - "role": "common-library" + "role": "common-library", + "pluginId": "scaffolder", + "pluginPackages": [ + "@backstage/plugin-scaffolder", + "@backstage/plugin-scaffolder-backend", + "@backstage/plugin-scaffolder-common", + "@backstage/plugin-scaffolder-node", + "@backstage/plugin-scaffolder-node-test-utils", + "@backstage/plugin-scaffolder-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-node-test-utils/package.json b/plugins/scaffolder-node-test-utils/package.json index 1c5d6445bd..2f46101b3c 100644 --- a/plugins/scaffolder-node-test-utils/package.json +++ b/plugins/scaffolder-node-test-utils/package.json @@ -2,7 +2,16 @@ "name": "@backstage/plugin-scaffolder-node-test-utils", "version": "0.1.5-next.2", "backstage": { - "role": "node-library" + "role": "node-library", + "pluginId": "scaffolder", + "pluginPackages": [ + "@backstage/plugin-scaffolder", + "@backstage/plugin-scaffolder-backend", + "@backstage/plugin-scaffolder-common", + "@backstage/plugin-scaffolder-node", + "@backstage/plugin-scaffolder-node-test-utils", + "@backstage/plugin-scaffolder-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/scaffolder-node/package.json b/plugins/scaffolder-node/package.json index 30e67477e0..aca3ff3f5a 100644 --- a/plugins/scaffolder-node/package.json +++ b/plugins/scaffolder-node/package.json @@ -3,7 +3,16 @@ "version": "0.4.5-next.2", "description": "The plugin-scaffolder-node module for @backstage/plugin-scaffolder-backend", "backstage": { - "role": "node-library" + "role": "node-library", + "pluginId": "scaffolder", + "pluginPackages": [ + "@backstage/plugin-scaffolder", + "@backstage/plugin-scaffolder-backend", + "@backstage/plugin-scaffolder-common", + "@backstage/plugin-scaffolder-node", + "@backstage/plugin-scaffolder-node-test-utils", + "@backstage/plugin-scaffolder-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder-react/package.json b/plugins/scaffolder-react/package.json index 084eb34d20..3138c992cd 100644 --- a/plugins/scaffolder-react/package.json +++ b/plugins/scaffolder-react/package.json @@ -3,7 +3,16 @@ "version": "1.8.7-next.2", "description": "A frontend library that helps other Backstage plugins interact with the Scaffolder", "backstage": { - "role": "web-library" + "role": "web-library", + "pluginId": "scaffolder", + "pluginPackages": [ + "@backstage/plugin-scaffolder", + "@backstage/plugin-scaffolder-backend", + "@backstage/plugin-scaffolder-common", + "@backstage/plugin-scaffolder-node", + "@backstage/plugin-scaffolder-node-test-utils", + "@backstage/plugin-scaffolder-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json index 87fb77defd..cb6842c1c0 100644 --- a/plugins/scaffolder/package.json +++ b/plugins/scaffolder/package.json @@ -3,7 +3,16 @@ "version": "1.21.0-next.2", "description": "The Backstage plugin that helps you create new things", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "scaffolder", + "pluginPackages": [ + "@backstage/plugin-scaffolder", + "@backstage/plugin-scaffolder-backend", + "@backstage/plugin-scaffolder-common", + "@backstage/plugin-scaffolder-node", + "@backstage/plugin-scaffolder-node-test-utils", + "@backstage/plugin-scaffolder-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/search-backend-module-catalog/package.json b/plugins/search-backend-module-catalog/package.json index dea1865fca..ddeb0cb823 100644 --- a/plugins/search-backend-module-catalog/package.json +++ b/plugins/search-backend-module-catalog/package.json @@ -3,7 +3,9 @@ "version": "0.1.25-next.2", "description": "A module for the search backend that exports catalog modules", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "search", + "pluginPackage": "@backstage/plugin-search-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/search-backend-module-elasticsearch/package.json b/plugins/search-backend-module-elasticsearch/package.json index 3994977fd2..a8c245c4d3 100644 --- a/plugins/search-backend-module-elasticsearch/package.json +++ b/plugins/search-backend-module-elasticsearch/package.json @@ -3,7 +3,9 @@ "version": "1.4.2-next.2", "description": "A module for the search backend that implements search using ElasticSearch", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "search", + "pluginPackage": "@backstage/plugin-search-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/search-backend-module-explore/package.json b/plugins/search-backend-module-explore/package.json index a195eb08d9..2d177c73bf 100644 --- a/plugins/search-backend-module-explore/package.json +++ b/plugins/search-backend-module-explore/package.json @@ -3,7 +3,9 @@ "version": "0.1.25-next.2", "description": "A module for the search backend that exports explore modules", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "search", + "pluginPackage": "@backstage/plugin-search-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/search-backend-module-pg/package.json b/plugins/search-backend-module-pg/package.json index f81eef8fc7..83f6d72875 100644 --- a/plugins/search-backend-module-pg/package.json +++ b/plugins/search-backend-module-pg/package.json @@ -3,7 +3,9 @@ "version": "0.5.28-next.2", "description": "A module for the search backend that implements search using PostgreSQL", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "search", + "pluginPackage": "@backstage/plugin-search-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/search-backend-module-stack-overflow-collator/package.json b/plugins/search-backend-module-stack-overflow-collator/package.json index 443cfe1155..c35347f8da 100644 --- a/plugins/search-backend-module-stack-overflow-collator/package.json +++ b/plugins/search-backend-module-stack-overflow-collator/package.json @@ -3,7 +3,9 @@ "version": "0.1.12-next.2", "description": "A module for the search backend that exports stack overflow modules", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "search", + "pluginPackage": "@backstage/plugin-search-backend" }, "publishConfig": { "access": "public", diff --git a/plugins/search-backend-module-techdocs/package.json b/plugins/search-backend-module-techdocs/package.json index 8690558f8a..d487866f3d 100644 --- a/plugins/search-backend-module-techdocs/package.json +++ b/plugins/search-backend-module-techdocs/package.json @@ -3,7 +3,9 @@ "version": "0.1.24-next.2", "description": "A module for the search backend that exports techdocs modules", "backstage": { - "role": "backend-plugin-module" + "role": "backend-plugin-module", + "pluginId": "search", + "pluginPackage": "@backstage/plugin-search-backend" }, "publishConfig": { "access": "public" diff --git a/plugins/search-backend-node/package.json b/plugins/search-backend-node/package.json index 36a6a5de13..20d5e70048 100644 --- a/plugins/search-backend-node/package.json +++ b/plugins/search-backend-node/package.json @@ -3,7 +3,11 @@ "version": "1.2.24-next.2", "description": "A library for Backstage backend plugins that want to interact with the search backend plugin", "backstage": { - "role": "node-library" + "role": "node-library", + "pluginId": "search-backend", + "pluginPackages": [ + "@backstage/plugin-search-backend-node" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/search-backend/package.json b/plugins/search-backend/package.json index 4a550de16f..97287b8f87 100644 --- a/plugins/search-backend/package.json +++ b/plugins/search-backend/package.json @@ -3,7 +3,14 @@ "version": "1.5.10-next.2", "description": "The Backstage backend plugin that provides your backstage app with search", "backstage": { - "role": "backend-plugin" + "role": "backend-plugin", + "pluginId": "search", + "pluginPackages": [ + "@backstage/plugin-search", + "@backstage/plugin-search-backend", + "@backstage/plugin-search-common", + "@backstage/plugin-search-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/search-common/package.json b/plugins/search-common/package.json index 9a3c7bce03..346a248bf6 100644 --- a/plugins/search-common/package.json +++ b/plugins/search-common/package.json @@ -3,7 +3,14 @@ "version": "1.2.11", "description": "Common functionalities for Search, to be shared between various search-enabled plugins", "backstage": { - "role": "common-library" + "role": "common-library", + "pluginId": "search", + "pluginPackages": [ + "@backstage/plugin-search", + "@backstage/plugin-search-backend", + "@backstage/plugin-search-common", + "@backstage/plugin-search-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/search-react/package.json b/plugins/search-react/package.json index b3fe4f0dc0..2cd8d0af3d 100644 --- a/plugins/search-react/package.json +++ b/plugins/search-react/package.json @@ -2,7 +2,14 @@ "name": "@backstage/plugin-search-react", "version": "1.7.12-next.1", "backstage": { - "role": "web-library" + "role": "web-library", + "pluginId": "search", + "pluginPackages": [ + "@backstage/plugin-search", + "@backstage/plugin-search-backend", + "@backstage/plugin-search-common", + "@backstage/plugin-search-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/search/package.json b/plugins/search/package.json index 46167d484c..bfc4f0f103 100644 --- a/plugins/search/package.json +++ b/plugins/search/package.json @@ -3,7 +3,14 @@ "version": "1.4.12-next.2", "description": "The Backstage plugin that provides your backstage app with search", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "search", + "pluginPackages": [ + "@backstage/plugin-search", + "@backstage/plugin-search-backend", + "@backstage/plugin-search-common", + "@backstage/plugin-search-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/signals-backend/package.json b/plugins/signals-backend/package.json index 9b9429cd8e..f4e4f03a8d 100644 --- a/plugins/signals-backend/package.json +++ b/plugins/signals-backend/package.json @@ -1,9 +1,16 @@ { "name": "@backstage/plugin-signals-backend", "version": "0.1.5-next.2", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "backstage": { + "role": "backend-plugin", + "pluginId": "signals", + "pluginPackages": [ + "@backstage/plugin-signals", + "@backstage/plugin-signals-backend", + "@backstage/plugin-signals-node", + "@backstage/plugin-signals-react" + ] + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", @@ -14,17 +21,20 @@ "url": "https://github.com/backstage/backstage", "directory": "plugins/signals-backend" }, - "backstage": { - "role": "backend-plugin" - }, + "license": "Apache-2.0", + "main": "src/index.ts", + "types": "src/index.ts", + "files": [ + "dist" + ], "scripts": { - "start": "backstage-cli package start", "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", "clean": "backstage-cli package clean", + "lint": "backstage-cli package lint", "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" + "postpack": "backstage-cli package postpack", + "start": "backstage-cli package start", + "test": "backstage-cli package test" }, "dependencies": { "@backstage/backend-common": "workspace:^", @@ -55,8 +65,5 @@ "@types/ws": "^8.5.10", "msw": "^1.0.0", "supertest": "^6.2.4" - }, - "files": [ - "dist" - ] + } } diff --git a/plugins/signals-node/package.json b/plugins/signals-node/package.json index 7541d19ff8..e7eb39c9e1 100644 --- a/plugins/signals-node/package.json +++ b/plugins/signals-node/package.json @@ -1,10 +1,17 @@ { "name": "@backstage/plugin-signals-node", - "description": "Node.js library for the signals plugin", "version": "0.1.5-next.2", - "main": "src/index.ts", - "types": "src/index.ts", - "license": "Apache-2.0", + "description": "Node.js library for the signals plugin", + "backstage": { + "role": "node-library", + "pluginId": "signals", + "pluginPackages": [ + "@backstage/plugin-signals", + "@backstage/plugin-signals-backend", + "@backstage/plugin-signals-node", + "@backstage/plugin-signals-react" + ] + }, "publishConfig": { "access": "public", "main": "dist/index.cjs.js", @@ -15,24 +22,20 @@ "url": "https://github.com/backstage/backstage", "directory": "plugins/signals-node" }, - "backstage": { - "role": "node-library" - }, - "scripts": { - "build": "backstage-cli package build", - "lint": "backstage-cli package lint", - "test": "backstage-cli package test", - "clean": "backstage-cli package clean", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack" - }, - "devDependencies": { - "@backstage/cli": "workspace:^", - "@types/express": "^4.17.21" - }, + "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", + "test": "backstage-cli package test" + }, "dependencies": { "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", @@ -43,5 +46,9 @@ "express": "^4.17.1", "uuid": "^9.0.0", "ws": "^8.14.2" + }, + "devDependencies": { + "@backstage/cli": "workspace:^", + "@types/express": "^4.17.21" } } diff --git a/plugins/signals-react/package.json b/plugins/signals-react/package.json index 2812ef6aa8..37353a7d80 100644 --- a/plugins/signals-react/package.json +++ b/plugins/signals-react/package.json @@ -3,7 +3,14 @@ "version": "0.0.4-next.0", "description": "Web library for the signals plugin", "backstage": { - "role": "web-library" + "role": "web-library", + "pluginId": "signals", + "pluginPackages": [ + "@backstage/plugin-signals", + "@backstage/plugin-signals-backend", + "@backstage/plugin-signals-node", + "@backstage/plugin-signals-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/signals/package.json b/plugins/signals/package.json index d313593271..c211003927 100644 --- a/plugins/signals/package.json +++ b/plugins/signals/package.json @@ -2,7 +2,14 @@ "name": "@backstage/plugin-signals", "version": "0.0.7-next.1", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "signals", + "pluginPackages": [ + "@backstage/plugin-signals", + "@backstage/plugin-signals-backend", + "@backstage/plugin-signals-node", + "@backstage/plugin-signals-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/techdocs-addons-test-utils/package.json b/plugins/techdocs-addons-test-utils/package.json index 8fe3c2a942..b3fa6128fb 100644 --- a/plugins/techdocs-addons-test-utils/package.json +++ b/plugins/techdocs-addons-test-utils/package.json @@ -2,7 +2,11 @@ "name": "@backstage/plugin-techdocs-addons-test-utils", "version": "1.0.33-next.1", "backstage": { - "role": "web-library" + "role": "web-library", + "pluginId": "techdocs-addons", + "pluginPackages": [ + "@backstage/plugin-techdocs-addons-test-utils" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/techdocs-backend/package.json b/plugins/techdocs-backend/package.json index c6773b1f64..d202c35719 100644 --- a/plugins/techdocs-backend/package.json +++ b/plugins/techdocs-backend/package.json @@ -3,7 +3,14 @@ "version": "1.10.6-next.2", "description": "The Backstage backend plugin that renders technical documentation for your components", "backstage": { - "role": "backend-plugin" + "role": "backend-plugin", + "pluginId": "techdocs", + "pluginPackages": [ + "@backstage/plugin-techdocs", + "@backstage/plugin-techdocs-backend", + "@backstage/plugin-techdocs-node", + "@backstage/plugin-techdocs-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/techdocs-module-addons-contrib/package.json b/plugins/techdocs-module-addons-contrib/package.json index 8b0e76168a..7836dc3e05 100644 --- a/plugins/techdocs-module-addons-contrib/package.json +++ b/plugins/techdocs-module-addons-contrib/package.json @@ -3,7 +3,9 @@ "version": "1.1.11-next.1", "description": "Plugin module for contributed TechDocs Addons", "backstage": { - "role": "frontend-plugin-module" + "role": "frontend-plugin-module", + "pluginId": "techdocs", + "pluginPackage": "@backstage/plugin-techdocs" }, "publishConfig": { "access": "public", diff --git a/plugins/techdocs-node/package.json b/plugins/techdocs-node/package.json index 21bbc89f4d..fdedeb679d 100644 --- a/plugins/techdocs-node/package.json +++ b/plugins/techdocs-node/package.json @@ -3,7 +3,14 @@ "version": "1.12.5-next.2", "description": "Common node.js functionalities for TechDocs, to be shared between techdocs-backend plugin and techdocs-cli", "backstage": { - "role": "node-library" + "role": "node-library", + "pluginId": "techdocs", + "pluginPackages": [ + "@backstage/plugin-techdocs", + "@backstage/plugin-techdocs-backend", + "@backstage/plugin-techdocs-node", + "@backstage/plugin-techdocs-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/techdocs-react/package.json b/plugins/techdocs-react/package.json index 8b10c5e3c9..601eeea739 100644 --- a/plugins/techdocs-react/package.json +++ b/plugins/techdocs-react/package.json @@ -3,7 +3,14 @@ "version": "1.2.5-next.1", "description": "Shared frontend utilities for TechDocs and Addons", "backstage": { - "role": "web-library" + "role": "web-library", + "pluginId": "techdocs", + "pluginPackages": [ + "@backstage/plugin-techdocs", + "@backstage/plugin-techdocs-backend", + "@backstage/plugin-techdocs-node", + "@backstage/plugin-techdocs-react" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json index e4d6c0eaef..84c9df25a6 100644 --- a/plugins/techdocs/package.json +++ b/plugins/techdocs/package.json @@ -3,7 +3,14 @@ "version": "1.10.6-next.1", "description": "The Backstage plugin that renders technical documentation for your components", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "techdocs", + "pluginPackages": [ + "@backstage/plugin-techdocs", + "@backstage/plugin-techdocs-backend", + "@backstage/plugin-techdocs-node", + "@backstage/plugin-techdocs-react" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/user-settings-backend/package.json b/plugins/user-settings-backend/package.json index 332c7eada1..ce15f2b6c3 100644 --- a/plugins/user-settings-backend/package.json +++ b/plugins/user-settings-backend/package.json @@ -3,7 +3,13 @@ "version": "0.2.18-next.2", "description": "The Backstage backend plugin to manage user settings", "backstage": { - "role": "backend-plugin" + "role": "backend-plugin", + "pluginId": "user-settings", + "pluginPackages": [ + "@backstage/plugin-user-settings", + "@backstage/plugin-user-settings-backend", + "@backstage/plugin-user-settings-common" + ] }, "publishConfig": { "access": "public" diff --git a/plugins/user-settings-common/package.json b/plugins/user-settings-common/package.json index 1575712a05..d36029092b 100644 --- a/plugins/user-settings-common/package.json +++ b/plugins/user-settings-common/package.json @@ -3,7 +3,13 @@ "version": "0.0.0", "description": "Common functionalities for the user-settings plugin", "backstage": { - "role": "common-library" + "role": "common-library", + "pluginId": "user-settings", + "pluginPackages": [ + "@backstage/plugin-user-settings", + "@backstage/plugin-user-settings-backend", + "@backstage/plugin-user-settings-common" + ] }, "publishConfig": { "access": "public", diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json index ed9affbfe7..7546b8ca64 100644 --- a/plugins/user-settings/package.json +++ b/plugins/user-settings/package.json @@ -3,7 +3,13 @@ "version": "0.8.7-next.1", "description": "A Backstage plugin that provides a settings page", "backstage": { - "role": "frontend-plugin" + "role": "frontend-plugin", + "pluginId": "user-settings", + "pluginPackages": [ + "@backstage/plugin-user-settings", + "@backstage/plugin-user-settings-backend", + "@backstage/plugin-user-settings-common" + ] }, "publishConfig": { "access": "public" From c328131b10c80d9e99dbd73f5fd56582b32d57e7 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 11 Jun 2024 10:24:10 +0200 Subject: [PATCH 33/66] changesets: added changesets for cli plugin metadata updates Signed-off-by: Patrik Oldsberg --- .changeset/blue-hairs-marry.md | 5 +++++ .changeset/tasty-horses-breathe.md | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 .changeset/blue-hairs-marry.md create mode 100644 .changeset/tasty-horses-breathe.md diff --git a/.changeset/blue-hairs-marry.md b/.changeset/blue-hairs-marry.md new file mode 100644 index 0000000000..2ca1a3d47e --- /dev/null +++ b/.changeset/blue-hairs-marry.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli-node': patch +--- + +Added new plugin metadata fields to `BackstagePackageJson` type. diff --git a/.changeset/tasty-horses-breathe.md b/.changeset/tasty-horses-breathe.md new file mode 100644 index 0000000000..afd20e6c4a --- /dev/null +++ b/.changeset/tasty-horses-breathe.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Added a new `--publish` flag to the `repo fix` command. This command will validate and if possible generate the metadata required for publishing packages with the Backstage CLI. In addition, a check has been added that the `backstage.pluginId` and `backstage.pluginPackage(s)` fields are present when packing a package for publishing. From 429c31f2d762e80aed340e2f4681165b5974f226 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 11 Jun 2024 11:18:42 +0200 Subject: [PATCH 34/66] cli: fix for repo fix always considering non-plugin packages changed Signed-off-by: Patrik Oldsberg --- packages/cli/src/commands/repo/fix.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/cli/src/commands/repo/fix.ts b/packages/cli/src/commands/repo/fix.ts index 285dd75e3b..e7d243ea2c 100644 --- a/packages/cli/src/commands/repo/fix.ts +++ b/packages/cli/src/commands/repo/fix.ts @@ -302,11 +302,13 @@ export function fixPluginId(pkg: FixablePackage) { ); } - pkg.packageJson.backstage = { - ...pkg.packageJson.backstage, - pluginId: guessedPluginId, - }; - pkg.changed = true; + if (guessedPluginId) { + pkg.packageJson.backstage = { + ...pkg.packageJson.backstage, + pluginId: guessedPluginId, + }; + pkg.changed = true; + } } const backendPluginPackageNameByPluginId = new Map( From e615ac22f556a7a2c868ab5e4cea19a699db9502 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 11 Jun 2024 11:28:13 +0200 Subject: [PATCH 35/66] beps/0009: move to implementable Signed-off-by: Patrik Oldsberg --- beps/0009-plugin-metadata/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/beps/0009-plugin-metadata/README.md b/beps/0009-plugin-metadata/README.md index c019211123..79d7dc2172 100644 --- a/beps/0009-plugin-metadata/README.md +++ b/beps/0009-plugin-metadata/README.md @@ -1,6 +1,6 @@ --- title: Plugin Metadata -status: provisional +status: implementable authors: - '@Rugvip' owners: @@ -155,6 +155,8 @@ The following resources have been used to inform this proposal: The new metadata fields and any generation and validation of fields will initially be rolled out as part of the `repo fix` command in the Backstage CLI. In addition we will also add validation to the `yarn prepack` command in such a way that it does not interfere with backend package bundling, but does apply when packing packages for publishing. These changes will all be rolled out in a single release of the Backstage CLI, meaning that anyone publishing Backstage packages using the Backstage CLI will be required to provide the new metadata. +We will roll out these changes early on but be prepared to change the metadata structure if needed. Initially there will be very few consumers of this information, and it will be up to these consumers to handle the potentially varying versions of this metadata. We will aim to reach a stable state for the metadata as soon as possible, but we believe we need real world usage and feedback to get there. + ## Dependencies None From 798ec37c1cdaed5c87ea75abc5181f4eb5f1e101 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sun, 12 May 2024 22:22:33 +0200 Subject: [PATCH 36/66] auth-node: initial scope manager refactor Signed-off-by: Patrik Oldsberg --- .changeset/clever-kids-return.md | 13 ++ plugins/auth-node/api-report.md | 20 +++ .../auth-node/src/oauth/CookieScopeManager.ts | 156 ++++++++++++++++++ .../auth-node/src/oauth/OAuthCookieManager.ts | 13 +- .../src/oauth/createOAuthProviderFactory.ts | 2 + .../src/oauth/createOAuthRouteHandlers.ts | 91 +++++----- plugins/auth-node/src/oauth/index.ts | 1 + plugins/auth-node/src/oauth/types.ts | 18 ++ 8 files changed, 267 insertions(+), 47 deletions(-) create mode 100644 .changeset/clever-kids-return.md create mode 100644 plugins/auth-node/src/oauth/CookieScopeManager.ts diff --git a/.changeset/clever-kids-return.md b/.changeset/clever-kids-return.md new file mode 100644 index 0000000000..a6cab79f2b --- /dev/null +++ b/.changeset/clever-kids-return.md @@ -0,0 +1,13 @@ +--- +'@backstage/plugin-auth-node': patch +--- + +Updated scope management for OAuth providers, where the `createOAuthAuthenticator` now accepts a new collection of `scopes` options: + +- `scopes.persist` - Whether scopes should be persisted, replaces the `shouldPersistScopes` option. +- `scopes.required` - A list of required scopes that will always be requested. +- `scopes.transform` - A function that can be used to transform the scopes before they are requested. + +The `createOAuthProviderFactory` has also received a new `additionalScopes` option, and will also read `additionalScopes` from the auth provider configuration. Both of these can be used to add additional scopes that should always be requested. + +A significant change under the hood that this new scope management brings is that providers that persist scopes will now always merge the already granted scopes with the requested ones. The previous behavior was that the full authorization flow would not include existing scopes, while the refresh flow would only include the existing scopes. diff --git a/plugins/auth-node/api-report.md b/plugins/auth-node/api-report.md index 6a43d3b127..dc1d86308a 100644 --- a/plugins/auth-node/api-report.md +++ b/plugins/auth-node/api-report.md @@ -173,6 +173,7 @@ export function createOAuthAuthenticator( // @public (undocumented) export function createOAuthProviderFactory(options: { authenticator: OAuthAuthenticator; + additionalScopes?: string[]; stateTransform?: OAuthStateTransform; profileTransform?: ProfileTransform>; signInResolver?: SignInResolver>; @@ -291,6 +292,8 @@ export interface OAuthAuthenticator { ctx: TContext, ): Promise>; // (undocumented) + scopes?: OAuthAuthenticatorScopeOptions; + // @deprecated (undocumented) shouldPersistScopes?: boolean; // (undocumented) start( @@ -336,6 +339,21 @@ export interface OAuthAuthenticatorResult { session: OAuthSession; } +// @public (undocumented) +export interface OAuthAuthenticatorScopeOptions { + // (undocumented) + persist?: boolean; + // (undocumented) + required?: string[]; + // (undocumented) + transform?: (options: { + requested: Iterable; + granted: Iterable; + required: Iterable; + additional: Iterable; + }) => Iterable; +} + // @public (undocumented) export interface OAuthAuthenticatorStartInput { // (undocumented) @@ -366,6 +384,8 @@ export class OAuthEnvironmentHandler implements AuthProviderRouteHandlers { // @public (undocumented) export interface OAuthRouteHandlersOptions { + // (undocumented) + additionalScopes?: string[]; // (undocumented) appUrl: string; // (undocumented) diff --git a/plugins/auth-node/src/oauth/CookieScopeManager.ts b/plugins/auth-node/src/oauth/CookieScopeManager.ts new file mode 100644 index 0000000000..f75bf71db1 --- /dev/null +++ b/plugins/auth-node/src/oauth/CookieScopeManager.ts @@ -0,0 +1,156 @@ +/* + * Copyright 2024 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 { + OAuthAuthenticator, + OAuthAuthenticatorResult, + OAuthAuthenticatorScopeOptions, +} from './types'; +import { OAuthCookieManager } from './OAuthCookieManager'; +import { OAuthState } from './state'; +import { AuthenticationError } from '@backstage/errors'; + +function reqRes(req: express.Request): express.Response { + const res = req.res; + if (!res) { + throw new Error('No response object found in request'); + } + return res; +} + +const defaultTransform: Required['transform'] = + ({ required, additional, requested, granted }) => { + return new Set([...required, ...requested, ...additional, ...granted]); + }; + +function splitScope(scope?: string): Iterable { + if (!scope) { + return []; + } + + return new Set(scope.split(/[\s|,]/).filter(Boolean)); +} + +export class CookieScopeManager { + static create(options: { + additionalScopes: string[]; + authenticator: OAuthAuthenticator; + cookieManager: OAuthCookieManager; + }) { + const { authenticator } = options; + + const shouldPersistScopes = + authenticator.scopes?.persist ?? + authenticator.shouldPersistScopes ?? + false; + + const transform = authenticator?.scopes?.transform ?? defaultTransform; + const additional = options.additionalScopes; + const required = authenticator?.scopes?.required ?? []; + + return new CookieScopeManager( + (requested, granted) => + Array.from( + transform({ required, additional, requested, granted }), + ).join(' '), + shouldPersistScopes ? options.cookieManager : undefined, + ); + } + + private constructor( + private readonly scopeTransform: ( + requested: Iterable, + granted: Iterable, + ) => string, + private readonly cookieManager?: OAuthCookieManager, + ) {} + + async start( + req: express.Request, + ): Promise<{ scopeState?: Partial; scope: string }> { + const requestScope = splitScope(req.query.scope?.toString()); + + const scope = this.scopeTransform(requestScope, []); + + if (this.cookieManager) { + // If scopes are persisted then we pass them through the state so that we + // can set the cookie on successful auth + return { + scope, + scopeState: { scope }, + }; + } + return { scope }; + } + + async handleCallback( + req: express.Request, + ctx: { + result: OAuthAuthenticatorResult; + state: OAuthState; + origin?: string; + }, + ): Promise { + // If we are not persisting scopes we can forward the scope from the result + if (!this.cookieManager) { + return ctx.result.session.scope; + } + + const scope = ctx.state.scope; + if (!scope) { + throw new AuthenticationError('No scope found in OAuth state'); + } + + // Store the scope that we have been granted for this session. This is useful if + // the provider does not return granted scopes on refresh or if they are normalized. + this.cookieManager.setGrantedScopes(reqRes(req), scope, ctx.origin); + + return scope; + } + + async clear(req: express.Request): Promise { + if (this.cookieManager) { + this.cookieManager.removeGrantedScopes(reqRes(req), req.get('origin')); + } + } + + async refresh(req: express.Request): Promise<{ + scope: string; + commit(result: OAuthAuthenticatorResult): Promise; + }> { + const requestScope = splitScope(req.query.scope?.toString()); + const grantedScope = splitScope(this.cookieManager?.getGrantedScopes(req)); + + const scope = this.scopeTransform(requestScope, grantedScope); + + return { + scope, + commit: async result => { + if (this.cookieManager) { + this.cookieManager.setGrantedScopes( + reqRes(req), + scope, + req.get('origin'), + ); + return scope; + } + + return result.session.scope; + }, + }; + } +} diff --git a/plugins/auth-node/src/oauth/OAuthCookieManager.ts b/plugins/auth-node/src/oauth/OAuthCookieManager.ts index 5fe2304610..1d06242a2e 100644 --- a/plugins/auth-node/src/oauth/OAuthCookieManager.ts +++ b/plugins/auth-node/src/oauth/OAuthCookieManager.ts @@ -106,6 +106,13 @@ export class OAuthCookieManager { }); } + removeGrantedScopes(res: Response, origin?: string) { + res.cookie(this.grantedScopeCookie, '', { + maxAge: 0, + ...this.getConfig(origin), + }); + } + setGrantedScopes(res: Response, scope: string, origin?: string) { res.cookie(this.grantedScopeCookie, scope, { maxAge: THOUSAND_DAYS_MS, @@ -113,15 +120,15 @@ export class OAuthCookieManager { }); } - getNonce(req: Request) { + getNonce(req: Request): string | undefined { return req.cookies[this.nonceCookie]; } - getRefreshToken(req: Request) { + getRefreshToken(req: Request): string | undefined { return req.cookies[this.refreshTokenCookie]; } - getGrantedScopes(req: Request) { + getGrantedScopes(req: Request): string | undefined { return req.cookies[this.grantedScopeCookie]; } } diff --git a/plugins/auth-node/src/oauth/createOAuthProviderFactory.ts b/plugins/auth-node/src/oauth/createOAuthProviderFactory.ts index 87fde6a1a2..a3387b7038 100644 --- a/plugins/auth-node/src/oauth/createOAuthProviderFactory.ts +++ b/plugins/auth-node/src/oauth/createOAuthProviderFactory.ts @@ -29,6 +29,7 @@ import { SignInResolverFactory } from '../sign-in/createSignInResolverFactory'; /** @public */ export function createOAuthProviderFactory(options: { authenticator: OAuthAuthenticator; + additionalScopes?: string[]; stateTransform?: OAuthStateTransform; profileTransform?: ProfileTransform>; signInResolver?: SignInResolver>; @@ -57,6 +58,7 @@ export function createOAuthProviderFactory(options: { cookieConfigurer: ctx.cookieConfigurer, providerId: ctx.providerId, resolverContext: ctx.resolverContext, + additionalScopes: options.additionalScopes, stateTransform: options.stateTransform, profileTransform: options.profileTransform, signInResolver, diff --git a/plugins/auth-node/src/oauth/createOAuthRouteHandlers.ts b/plugins/auth-node/src/oauth/createOAuthRouteHandlers.ts index a0735e3ba0..c13b58f2fc 100644 --- a/plugins/auth-node/src/oauth/createOAuthRouteHandlers.ts +++ b/plugins/auth-node/src/oauth/createOAuthRouteHandlers.ts @@ -27,7 +27,6 @@ import { encodeOAuthState, decodeOAuthState, OAuthStateTransform, - OAuthState, } from './state'; import { sendWebMessageResponse } from '../flow'; import { prepareBackstageIdentityResponse } from '../identity'; @@ -42,6 +41,7 @@ import { } from '../types'; import { OAuthAuthenticator, OAuthAuthenticatorResult } from './types'; import { Config } from '@backstage/config'; +import { CookieScopeManager } from './CookieScopeManager'; /** @public */ export interface OAuthRouteHandlersOptions { @@ -52,6 +52,7 @@ export interface OAuthRouteHandlersOptions { providerId: string; config: Config; resolverContext: AuthResolverContext; + additionalScopes?: string[]; stateTransform?: OAuthStateTransform; profileTransform?: ProfileTransform>; cookieConfigurer?: CookieConfigurer; @@ -111,14 +112,21 @@ export function createOAuthRouteHandlers( cookieConfigurer, }); + const scopeManager = CookieScopeManager.create({ + authenticator, + cookieManager, + additionalScopes: [ + ...(options.additionalScopes ?? []), + ...(config.getOptionalStringArray('additionalScopes') ?? []), + ], + }); + return { async start( this: never, req: express.Request, res: express.Response, ): Promise { - // retrieve scopes from request - const scope = req.query.scope?.toString() ?? ''; const env = req.query.env?.toString(); const origin = req.query.origin?.toString(); const redirectUrl = req.query.redirectUrl?.toString(); @@ -132,19 +140,17 @@ export function createOAuthRouteHandlers( // set a nonce cookie before redirecting to oauth provider cookieManager.setNonce(res, nonce, origin); - const state: OAuthState = { nonce, env, origin, redirectUrl, flow }; - - // If scopes are persisted then we pass them through the state so that we - // can set the cookie on successful auth - if (authenticator.shouldPersistScopes && scope) { - state.scope = scope; - } + const { scope, scopeState } = await scopeManager.start(req); + const state = { nonce, env, origin, redirectUrl, flow, ...scopeState }; const { state: transformedState } = await stateTransform(state, { req }); - const encodedState = encodeOAuthState(transformedState); const { url, status } = await options.authenticator.start( - { req, scope, state: encodedState }, + { + req, + scope, + state: encodeOAuthState(transformedState), + }, authenticatorCtx, ); @@ -159,19 +165,19 @@ export function createOAuthRouteHandlers( req: express.Request, res: express.Response, ): Promise { - let appOrigin = defaultAppOrigin; + let origin = defaultAppOrigin; try { const state = decodeOAuthState(req.query.state?.toString() ?? ''); if (state.origin) { try { - appOrigin = new URL(state.origin).origin; + origin = new URL(state.origin).origin; } catch { throw new NotAllowedError('App origin is invalid, failed to parse'); } - if (!isOriginAllowed(appOrigin)) { - throw new NotAllowedError(`Origin '${appOrigin}' is not allowed`); + if (!isOriginAllowed(origin)) { + throw new NotAllowedError(`Origin '${origin}' is not allowed`); } } @@ -191,38 +197,35 @@ export function createOAuthRouteHandlers( ); const { profile } = await profileTransform(result, resolverContext); + const signInResult = + signInResolver && + (await signInResolver({ profile, result }, resolverContext)); + + const grantedScopes = await scopeManager.handleCallback(req, { + result, + state, + origin, + }); + const response: ClientOAuthResponse = { profile, providerInfo: { idToken: result.session.idToken, accessToken: result.session.accessToken, - scope: result.session.scope, + scope: grantedScopes, expiresInSeconds: result.session.expiresInSeconds, }, + ...(signInResult && { + backstageIdentity: prepareBackstageIdentityResponse(signInResult), + }), }; - if (signInResolver) { - const identity = await signInResolver( - { profile, result }, - resolverContext, - ); - response.backstageIdentity = - prepareBackstageIdentityResponse(identity); - } - - // Store the scope that we have been granted for this session. This is useful if - // the provider does not return granted scopes on refresh or if they are normalized. - if (authenticator.shouldPersistScopes && state.scope) { - cookieManager.setGrantedScopes(res, state.scope, appOrigin); - response.providerInfo.scope = state.scope; - } - if (result.session.refreshToken) { // set new refresh token cookieManager.setRefreshToken( res, result.session.refreshToken, - appOrigin, + origin, ); } @@ -239,7 +242,7 @@ export function createOAuthRouteHandlers( } // post message back to popup if successful - sendWebMessageResponse(res, appOrigin, { + sendWebMessageResponse(res, origin, { type: 'authorization_response', response, }); @@ -248,7 +251,7 @@ export function createOAuthRouteHandlers( ? error : new Error('Encountered invalid error'); // Being a bit safe and not forwarding the bad value // post error message back to popup if failure - sendWebMessageResponse(res, appOrigin, { + sendWebMessageResponse(res, origin, { type: 'authorization_response', error: { name, message }, }); @@ -273,6 +276,9 @@ export function createOAuthRouteHandlers( // remove refresh token cookie if it is set cookieManager.removeRefreshToken(res, req.get('origin')); + // remove persisted scopes + await scopeManager.clear(req); + res.status(200).end(); }, @@ -294,16 +300,15 @@ export function createOAuthRouteHandlers( throw new InputError('Missing session cookie'); } - let scope = req.query.scope?.toString() ?? ''; - if (authenticator.shouldPersistScopes) { - scope = cookieManager.getGrantedScopes(req); - } + const scopeRefresh = await scopeManager.refresh(req); const result = await authenticator.refresh( - { req, scope, refreshToken }, + { req, scope: scopeRefresh.scope, refreshToken }, authenticatorCtx, ); + const grantedScope = await scopeRefresh.commit(result); + const { profile } = await profileTransform(result, resolverContext); const newRefreshToken = result.session.refreshToken; @@ -320,9 +325,7 @@ export function createOAuthRouteHandlers( providerInfo: { idToken: result.session.idToken, accessToken: result.session.accessToken, - scope: authenticator.shouldPersistScopes - ? scope - : result.session.scope, + scope: grantedScope, expiresInSeconds: result.session.expiresInSeconds, }, }; diff --git a/plugins/auth-node/src/oauth/index.ts b/plugins/auth-node/src/oauth/index.ts index 25213dd2f0..9cff6c5358 100644 --- a/plugins/auth-node/src/oauth/index.ts +++ b/plugins/auth-node/src/oauth/index.ts @@ -39,6 +39,7 @@ export { type OAuthAuthenticatorLogoutInput, type OAuthAuthenticatorRefreshInput, type OAuthAuthenticatorResult, + type OAuthAuthenticatorScopeOptions, type OAuthAuthenticatorStartInput, type OAuthSession, } from './types'; diff --git a/plugins/auth-node/src/oauth/types.ts b/plugins/auth-node/src/oauth/types.ts index 4bd7bd3f3f..c4ae2ee1cf 100644 --- a/plugins/auth-node/src/oauth/types.ts +++ b/plugins/auth-node/src/oauth/types.ts @@ -29,6 +29,22 @@ export interface OAuthSession { refreshTokenExpiresInSeconds?: number; } +/** @public */ +export interface OAuthAuthenticatorScopeOptions { + persist?: boolean; + required?: string[]; + transform?: (options: { + /** Scopes requested by the client */ + requested: Iterable; + /** Scopes which have already been granted */ + granted: Iterable; + /** Scopes that are required for the authenticator to function */ + required: Iterable; + /** Additional scopes added through configuration */ + additional: Iterable; + }) => Iterable; +} + /** @public */ export interface OAuthAuthenticatorStartInput { scope: string; @@ -64,7 +80,9 @@ export interface OAuthAuthenticatorResult { /** @public */ export interface OAuthAuthenticator { defaultProfileTransform: ProfileTransform>; + /** @deprecated use `scopes.persist` instead */ shouldPersistScopes?: boolean; + scopes?: OAuthAuthenticatorScopeOptions; initialize(ctx: { callbackUrl: string; config: Config }): TContext; start( input: OAuthAuthenticatorStartInput, From bb7d150937cf775158ad9a78c97b717678b242d8 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 13 May 2024 11:33:24 +0200 Subject: [PATCH 37/66] auth-node: added CookieScopeManager tests + fixes Signed-off-by: Patrik Oldsberg --- .../src/oauth/CookieScopeManager.test.ts | 236 ++++++++++++++++++ .../auth-node/src/oauth/CookieScopeManager.ts | 19 +- 2 files changed, 246 insertions(+), 9 deletions(-) create mode 100644 plugins/auth-node/src/oauth/CookieScopeManager.test.ts diff --git a/plugins/auth-node/src/oauth/CookieScopeManager.test.ts b/plugins/auth-node/src/oauth/CookieScopeManager.test.ts new file mode 100644 index 0000000000..82eeb902d8 --- /dev/null +++ b/plugins/auth-node/src/oauth/CookieScopeManager.test.ts @@ -0,0 +1,236 @@ +/* + * Copyright 2024 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 { + OAuthAuthenticator, + OAuthAuthenticatorResult, + OAuthAuthenticatorScopeOptions, +} from './types'; +import { OAuthCookieManager } from './OAuthCookieManager'; +import { OAuthState } from './state'; +import { CookieScopeManager } from './CookieScopeManager'; + +function makeReq(scope?: string): express.Request { + return { + query: { scope }, + res: {}, + get: _name => 'https://example.com', + } as express.Request; +} + +describe('CookieScopeManager', () => { + it('should work with minimal config', async () => { + const manager = CookieScopeManager.create({ + authenticator: {} as OAuthAuthenticator, + cookieManager: {} as OAuthCookieManager, + }); + + await expect(manager.start(makeReq())).resolves.toEqual({ + scope: '', + }); + await expect(manager.start(makeReq('x'))).resolves.toEqual({ + scope: 'x', + }); + await expect(manager.start(makeReq('x,y'))).resolves.toEqual({ + scope: 'x y', + }); + + await expect( + manager.handleCallback(makeReq(), { + result: { session: { scope: 'x,y' } } as OAuthAuthenticatorResult, + state: {} as OAuthState, + }), + ).resolves.toEqual('x y'); + + await expect(manager.clear(makeReq())).resolves.toBe(undefined); + + const refresh = await manager.refresh(makeReq('x,y')); + expect(refresh.scope).toBe('x y'); + + await expect( + refresh.commit({ + session: { scope: 'y,z' }, + } as OAuthAuthenticatorResult), + ).resolves.toEqual('y z'); + }); + + it('should include additional scopes', async () => { + const manager = CookieScopeManager.create({ + additionalScopes: ['a', 'b'], + authenticator: {} as OAuthAuthenticator, + cookieManager: {} as OAuthCookieManager, + }); + + await expect(manager.start(makeReq())).resolves.toEqual({ + scope: 'a b', + }); + await expect(manager.start(makeReq('x'))).resolves.toEqual({ + scope: 'x a b', + }); + await expect(manager.start(makeReq('x,y'))).resolves.toEqual({ + scope: 'x y a b', + }); + + const refresh = await manager.refresh(makeReq('x|y')); + expect(refresh.scope).toBe('x y a b'); + + await expect( + refresh.commit({ + session: { scope: 'y,z a' }, + } as OAuthAuthenticatorResult), + ).resolves.toEqual('y z a'); + }); + + it('should persist scopes', async () => { + const setGrantedScopes = jest.fn(); + const removeGrantedScopes = jest.fn(); + const manager = CookieScopeManager.create({ + authenticator: { + scopes: { + persist: true, + } as OAuthAuthenticatorScopeOptions, + } as OAuthAuthenticator, + cookieManager: { + getGrantedScopes: () => 'g', + setGrantedScopes, + removeGrantedScopes, + } as unknown as OAuthCookieManager, + }); + + await expect(manager.start(makeReq())).resolves.toEqual({ + scope: 'g', + scopeState: { + scope: 'g', + }, + }); + await expect(manager.start(makeReq('x'))).resolves.toEqual({ + scope: 'x g', + scopeState: { + scope: 'x g', + }, + }); + + expect(setGrantedScopes).not.toHaveBeenCalled(); + await expect( + manager.handleCallback(makeReq(), { + // The state is prioritized even if scope is present in the result + result: { session: { scope: 'x,y' } } as OAuthAuthenticatorResult, + state: { scope: 'x g' } as OAuthState, + origin: 'https://other.example.com', + }), + ).resolves.toEqual('x g'); + expect(setGrantedScopes).toHaveBeenCalledWith( + expect.anything(), + 'x g', + 'https://other.example.com', + ); + setGrantedScopes.mockClear(); + + expect(removeGrantedScopes).not.toHaveBeenCalled(); + await expect(manager.clear(makeReq())).resolves.toBe(undefined); + expect(removeGrantedScopes).toHaveBeenCalledWith( + expect.anything(), + 'https://example.com', + ); + + const refresh = await manager.refresh(makeReq('x,y')); + expect(refresh.scope).toBe('x y g'); + + expect(setGrantedScopes).not.toHaveBeenCalled(); + await expect( + refresh.commit({ + session: { scope: 'y,z a' }, + } as OAuthAuthenticatorResult), + ).resolves.toEqual('x y g'); + expect(setGrantedScopes).toHaveBeenCalledWith( + expect.anything(), + 'x y g', + 'https://example.com', + ); + }); + + it('should use custom scope transform', async () => { + const manager = CookieScopeManager.create({ + additionalScopes: ['b'], + authenticator: { + scopes: { + persist: true, + required: ['a'], + transform: ({ required, additional, requested, granted }) => + new Set([ + ...[...requested].map(s => `requested-${s}`), + ...[...granted].map(s => `granted-${s}`), + ...[...required].map(s => `required-${s}`), + ...[...additional].map(s => `additional-${s}`), + ]), + } as OAuthAuthenticatorScopeOptions, + } as OAuthAuthenticator, + cookieManager: { + getGrantedScopes: _req => 'g', + setGrantedScopes: (_req, _scope, _origin) => {}, + } as OAuthCookieManager, + }); + + await expect(manager.start(makeReq())).resolves.toEqual({ + scope: 'granted-g required-a additional-b', + scopeState: { + scope: 'granted-g required-a additional-b', + }, + }); + await expect(manager.start(makeReq('x'))).resolves.toEqual({ + scope: 'requested-x granted-g required-a additional-b', + scopeState: { + scope: 'requested-x granted-g required-a additional-b', + }, + }); + + const refresh = await manager.refresh(makeReq('x,y')); + expect(refresh.scope).toBe( + 'requested-x requested-y granted-g required-a additional-b', + ); + + await expect( + refresh.commit({ + session: { scope: 'y,z a' }, + } as OAuthAuthenticatorResult), + ).resolves.toEqual( + 'requested-x requested-y granted-g required-a additional-b', + ); + }); + + it('should fail on invalid input', async () => { + const manager = CookieScopeManager.create({ + authenticator: { + scopes: { + persist: true, + } as OAuthAuthenticatorScopeOptions, + } as OAuthAuthenticator, + cookieManager: {} as OAuthCookieManager, + }); + + await expect( + manager.handleCallback(makeReq(), { + result: { session: { scope: 'x,y' } } as OAuthAuthenticatorResult, + state: {} as OAuthState, + }), + ).rejects.toThrow('No scope found in OAuth state'); + + await expect(manager.clear({} as express.Request)).rejects.toThrow( + 'No response object found in request', + ); + }); +}); diff --git a/plugins/auth-node/src/oauth/CookieScopeManager.ts b/plugins/auth-node/src/oauth/CookieScopeManager.ts index f75bf71db1..45f6e6238a 100644 --- a/plugins/auth-node/src/oauth/CookieScopeManager.ts +++ b/plugins/auth-node/src/oauth/CookieScopeManager.ts @@ -33,8 +33,8 @@ function reqRes(req: express.Request): express.Response { } const defaultTransform: Required['transform'] = - ({ required, additional, requested, granted }) => { - return new Set([...required, ...requested, ...additional, ...granted]); + ({ requested, granted, required, additional }) => { + return [...requested, ...granted, ...required, ...additional]; }; function splitScope(scope?: string): Iterable { @@ -42,12 +42,12 @@ function splitScope(scope?: string): Iterable { return []; } - return new Set(scope.split(/[\s|,]/).filter(Boolean)); + return scope.split(/[\s|,]/).filter(Boolean); } export class CookieScopeManager { static create(options: { - additionalScopes: string[]; + additionalScopes?: string[]; authenticator: OAuthAuthenticator; cookieManager: OAuthCookieManager; }) { @@ -59,13 +59,13 @@ export class CookieScopeManager { false; const transform = authenticator?.scopes?.transform ?? defaultTransform; - const additional = options.additionalScopes; + const additional = options.additionalScopes ?? []; const required = authenticator?.scopes?.required ?? []; return new CookieScopeManager( (requested, granted) => Array.from( - transform({ required, additional, requested, granted }), + new Set(transform({ required, additional, requested, granted })), ).join(' '), shouldPersistScopes ? options.cookieManager : undefined, ); @@ -83,8 +83,9 @@ export class CookieScopeManager { req: express.Request, ): Promise<{ scopeState?: Partial; scope: string }> { const requestScope = splitScope(req.query.scope?.toString()); + const grantedScope = splitScope(this.cookieManager?.getGrantedScopes(req)); - const scope = this.scopeTransform(requestScope, []); + const scope = this.scopeTransform(requestScope, grantedScope); if (this.cookieManager) { // If scopes are persisted then we pass them through the state so that we @@ -107,7 +108,7 @@ export class CookieScopeManager { ): Promise { // If we are not persisting scopes we can forward the scope from the result if (!this.cookieManager) { - return ctx.result.session.scope; + return Array.from(splitScope(ctx.result.session.scope)).join(' '); } const scope = ctx.state.scope; @@ -149,7 +150,7 @@ export class CookieScopeManager { return scope; } - return result.session.scope; + return Array.from(splitScope(result.session.scope)).join(' '); }, }; } From dd99788e6bd85034e3aa8252723e6b5513ca8abe Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 13 May 2024 13:20:39 +0200 Subject: [PATCH 38/66] auth-node: allow additonalScopes to be a string too Signed-off-by: Patrik Oldsberg --- .../src/oauth/CookieScopeManager.test.ts | 34 +++++++++++++++++-- .../auth-node/src/oauth/CookieScopeManager.ts | 11 ++++-- .../src/oauth/createOAuthRouteHandlers.ts | 6 ++-- 3 files changed, 43 insertions(+), 8 deletions(-) diff --git a/plugins/auth-node/src/oauth/CookieScopeManager.test.ts b/plugins/auth-node/src/oauth/CookieScopeManager.test.ts index 82eeb902d8..6cdee1168f 100644 --- a/plugins/auth-node/src/oauth/CookieScopeManager.test.ts +++ b/plugins/auth-node/src/oauth/CookieScopeManager.test.ts @@ -23,6 +23,7 @@ import { import { OAuthCookieManager } from './OAuthCookieManager'; import { OAuthState } from './state'; import { CookieScopeManager } from './CookieScopeManager'; +import { ConfigReader } from '@backstage/config'; function makeReq(scope?: string): express.Request { return { @@ -32,6 +33,11 @@ function makeReq(scope?: string): express.Request { } as express.Request; } +const baseOpts = { + authenticator: {} as OAuthAuthenticator, + cookieManager: {} as OAuthCookieManager, +}; + describe('CookieScopeManager', () => { it('should work with minimal config', async () => { const manager = CookieScopeManager.create({ @@ -71,8 +77,7 @@ describe('CookieScopeManager', () => { it('should include additional scopes', async () => { const manager = CookieScopeManager.create({ additionalScopes: ['a', 'b'], - authenticator: {} as OAuthAuthenticator, - cookieManager: {} as OAuthCookieManager, + ...baseOpts, }); await expect(manager.start(makeReq())).resolves.toEqual({ @@ -95,6 +100,31 @@ describe('CookieScopeManager', () => { ).resolves.toEqual('y z a'); }); + it('should include additional scopes from config', async () => { + await expect( + CookieScopeManager.create({ + additionalScopes: ['a'], + ...baseOpts, + }).start(makeReq()), + ).resolves.toEqual({ scope: 'a' }); + + await expect( + CookieScopeManager.create({ + config: new ConfigReader({ additionalScopes: 'a,b' }), + additionalScopes: ['c'], + ...baseOpts, + }).start(makeReq()), + ).resolves.toEqual({ scope: 'a b c' }); + + await expect( + CookieScopeManager.create({ + config: new ConfigReader({ additionalScopes: ['a', 'b'] }), + additionalScopes: ['c'], + ...baseOpts, + }).start(makeReq()), + ).resolves.toEqual({ scope: 'a b c' }); + }); + it('should persist scopes', async () => { const setGrantedScopes = jest.fn(); const removeGrantedScopes = jest.fn(); diff --git a/plugins/auth-node/src/oauth/CookieScopeManager.ts b/plugins/auth-node/src/oauth/CookieScopeManager.ts index 45f6e6238a..f012536755 100644 --- a/plugins/auth-node/src/oauth/CookieScopeManager.ts +++ b/plugins/auth-node/src/oauth/CookieScopeManager.ts @@ -23,6 +23,7 @@ import { import { OAuthCookieManager } from './OAuthCookieManager'; import { OAuthState } from './state'; import { AuthenticationError } from '@backstage/errors'; +import { Config } from '@backstage/config'; function reqRes(req: express.Request): express.Response { const res = req.res; @@ -47,19 +48,25 @@ function splitScope(scope?: string): Iterable { export class CookieScopeManager { static create(options: { + config?: Config; additionalScopes?: string[]; authenticator: OAuthAuthenticator; cookieManager: OAuthCookieManager; }) { - const { authenticator } = options; + const { authenticator, config } = options; const shouldPersistScopes = authenticator.scopes?.persist ?? authenticator.shouldPersistScopes ?? false; + const configScopes = + typeof config?.getOptional('additionalScopes') === 'string' + ? splitScope(config.getString('additionalScopes')) + : config?.getOptionalStringArray('additionalScopes') ?? []; + const transform = authenticator?.scopes?.transform ?? defaultTransform; - const additional = options.additionalScopes ?? []; + const additional = [...configScopes, ...(options.additionalScopes ?? [])]; const required = authenticator?.scopes?.required ?? []; return new CookieScopeManager( diff --git a/plugins/auth-node/src/oauth/createOAuthRouteHandlers.ts b/plugins/auth-node/src/oauth/createOAuthRouteHandlers.ts index c13b58f2fc..82bfa2f02c 100644 --- a/plugins/auth-node/src/oauth/createOAuthRouteHandlers.ts +++ b/plugins/auth-node/src/oauth/createOAuthRouteHandlers.ts @@ -113,12 +113,10 @@ export function createOAuthRouteHandlers( }); const scopeManager = CookieScopeManager.create({ + config, authenticator, cookieManager, - additionalScopes: [ - ...(options.additionalScopes ?? []), - ...(config.getOptionalStringArray('additionalScopes') ?? []), - ], + additionalScopes: options.additionalScopes, }); return { From bdabd9952e2fe46fc7dd7dcc8af1fd06f38c86e0 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 13 May 2024 14:04:05 +0200 Subject: [PATCH 39/66] auth-*: test fixes for new CookieScopeManager Signed-off-by: Patrik Oldsberg --- .../auth-backend-module-github-provider/src/module.test.ts | 1 + .../auth-backend-module-microsoft-provider/src/module.test.ts | 2 +- plugins/auth-backend-module-oidc-provider/src/module.test.ts | 1 + plugins/auth-backend-module-okta-provider/src/module.test.ts | 4 +--- plugins/auth-node/src/oauth/CookieScopeManager.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/auth-backend-module-github-provider/src/module.test.ts b/plugins/auth-backend-module-github-provider/src/module.test.ts index 437e002bc3..b592f07d4b 100644 --- a/plugins/auth-backend-module-github-provider/src/module.test.ts +++ b/plugins/auth-backend-module-github-provider/src/module.test.ts @@ -72,6 +72,7 @@ describe('authModuleGithubProvider', () => { expect(decodeOAuthState(startUrl.searchParams.get('state')!)).toEqual({ env: 'development', nonce: decodeURIComponent(nonceCookie.value), + scope: '', }); }); }); diff --git a/plugins/auth-backend-module-microsoft-provider/src/module.test.ts b/plugins/auth-backend-module-microsoft-provider/src/module.test.ts index 2ef92c0b44..b50956b9eb 100644 --- a/plugins/auth-backend-module-microsoft-provider/src/module.test.ts +++ b/plugins/auth-backend-module-microsoft-provider/src/module.test.ts @@ -67,7 +67,7 @@ describe('authModuleMicrosoftProvider', () => { expect(startUrl.pathname).toBe('/my-tenant-id/oauth2/v2.0/authorize'); expect(Object.fromEntries(startUrl.searchParams)).toEqual({ response_type: 'code', - scope: 'user.read User.Read.All', + scope: 'User.Read.All', client_id: 'my-client-id', redirect_uri: `http://localhost:${server.port()}/api/auth/microsoft/handler/frame`, state: expect.any(String), diff --git a/plugins/auth-backend-module-oidc-provider/src/module.test.ts b/plugins/auth-backend-module-oidc-provider/src/module.test.ts index 0edb43f9f3..8ceec1df15 100644 --- a/plugins/auth-backend-module-oidc-provider/src/module.test.ts +++ b/plugins/auth-backend-module-oidc-provider/src/module.test.ts @@ -212,6 +212,7 @@ describe('authModuleOidcProvider', () => { expect(decodeOAuthState(startUrl.searchParams.get('state')!)).toEqual({ env: 'development', nonce: decodeURIComponent(nonceCookie.value), + scope: '', }); }); diff --git a/plugins/auth-backend-module-okta-provider/src/module.test.ts b/plugins/auth-backend-module-okta-provider/src/module.test.ts index e469067b3f..ee410e4d2e 100644 --- a/plugins/auth-backend-module-okta-provider/src/module.test.ts +++ b/plugins/auth-backend-module-okta-provider/src/module.test.ts @@ -21,9 +21,7 @@ import { decodeOAuthState } from '@backstage/plugin-auth-node'; describe('authModuleOktaProvider', () => { it('should start', async () => { - const defaultScopes = 'openid profile email'; const additionalScopes = 'groups phone'; - const combinedScopes = `${defaultScopes} ${additionalScopes}`; const { server } = await startTestBackend({ features: [ import('@backstage/plugin-auth-backend'), @@ -68,7 +66,7 @@ describe('authModuleOktaProvider', () => { expect(startUrl.pathname).toBe('/oauth2/v1/authorize'); expect(Object.fromEntries(startUrl.searchParams)).toEqual({ response_type: 'code', - scope: combinedScopes, + scope: additionalScopes, client_id: 'my-client-id', redirect_uri: `http://localhost:${server.port()}/api/auth/okta/handler/frame`, state: expect.any(String), diff --git a/plugins/auth-node/src/oauth/CookieScopeManager.ts b/plugins/auth-node/src/oauth/CookieScopeManager.ts index f012536755..3cbf977e09 100644 --- a/plugins/auth-node/src/oauth/CookieScopeManager.ts +++ b/plugins/auth-node/src/oauth/CookieScopeManager.ts @@ -119,7 +119,7 @@ export class CookieScopeManager { } const scope = ctx.state.scope; - if (!scope) { + if (scope === undefined) { throw new AuthenticationError('No scope found in OAuth state'); } From 31ceaf0bc16fcf419ffa47963b0c30f097611156 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 09:34:30 +0000 Subject: [PATCH 40/66] chore(deps): update dependency @types/lodash to v4.17.5 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index ee4185b5b4..f0c8f18c73 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17872,9 +17872,9 @@ __metadata: linkType: hard "@types/lodash@npm:^4.14.151": - version: 4.17.4 - resolution: "@types/lodash@npm:4.17.4" - checksum: 268e652fd52d49189f155bc89b49bd4535aa44f0b6b0ed9ce7e50318307bda58147c49539d2047f39ca37cf5b5ea38dfb801d0dbcdbc8b019c95c1afc346b05a + version: 4.17.5 + resolution: "@types/lodash@npm:4.17.5" + checksum: 3c9bb15772509f0ecb40428531863dbc3f064f2bf34bbccc2ce2b2923c69fb0868aec7e357b1d97fd0d7f7e435a014ea5c1adef8a64715529887179c97a5a823 languageName: node linkType: hard From 199d7647f00a37c08f329211d6b09cfee38af4a3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 10:01:07 +0000 Subject: [PATCH 41/66] fix(deps): update dependency @kubernetes-models/apimachinery to v1.2.2 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/yarn.lock b/yarn.lock index ee4185b5b4..bb3d6d0515 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10377,36 +10377,36 @@ __metadata: linkType: hard "@kubernetes-models/apimachinery@npm:^1.1.0, @kubernetes-models/apimachinery@npm:^1.2.1": - version: 1.2.1 - resolution: "@kubernetes-models/apimachinery@npm:1.2.1" + version: 1.2.2 + resolution: "@kubernetes-models/apimachinery@npm:1.2.2" dependencies: - "@kubernetes-models/base": ^4.0.3 - "@kubernetes-models/validate": ^3.1.1 + "@kubernetes-models/base": ^4.0.4 + "@kubernetes-models/validate": ^3.1.2 tslib: ^2.4.0 - checksum: 69145452a2f1b9314aa33326d236e1829905bbdc48727927d065570e2fe95c3895e7117e54f394823c06f5811c7de689f7df1f8010f49d6b89d59241c8704a02 + checksum: 57387bb8a1f43b740506877d2557a188122512dd2f05c54e3076e0d6cf9a2112f7c5cbbba762c8f4fee22845fcf1302b97537a9e24cfd18b6a99d51a1360136a languageName: node linkType: hard -"@kubernetes-models/base@npm:^4.0.1, @kubernetes-models/base@npm:^4.0.3": - version: 4.0.3 - resolution: "@kubernetes-models/base@npm:4.0.3" +"@kubernetes-models/base@npm:^4.0.1, @kubernetes-models/base@npm:^4.0.3, @kubernetes-models/base@npm:^4.0.4": + version: 4.0.4 + resolution: "@kubernetes-models/base@npm:4.0.4" dependencies: - "@kubernetes-models/validate": ^3.1.1 + "@kubernetes-models/validate": ^3.1.2 is-plain-object: ^5.0.0 tslib: ^2.4.0 - checksum: 0f1f333d7e70ba87c322c0bfc9497c4d51e7c7063f0530106daac2e7eac328477df1bf48e255ddf595fb1b49ae0d5214e4f9b5df91d7f67892a0db047d05995f + checksum: 15d531118e8a85eda8fd9602de4ba0e61e794d52218df7acb9842fe3c2fad5e788f3468768e8287405c6228625cce5cb1d91d923499e401a1a0f55287b2e6b5a languageName: node linkType: hard -"@kubernetes-models/validate@npm:^3.1.1": - version: 3.1.1 - resolution: "@kubernetes-models/validate@npm:3.1.1" +"@kubernetes-models/validate@npm:^3.1.1, @kubernetes-models/validate@npm:^3.1.2": + version: 3.1.2 + resolution: "@kubernetes-models/validate@npm:3.1.2" dependencies: ajv: ^8.12.0 ajv-formats: ^2.1.1 ajv-formats-draft2019: ^1.6.1 tslib: ^2.4.0 - checksum: cb5be259a0b5cead73b98648a69785a5e04c2fa3ce199033604c4551b6c4786435c9e5f926cff2d63f50a6fbd2c0ad1199550cb0cbea781e64673b29c4d85345 + checksum: 44bd7e45aa9716448532f5afc6510398a7eed77c23df67acd94acde4e940c3284a879cc62372fb3dcb67c12d2d10e43900bdd98bc39d1177492c9f2d48b63d4e languageName: node linkType: hard From 8efc6cf0d4ad29abc8ced6eab2a86e2d71479f70 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 11 Jun 2024 11:55:52 +0200 Subject: [PATCH 42/66] auth-backend-module-*: update OAuth providers to use new scope handling Signed-off-by: Patrik Oldsberg --- .changeset/long-llamas-push-atlassian.md | 5 ++ .changeset/long-llamas-push-bitbucket.md | 5 ++ .changeset/long-llamas-push-github.md | 5 ++ .changeset/long-llamas-push-gitlab.md | 5 ++ .changeset/long-llamas-push-google.md | 5 ++ .changeset/long-llamas-push-microsoft.md | 5 ++ .changeset/long-llamas-push-oauth2.md | 5 ++ .changeset/long-llamas-push-oidc.md | 5 ++ .changeset/long-llamas-push-okta.md | 5 ++ .changeset/long-llamas-push-pinniped.md | 5 ++ .changeset/long-llamas-push-vmware-cloud.md | 5 ++ .../config.d.ts | 2 +- .../src/authenticator.ts | 14 +-- .../src/module.test.ts | 87 +++++++------------ .../config.d.ts | 1 + .../src/authenticator.ts | 3 + .../src/module.test.ts | 1 + .../config.d.ts | 1 + .../src/authenticator.ts | 5 +- .../src/module.test.ts | 3 +- .../config.d.ts | 1 + .../src/authenticator.ts | 3 + .../config.d.ts | 1 + .../src/authenticator.ts | 7 ++ .../src/module.test.ts | 2 + .../config.d.ts | 2 +- .../config.d.ts | 2 + .../src/authenticator.ts | 8 +- .../api-report.md | 1 - .../config.d.ts | 2 +- .../src/authenticator.test.ts | 13 --- .../src/authenticator.ts | 19 ++-- .../src/module.test.ts | 2 +- .../config.d.ts | 2 +- .../src/authenticator.ts | 17 +--- .../src/module.test.ts | 5 +- .../src/authenticator.test.ts | 14 +-- .../src/authenticator.ts | 18 +++- .../config.d.ts | 1 + .../src/authenticator.test.ts | 4 +- .../src/authenticator.ts | 11 ++- 41 files changed, 183 insertions(+), 124 deletions(-) create mode 100644 .changeset/long-llamas-push-atlassian.md create mode 100644 .changeset/long-llamas-push-bitbucket.md create mode 100644 .changeset/long-llamas-push-github.md create mode 100644 .changeset/long-llamas-push-gitlab.md create mode 100644 .changeset/long-llamas-push-google.md create mode 100644 .changeset/long-llamas-push-microsoft.md create mode 100644 .changeset/long-llamas-push-oauth2.md create mode 100644 .changeset/long-llamas-push-oidc.md create mode 100644 .changeset/long-llamas-push-okta.md create mode 100644 .changeset/long-llamas-push-pinniped.md create mode 100644 .changeset/long-llamas-push-vmware-cloud.md diff --git a/.changeset/long-llamas-push-atlassian.md b/.changeset/long-llamas-push-atlassian.md new file mode 100644 index 0000000000..3e0ae5ad14 --- /dev/null +++ b/.changeset/long-llamas-push-atlassian.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend-module-atlassian-provider': minor +--- + +**BREAKING**: The `scope` and `scopes` config options have been removed and replaced by the standard `additionalScopes` config. In addition, the `offline_access`, `read:jira-work`, and `read:jira-user` scopes have been set to required and will always be present. diff --git a/.changeset/long-llamas-push-bitbucket.md b/.changeset/long-llamas-push-bitbucket.md new file mode 100644 index 0000000000..36a68219eb --- /dev/null +++ b/.changeset/long-llamas-push-bitbucket.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend-module-bitbucket-provider': patch +--- + +Added support for the new shared `additionalScopes` configuration. In addition, the `account` scope has been set to required and will always be present. diff --git a/.changeset/long-llamas-push-github.md b/.changeset/long-llamas-push-github.md new file mode 100644 index 0000000000..c68fb8e925 --- /dev/null +++ b/.changeset/long-llamas-push-github.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend-module-github-provider': patch +--- + +Added support for the new shared `additionalScopes` configuration. In addition, the `read:user` scope has been set to required and will always be present. diff --git a/.changeset/long-llamas-push-gitlab.md b/.changeset/long-llamas-push-gitlab.md new file mode 100644 index 0000000000..fe5d293723 --- /dev/null +++ b/.changeset/long-llamas-push-gitlab.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend-module-gitlab-provider': patch +--- + +Added support for the new shared `additionalScopes` configuration. In addition, the `read_user` scope has been set to required and will always be present. diff --git a/.changeset/long-llamas-push-google.md b/.changeset/long-llamas-push-google.md new file mode 100644 index 0000000000..c9de73eb36 --- /dev/null +++ b/.changeset/long-llamas-push-google.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend-module-google-provider': patch +--- + +Added support for the new shared `additionalScopes` configuration. In addition, the `openid`, `userinfo.email`, and `userinfo.profile` scopes have been set to required and will always be present. diff --git a/.changeset/long-llamas-push-microsoft.md b/.changeset/long-llamas-push-microsoft.md new file mode 100644 index 0000000000..f6509db0f7 --- /dev/null +++ b/.changeset/long-llamas-push-microsoft.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend-module-microsoft-provider': patch +--- + +Added support for the new shared `additionalScopes` configuration. diff --git a/.changeset/long-llamas-push-oauth2.md b/.changeset/long-llamas-push-oauth2.md new file mode 100644 index 0000000000..2a233dbb42 --- /dev/null +++ b/.changeset/long-llamas-push-oauth2.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend-module-oauth2-provider': minor +--- + +**BREAKING**: The `scope` config option have been removed and replaced by the standard `additionalScopes` config. diff --git a/.changeset/long-llamas-push-oidc.md b/.changeset/long-llamas-push-oidc.md new file mode 100644 index 0000000000..248d762864 --- /dev/null +++ b/.changeset/long-llamas-push-oidc.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend-module-oidc-provider': minor +--- + +**BREAKING**: The `scope` config option have been removed and replaced by the standard `additionalScopes` config. In addition, `openid`, `profile`, and `email` scopes have been set to required and will always be present. diff --git a/.changeset/long-llamas-push-okta.md b/.changeset/long-llamas-push-okta.md new file mode 100644 index 0000000000..d330746d2e --- /dev/null +++ b/.changeset/long-llamas-push-okta.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend-module-okta-provider': patch +--- + +Added support for the new shared `additionalScopes` configuration, which means it can now also be specified as an array. In addition, the `openid`, `email`, `profile`, and `offline_access` scopes have been set to required and will always be present. diff --git a/.changeset/long-llamas-push-pinniped.md b/.changeset/long-llamas-push-pinniped.md new file mode 100644 index 0000000000..a9c6a54cee --- /dev/null +++ b/.changeset/long-llamas-push-pinniped.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend-module-pinniped-provider': patch +--- + +**BREAKING**: The `scope` config option have been removed and replaced by the standard `additionalScopes` config. In addition, the `openid`, `pinniped:request-audience`, `username`, and `offline_access` scopes have been set to required and will always be present. diff --git a/.changeset/long-llamas-push-vmware-cloud.md b/.changeset/long-llamas-push-vmware-cloud.md new file mode 100644 index 0000000000..9edfb01f68 --- /dev/null +++ b/.changeset/long-llamas-push-vmware-cloud.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend-module-vmware-cloud-provider': minor +--- + +**BREAKING**: The `scope` config option have been removed and replaced by the standard `additionalScopes` config. In addition, `openid`, and `offline_access` scopes have been set to required and will always be present. diff --git a/plugins/auth-backend-module-atlassian-provider/config.d.ts b/plugins/auth-backend-module-atlassian-provider/config.d.ts index 57def03aab..d2c8a249c1 100644 --- a/plugins/auth-backend-module-atlassian-provider/config.d.ts +++ b/plugins/auth-backend-module-atlassian-provider/config.d.ts @@ -27,7 +27,7 @@ export interface Config { clientSecret: string; audience?: string; callbackUrl?: string; - scope?: string; + additionalScopes?: string | string[]; }; }; }; diff --git a/plugins/auth-backend-module-atlassian-provider/src/authenticator.ts b/plugins/auth-backend-module-atlassian-provider/src/authenticator.ts index b31de13134..0ced9cf831 100644 --- a/plugins/auth-backend-module-atlassian-provider/src/authenticator.ts +++ b/plugins/auth-backend-module-atlassian-provider/src/authenticator.ts @@ -26,15 +26,20 @@ import { Strategy as AtlassianStrategy } from 'passport-atlassian-oauth2'; export const atlassianAuthenticator = createOAuthAuthenticator({ defaultProfileTransform: PassportOAuthAuthenticatorHelper.defaultProfileTransform, + scopes: { + required: ['offline_access', 'read:jira-work', 'read:jira-user'], + }, initialize({ callbackUrl, config }) { const clientId = config.getString('clientId'); const clientSecret = config.getString('clientSecret'); - const scope = - config.getOptionalString('scope') ?? - config.getOptionalString('scopes') ?? - 'offline_access read:jira-work read:jira-user'; const baseUrl = 'https://auth.atlassian.com'; + if (config.has('scope') || config.has('scopes')) { + throw new Error( + 'The atlassian provider no longer supports the "scope" or "scopes" configuration options. Please use the "additionalScopes" option instead.', + ); + } + return PassportOAuthAuthenticatorHelper.from( new AtlassianStrategy( { @@ -45,7 +50,6 @@ export const atlassianAuthenticator = createOAuthAuthenticator({ authorizationURL: `${baseUrl}/authorize`, tokenURL: `${baseUrl}/oauth/token`, profileURL: `${baseUrl}/api/v4/user`, - scope, }, ( accessToken: string, diff --git a/plugins/auth-backend-module-atlassian-provider/src/module.test.ts b/plugins/auth-backend-module-atlassian-provider/src/module.test.ts index 08b84ad165..7b92218d56 100644 --- a/plugins/auth-backend-module-atlassian-provider/src/module.test.ts +++ b/plugins/auth-backend-module-atlassian-provider/src/module.test.ts @@ -75,7 +75,8 @@ describe('authModuleAtlassianProvider', () => { nonce: decodeURIComponent(nonceCookie.value), }); }); - it('should start with and use custom scopes from scope config field', async () => { + + it('should start with and use custom scopes from additionalScopes config field', async () => { const { server } = await startTestBackend({ features: [ import('@backstage/plugin-auth-backend'), @@ -91,7 +92,10 @@ describe('authModuleAtlassianProvider', () => { development: { clientId: 'my-client-id', clientSecret: 'my-client-secret', - scope: 'offline_access read:filter:jira read:jira-work', + additionalScopes: [ + 'read:filter:jira', + 'read:jira-work', // already required + ], }, }, }, @@ -123,7 +127,7 @@ describe('authModuleAtlassianProvider', () => { client_id: 'my-client-id', redirect_uri: `http://localhost:${server.port()}/api/auth/atlassian/handler/frame`, state: expect.any(String), - scope: 'offline_access read:filter:jira read:jira-work', + scope: 'offline_access read:jira-work read:jira-user read:filter:jira', }); expect(decodeOAuthState(startUrl.searchParams.get('state')!)).toEqual({ @@ -131,60 +135,35 @@ describe('authModuleAtlassianProvider', () => { nonce: decodeURIComponent(nonceCookie.value), }); }); - it('should start with and use custom scopes from scopes config field for backward compatibility', async () => { - const { server } = await startTestBackend({ - features: [ - import('@backstage/plugin-auth-backend'), - authModuleAtlassianProvider, - mockServices.rootConfig.factory({ - data: { - app: { - baseUrl: 'http://localhost:3000', - }, - auth: { - providers: { - atlassian: { - development: { - clientId: 'my-client-id', - clientSecret: 'my-client-secret', - scopes: 'offline_access read:filter:jira read:jira-work', + + it('should fail to start with scope or scopes config', async () => { + await expect( + startTestBackend({ + features: [ + import('@backstage/plugin-auth-backend'), + authModuleAtlassianProvider, + mockServices.rootConfig.factory({ + data: { + app: { + baseUrl: 'http://localhost:3000', + }, + auth: { + providers: { + atlassian: { + development: { + clientId: 'my-client-id', + clientSecret: 'my-client-secret', + scope: 'foo', + }, }, }, }, }, - }, - }), - ], - }); - - const agent = request.agent(server); - - const res = await agent.get('/api/auth/atlassian/start?env=development'); - - expect(res.status).toEqual(302); - - const nonceCookie = agent.jar.getCookie('atlassian-nonce', { - domain: 'localhost', - path: '/api/auth/atlassian/handler', - script: false, - secure: false, - }); - expect(nonceCookie).toBeDefined(); - - const startUrl = new URL(res.get('location')); - expect(startUrl.origin).toBe('https://auth.atlassian.com'); - expect(startUrl.pathname).toBe('/authorize'); - expect(Object.fromEntries(startUrl.searchParams)).toEqual({ - response_type: 'code', - client_id: 'my-client-id', - redirect_uri: `http://localhost:${server.port()}/api/auth/atlassian/handler/frame`, - state: expect.any(String), - scope: 'offline_access read:filter:jira read:jira-work', - }); - - expect(decodeOAuthState(startUrl.searchParams.get('state')!)).toEqual({ - env: 'development', - nonce: decodeURIComponent(nonceCookie.value), - }); + }), + ], + }), + ).rejects.toThrow( + /atlassian provider no longer supports the "scope" or "scopes" configuration options/, + ); }); }); diff --git a/plugins/auth-backend-module-bitbucket-provider/config.d.ts b/plugins/auth-backend-module-bitbucket-provider/config.d.ts index 81e835a5e6..17cac1c194 100644 --- a/plugins/auth-backend-module-bitbucket-provider/config.d.ts +++ b/plugins/auth-backend-module-bitbucket-provider/config.d.ts @@ -25,6 +25,7 @@ export interface Config { * @visibility secret */ clientSecret: string; + additionalScopes?: string | string[]; }; }; }; diff --git a/plugins/auth-backend-module-bitbucket-provider/src/authenticator.ts b/plugins/auth-backend-module-bitbucket-provider/src/authenticator.ts index bc962ec773..a2d8275964 100644 --- a/plugins/auth-backend-module-bitbucket-provider/src/authenticator.ts +++ b/plugins/auth-backend-module-bitbucket-provider/src/authenticator.ts @@ -26,6 +26,9 @@ import { export const bitbucketAuthenticator = createOAuthAuthenticator({ defaultProfileTransform: PassportOAuthAuthenticatorHelper.defaultProfileTransform, + scopes: { + required: ['account'], + }, initialize({ callbackUrl, config }) { const clientID = config.getString('clientId'); const clientSecret = config.getString('clientSecret'); diff --git a/plugins/auth-backend-module-bitbucket-provider/src/module.test.ts b/plugins/auth-backend-module-bitbucket-provider/src/module.test.ts index e761369a9c..f1426d1b0d 100644 --- a/plugins/auth-backend-module-bitbucket-provider/src/module.test.ts +++ b/plugins/auth-backend-module-bitbucket-provider/src/module.test.ts @@ -67,6 +67,7 @@ describe('authModuleBitbucketProvider', () => { client_id: 'my-client-id', redirect_uri: `http://localhost:${server.port()}/api/auth/bitbucket/handler/frame`, state: expect.any(String), + scope: 'account', }); expect(decodeOAuthState(startUrl.searchParams.get('state')!)).toEqual({ diff --git a/plugins/auth-backend-module-github-provider/config.d.ts b/plugins/auth-backend-module-github-provider/config.d.ts index e79711310d..f60d4c239d 100644 --- a/plugins/auth-backend-module-github-provider/config.d.ts +++ b/plugins/auth-backend-module-github-provider/config.d.ts @@ -27,6 +27,7 @@ export interface Config { clientSecret: string; callbackUrl?: string; enterpriseInstanceUrl?: string; + additionalScopes?: string | string[]; }; }; }; diff --git a/plugins/auth-backend-module-github-provider/src/authenticator.ts b/plugins/auth-backend-module-github-provider/src/authenticator.ts index 4a9710d114..7c94a04c30 100644 --- a/plugins/auth-backend-module-github-provider/src/authenticator.ts +++ b/plugins/auth-backend-module-github-provider/src/authenticator.ts @@ -28,7 +28,10 @@ const ACCESS_TOKEN_PREFIX = 'access-token.'; export const githubAuthenticator = createOAuthAuthenticator({ defaultProfileTransform: PassportOAuthAuthenticatorHelper.defaultProfileTransform, - shouldPersistScopes: true, + scopes: { + persist: true, + required: ['read:user'], + }, initialize({ callbackUrl, config }) { const clientId = config.getString('clientId'); const clientSecret = config.getString('clientSecret'); diff --git a/plugins/auth-backend-module-github-provider/src/module.test.ts b/plugins/auth-backend-module-github-provider/src/module.test.ts index b592f07d4b..53308938c0 100644 --- a/plugins/auth-backend-module-github-provider/src/module.test.ts +++ b/plugins/auth-backend-module-github-provider/src/module.test.ts @@ -67,12 +67,13 @@ describe('authModuleGithubProvider', () => { client_id: 'my-client-id', redirect_uri: `http://localhost:${server.port()}/api/auth/github/handler/frame`, state: expect.any(String), + scope: 'read:user', }); expect(decodeOAuthState(startUrl.searchParams.get('state')!)).toEqual({ env: 'development', nonce: decodeURIComponent(nonceCookie.value), - scope: '', + scope: 'read:user', }); }); }); diff --git a/plugins/auth-backend-module-gitlab-provider/config.d.ts b/plugins/auth-backend-module-gitlab-provider/config.d.ts index d7f04d872a..18f7cb5005 100644 --- a/plugins/auth-backend-module-gitlab-provider/config.d.ts +++ b/plugins/auth-backend-module-gitlab-provider/config.d.ts @@ -27,6 +27,7 @@ export interface Config { clientSecret: string; audience?: string; callbackUrl?: string; + additionalScopes?: string | string[]; }; }; }; diff --git a/plugins/auth-backend-module-gitlab-provider/src/authenticator.ts b/plugins/auth-backend-module-gitlab-provider/src/authenticator.ts index 9cd5857b0d..8e93921b63 100644 --- a/plugins/auth-backend-module-gitlab-provider/src/authenticator.ts +++ b/plugins/auth-backend-module-gitlab-provider/src/authenticator.ts @@ -26,6 +26,9 @@ import { export const gitlabAuthenticator = createOAuthAuthenticator({ defaultProfileTransform: PassportOAuthAuthenticatorHelper.defaultProfileTransform, + scopes: { + required: ['read_user'], + }, initialize({ callbackUrl, config }) { const clientId = config.getString('clientId'); const clientSecret = config.getString('clientSecret'); diff --git a/plugins/auth-backend-module-google-provider/config.d.ts b/plugins/auth-backend-module-google-provider/config.d.ts index 6a1716c5bf..08a0e08f2b 100644 --- a/plugins/auth-backend-module-google-provider/config.d.ts +++ b/plugins/auth-backend-module-google-provider/config.d.ts @@ -26,6 +26,7 @@ export interface Config { */ clientSecret: string; callbackUrl?: string; + additionalScopes?: string | string[]; }; }; }; diff --git a/plugins/auth-backend-module-google-provider/src/authenticator.ts b/plugins/auth-backend-module-google-provider/src/authenticator.ts index a428519fee..9f1e298ae8 100644 --- a/plugins/auth-backend-module-google-provider/src/authenticator.ts +++ b/plugins/auth-backend-module-google-provider/src/authenticator.ts @@ -27,6 +27,13 @@ import { Strategy as GoogleStrategy } from 'passport-google-oauth20'; export const googleAuthenticator = createOAuthAuthenticator({ defaultProfileTransform: PassportOAuthAuthenticatorHelper.defaultProfileTransform, + scopes: { + required: [ + 'openid', + `https://www.googleapis.com/auth/userinfo.email`, + `https://www.googleapis.com/auth/userinfo.profile`, + ], + }, initialize({ callbackUrl, config }) { const clientId = config.getString('clientId'); const clientSecret = config.getString('clientSecret'); diff --git a/plugins/auth-backend-module-google-provider/src/module.test.ts b/plugins/auth-backend-module-google-provider/src/module.test.ts index 59066acd4c..8ece0c1942 100644 --- a/plugins/auth-backend-module-google-provider/src/module.test.ts +++ b/plugins/auth-backend-module-google-provider/src/module.test.ts @@ -69,6 +69,8 @@ describe('authModuleGoogleProvider', () => { client_id: 'my-client-id', redirect_uri: `http://localhost:${server.port()}/api/auth/google/handler/frame`, state: expect.any(String), + scope: + 'openid https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile', }); expect(decodeOAuthState(startUrl.searchParams.get('state')!)).toEqual({ diff --git a/plugins/auth-backend-module-microsoft-provider/config.d.ts b/plugins/auth-backend-module-microsoft-provider/config.d.ts index df63e9ccf4..a7ec027083 100644 --- a/plugins/auth-backend-module-microsoft-provider/config.d.ts +++ b/plugins/auth-backend-module-microsoft-provider/config.d.ts @@ -28,7 +28,7 @@ export interface Config { clientSecret: string; domainHint?: string; callbackUrl?: string; - additionalScopes?: string[]; + additionalScopes?: string | string[]; }; }; }; diff --git a/plugins/auth-backend-module-oauth2-provider/config.d.ts b/plugins/auth-backend-module-oauth2-provider/config.d.ts index afbfcf8f67..9b1ee18f1b 100644 --- a/plugins/auth-backend-module-oauth2-provider/config.d.ts +++ b/plugins/auth-backend-module-oauth2-provider/config.d.ts @@ -27,7 +27,9 @@ export interface Config { clientSecret: string; authorizationUrl: string; tokenUrl: string; + /** @deprecated use `additionalScopes` instead */ scope?: string; + additionalScopes?: string | string[]; disableRefresh?: boolean; includeBasicAuth?: boolean; }; diff --git a/plugins/auth-backend-module-oauth2-provider/src/authenticator.ts b/plugins/auth-backend-module-oauth2-provider/src/authenticator.ts index d6f84cf1c0..698d9e51cb 100644 --- a/plugins/auth-backend-module-oauth2-provider/src/authenticator.ts +++ b/plugins/auth-backend-module-oauth2-provider/src/authenticator.ts @@ -31,9 +31,14 @@ export const oauth2Authenticator = createOAuthAuthenticator({ const clientSecret = config.getString('clientSecret'); const authorizationUrl = config.getString('authorizationUrl'); const tokenUrl = config.getString('tokenUrl'); - const scope = config.getOptionalString('scope'); const includeBasicAuth = config.getOptionalBoolean('includeBasicAuth'); + if (config.has('scope')) { + throw new Error( + 'The oauth2 provider no longer supports the "scope" configuration option. Please use the "additionalScopes" option instead.', + ); + } + return PassportOAuthAuthenticatorHelper.from( new Oauth2Strategy( { @@ -43,7 +48,6 @@ export const oauth2Authenticator = createOAuthAuthenticator({ authorizationURL: authorizationUrl, tokenURL: tokenUrl, passReqToCallback: false, - scope: scope, customHeaders: includeBasicAuth ? { Authorization: `Basic ${encodeClientCredentials( diff --git a/plugins/auth-backend-module-oidc-provider/api-report.md b/plugins/auth-backend-module-oidc-provider/api-report.md index d96d9952a0..eb9b4fb21e 100644 --- a/plugins/auth-backend-module-oidc-provider/api-report.md +++ b/plugins/auth-backend-module-oidc-provider/api-report.md @@ -19,7 +19,6 @@ export default authModuleOidcProvider; // @public (undocumented) export const oidcAuthenticator: OAuthAuthenticator< { - initializedScope: string | undefined; initializedPrompt: string | undefined; promise: Promise<{ helper: PassportOAuthAuthenticatorHelper; diff --git a/plugins/auth-backend-module-oidc-provider/config.d.ts b/plugins/auth-backend-module-oidc-provider/config.d.ts index 16131c0761..398e63c466 100644 --- a/plugins/auth-backend-module-oidc-provider/config.d.ts +++ b/plugins/auth-backend-module-oidc-provider/config.d.ts @@ -29,7 +29,7 @@ export interface Config { callbackUrl?: string; tokenEndpointAuthMethod?: string; tokenSignedResponseAlg?: string; - scope?: string; + additionalScopes?: string | string[]; prompt?: string; }; }; diff --git a/plugins/auth-backend-module-oidc-provider/src/authenticator.test.ts b/plugins/auth-backend-module-oidc-provider/src/authenticator.test.ts index 67bfd27b19..4203a70153 100644 --- a/plugins/auth-backend-module-oidc-provider/src/authenticator.test.ts +++ b/plugins/auth-backend-module-oidc-provider/src/authenticator.test.ts @@ -254,19 +254,6 @@ describe('oidcAuthenticator', () => { expect(fakeSession['oidc:oidc.test'].code_verifier).toBeDefined(); }); - it('requests default scopes if none are provided in config', async () => { - const startResponse = await oidcAuthenticator.start( - startRequest, - implementation, - ); - const { searchParams } = new URL(startResponse.url); - const scopes = searchParams.get('scope')?.split(' ') ?? []; - - expect(scopes).toEqual( - expect.arrayContaining(['openid', 'profile', 'email']), - ); - }); - it('encodes OAuth state in query param', async () => { const startResponse = await oidcAuthenticator.start( startRequest, diff --git a/plugins/auth-backend-module-oidc-provider/src/authenticator.ts b/plugins/auth-backend-module-oidc-provider/src/authenticator.ts index 2b6a9b34f1..efcf1b61dd 100644 --- a/plugins/auth-backend-module-oidc-provider/src/authenticator.ts +++ b/plugins/auth-backend-module-oidc-provider/src/authenticator.ts @@ -53,7 +53,6 @@ export type OidcAuthResult = { /** @public */ export const oidcAuthenticator = createOAuthAuthenticator({ - shouldPersistScopes: true, defaultProfileTransform: async ( input: OAuthAuthenticatorResult, ) => ({ @@ -63,6 +62,10 @@ export const oidcAuthenticator = createOAuthAuthenticator({ displayName: input.fullProfile.userinfo.name, }, }), + scopes: { + persist: true, + required: ['openid', 'profile', 'email'], + }, initialize({ callbackUrl, config }) { const clientId = config.getString('clientId'); const clientSecret = config.getString('clientSecret'); @@ -74,9 +77,14 @@ export const oidcAuthenticator = createOAuthAuthenticator({ const tokenSignedResponseAlg = config.getOptionalString( 'tokenSignedResponseAlg', ); - const initializedScope = config.getOptionalString('scope'); const initializedPrompt = config.getOptionalString('prompt'); + if (config.has('scope')) { + throw new Error( + 'The oidc provider no longer supports the "scope" configuration option. Please use the "additionalScopes" option instead.', + ); + } + Issuer[custom.http_options] = httpOptionsProvider; const promise = Issuer.discover(metadataUrl).then(issuer => { issuer[custom.http_options] = httpOptionsProvider; @@ -91,7 +99,6 @@ export const oidcAuthenticator = createOAuthAuthenticator({ token_endpoint_auth_method: tokenEndpointAuthMethod || 'client_secret_basic', id_token_signed_response_alg: tokenSignedResponseAlg || 'RS256', - scope: initializedScope || '', }); client[custom.http_options] = httpOptionsProvider; @@ -123,14 +130,14 @@ export const oidcAuthenticator = createOAuthAuthenticator({ return { helper, client, strategy }; }); - return { initializedScope, initializedPrompt, promise }; + return { initializedPrompt, promise }; }, async start(input, ctx) { - const { initializedScope, initializedPrompt, promise } = ctx; + const { initializedPrompt, promise } = ctx; const { helper, strategy } = await promise; const options: Record = { - scope: input.scope || initializedScope || 'openid profile email', + scope: input.scope, state: input.state, nonce: crypto.randomBytes(16).toString('base64'), }; diff --git a/plugins/auth-backend-module-oidc-provider/src/module.test.ts b/plugins/auth-backend-module-oidc-provider/src/module.test.ts index 8ceec1df15..1359634950 100644 --- a/plugins/auth-backend-module-oidc-provider/src/module.test.ts +++ b/plugins/auth-backend-module-oidc-provider/src/module.test.ts @@ -212,7 +212,7 @@ describe('authModuleOidcProvider', () => { expect(decodeOAuthState(startUrl.searchParams.get('state')!)).toEqual({ env: 'development', nonce: decodeURIComponent(nonceCookie.value), - scope: '', + scope: 'openid profile email', }); }); diff --git a/plugins/auth-backend-module-okta-provider/config.d.ts b/plugins/auth-backend-module-okta-provider/config.d.ts index 42688528ee..aaf6ec1f91 100644 --- a/plugins/auth-backend-module-okta-provider/config.d.ts +++ b/plugins/auth-backend-module-okta-provider/config.d.ts @@ -29,7 +29,7 @@ export interface Config { authServerId?: string; idp?: string; callbackUrl?: string; - additionalScopes?: string; + additionalScopes?: string | string[]; }; }; }; diff --git a/plugins/auth-backend-module-okta-provider/src/authenticator.ts b/plugins/auth-backend-module-okta-provider/src/authenticator.ts index 42201232f1..1454d580cb 100644 --- a/plugins/auth-backend-module-okta-provider/src/authenticator.ts +++ b/plugins/auth-backend-module-okta-provider/src/authenticator.ts @@ -26,25 +26,15 @@ import { export const oktaAuthenticator = createOAuthAuthenticator({ defaultProfileTransform: PassportOAuthAuthenticatorHelper.defaultProfileTransform, + scopes: { + required: ['openid', 'email', 'profile', 'offline_access'], + }, initialize({ callbackUrl, config }) { const clientId = config.getString('clientId'); const clientSecret = config.getString('clientSecret'); const audience = config.getOptionalString('audience') || 'https://okta.com'; const authServerId = config.getOptionalString('authServerId'); const idp = config.getOptionalString('idp'); - // default scopes are taken from - // https://developer.okta.com/docs/reference/api/oidc/#response-example-success-refresh-token - const defaultScopes = 'openid profile email'; - // additional scopes can be configured in the config as a space separated string - const additionalScopes = config.getOptionalString('additionalScopes') || ''; - // combine default and additional scopes and remove duplicates - const combineScopeStrings = (scopesA: string, scopesB: string) => { - const scopesAArray = scopesA.split(' '); - const scopesBArray = scopesB.split(' '); - const combinedScopes = new Set([...scopesAArray, ...scopesBArray]); - return Array.from(combinedScopes).join(' '); - }; - const scope = combineScopeStrings(defaultScopes, additionalScopes); return PassportOAuthAuthenticatorHelper.from( new OktaStrategy( @@ -57,7 +47,6 @@ export const oktaAuthenticator = createOAuthAuthenticator({ idp: idp, passReqToCallback: false, response_type: 'code', - scope, }, ( accessToken: string, diff --git a/plugins/auth-backend-module-okta-provider/src/module.test.ts b/plugins/auth-backend-module-okta-provider/src/module.test.ts index ee410e4d2e..16a58b8713 100644 --- a/plugins/auth-backend-module-okta-provider/src/module.test.ts +++ b/plugins/auth-backend-module-okta-provider/src/module.test.ts @@ -21,7 +21,6 @@ import { decodeOAuthState } from '@backstage/plugin-auth-node'; describe('authModuleOktaProvider', () => { it('should start', async () => { - const additionalScopes = 'groups phone'; const { server } = await startTestBackend({ features: [ import('@backstage/plugin-auth-backend'), @@ -37,7 +36,7 @@ describe('authModuleOktaProvider', () => { development: { clientId: 'my-client-id', clientSecret: 'my-client-secret', - additionalScopes, + additionalScopes: 'groups phone', }, }, }, @@ -66,7 +65,7 @@ describe('authModuleOktaProvider', () => { expect(startUrl.pathname).toBe('/oauth2/v1/authorize'); expect(Object.fromEntries(startUrl.searchParams)).toEqual({ response_type: 'code', - scope: additionalScopes, + scope: 'openid email profile offline_access groups phone', client_id: 'my-client-id', redirect_uri: `http://localhost:${server.port()}/api/auth/okta/handler/frame`, state: expect.any(String), diff --git a/plugins/auth-backend-module-pinniped-provider/src/authenticator.test.ts b/plugins/auth-backend-module-pinniped-provider/src/authenticator.test.ts index 2ecd54e80a..e2dedf2129 100644 --- a/plugins/auth-backend-module-pinniped-provider/src/authenticator.test.ts +++ b/plugins/auth-backend-module-pinniped-provider/src/authenticator.test.ts @@ -249,22 +249,14 @@ describe('pinnipedAuthenticator', () => { expect(fakeSession['oidc:pinniped.test'].code_verifier).toBeDefined(); }); - it('requests sufficient scopes for token exchange by default', async () => { + it('forwards scopes for token exchange', async () => { const startResponse = await pinnipedAuthenticator.start( - startRequest, + { ...startRequest, scope: 'openid username' }, authCtx, ); const { searchParams } = new URL(startResponse.url); - const scopes = searchParams.get('scope')?.split(' ') ?? []; - expect(scopes).toEqual( - expect.arrayContaining([ - 'openid', - 'pinniped:request-audience', - 'username', - 'offline_access', - ]), - ); + expect(searchParams.get('scope')).toBe('openid username'); }); it('encodes OAuth state in query param', async () => { diff --git a/plugins/auth-backend-module-pinniped-provider/src/authenticator.ts b/plugins/auth-backend-module-pinniped-provider/src/authenticator.ts index e07eaba759..abacb14ccc 100644 --- a/plugins/auth-backend-module-pinniped-provider/src/authenticator.ts +++ b/plugins/auth-backend-module-pinniped-provider/src/authenticator.ts @@ -127,7 +127,6 @@ export class PinnipedStrategyCache { client_secret: this.config.getString('clientSecret'), redirect_uris: [this.callbackUrl], response_types: ['code'], - scope: this.config.getOptionalString('scope') || '', id_token_signed_response_alg: 'ES256', }); const providerStrategy = new OidcStrategy( @@ -154,7 +153,20 @@ export class PinnipedStrategyCache { /** @public */ export const pinnipedAuthenticator = createOAuthAuthenticator({ defaultProfileTransform: async (_r, _c) => ({ profile: {} }), + scopes: { + required: [ + 'openid', + 'pinniped:request-audience', + 'username', + 'offline_access', + ], + }, initialize({ callbackUrl, config }) { + if (config.has('scope')) { + throw new Error( + 'The pinniped provider no longer supports the "scope" configuration option. Please use the "additionalScopes" option instead.', + ); + } return new PinnipedStrategyCache(callbackUrl, config); }, async start(input, ctx): Promise<{ url: string; status?: number }> { @@ -163,9 +175,7 @@ export const pinnipedAuthenticator = createOAuthAuthenticator({ const decodedState = decodeOAuthState(input.state); const state = { ...decodedState, audience: stringifiedAudience }; const options: Record = { - scope: - input.scope || - 'openid pinniped:request-audience username offline_access', + scope: input.scope, state: encodeOAuthState(state), }; diff --git a/plugins/auth-backend-module-vmware-cloud-provider/config.d.ts b/plugins/auth-backend-module-vmware-cloud-provider/config.d.ts index 10b3566899..6ea07f1936 100644 --- a/plugins/auth-backend-module-vmware-cloud-provider/config.d.ts +++ b/plugins/auth-backend-module-vmware-cloud-provider/config.d.ts @@ -24,6 +24,7 @@ export interface Config { organizationId: string; scope?: string; consoleEndpoint?: string; + additionalScopes?: string | string[]; }; }; }; diff --git a/plugins/auth-backend-module-vmware-cloud-provider/src/authenticator.test.ts b/plugins/auth-backend-module-vmware-cloud-provider/src/authenticator.test.ts index f38ceeb462..c69d4e9ab1 100644 --- a/plugins/auth-backend-module-vmware-cloud-provider/src/authenticator.test.ts +++ b/plugins/auth-backend-module-vmware-cloud-provider/src/authenticator.test.ts @@ -163,9 +163,9 @@ describe('vmwareCloudAuthenticator', () => { expect(searchParams.get('redirect_uri')).toBe('http://callbackUrl'); }); - it('requests scopes for ID and refresh token', async () => { + it('forwards scopes for ID and refresh token', async () => { const startResponse = await vmwareCloudAuthenticator.start( - startRequest, + { ...startRequest, scope: 'openid offline_access' }, authenticatorCtx, ); const { searchParams } = new URL(startResponse.url); diff --git a/plugins/auth-backend-module-vmware-cloud-provider/src/authenticator.ts b/plugins/auth-backend-module-vmware-cloud-provider/src/authenticator.ts index 4db4836f13..55b3b5daec 100644 --- a/plugins/auth-backend-module-vmware-cloud-provider/src/authenticator.ts +++ b/plugins/auth-backend-module-vmware-cloud-provider/src/authenticator.ts @@ -96,6 +96,9 @@ export const vmwareCloudAuthenticator = createOAuthAuthenticator< }, }; }, + scopes: { + required: ['openid', 'offline_access'], + }, initialize({ callbackUrl, config }) { const consoleEndpoint = config.getOptionalString('consoleEndpoint') ?? @@ -106,7 +109,12 @@ export const vmwareCloudAuthenticator = createOAuthAuthenticator< const clientSecret = ''; const authorizationUrl = `${consoleEndpoint}/csp/gateway/discovery`; const tokenUrl = `${consoleEndpoint}/csp/gateway/am/api/auth/token`; - const scope = config.getOptionalString('scope') ?? 'openid offline_access'; + + if (config.has('scope')) { + throw new Error( + 'The vmware-cloud provider no longer supports the "scope" configuration option. Please use the "additionalScopes" option instead.', + ); + } const providerStrategy = new OAuth2Strategy( { @@ -118,7 +126,6 @@ export const vmwareCloudAuthenticator = createOAuthAuthenticator< passReqToCallback: false, pkce: true, state: true, - scope: scope, customHeaders: { Authorization: `Basic ${encodeClientCredentials( clientId, From b2ee7f3a658d4f8e0f79b780ad1d13060b44a427 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Thu, 23 May 2024 16:40:18 +0200 Subject: [PATCH 43/66] moved over the urlreader to backend-defaults MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .changeset/nervous-kings-change.md | 15 + .changeset/shaggy-zebras-mate.md | 6 + docs/plugins/url-reader.md | 7 +- package.json | 2 +- packages/backend-app-api/api-report.md | 7 +- packages/backend-common/api-report.md | 441 +++++------------- packages/backend-common/src/reading/index.ts | 236 ++++++++-- .../backend-defaults/api-report-urlReader.md | 434 ++++++++++++++++- packages/backend-defaults/package.json | 22 + .../src/entrypoints/urlReader/index.ts | 1 + .../lib}/AwsCodeCommitUrlReader.test.ts | 0 .../urlReader/lib}/AwsCodeCommitUrlReader.ts | 29 +- .../urlReader/lib}/AwsS3UrlReader.test.ts | 0 .../urlReader/lib}/AwsS3UrlReader.ts | 29 +- .../urlReader/lib}/AzureUrlReader.test.ts | 0 .../urlReader/lib}/AzureUrlReader.ts | 36 +- .../lib}/BitbucketCloudUrlReader.test.ts | 0 .../urlReader/lib}/BitbucketCloudUrlReader.ts | 36 +- .../lib}/BitbucketServerUrlReader.test.ts | 0 .../lib}/BitbucketServerUrlReader.ts | 36 +- .../urlReader/lib}/BitbucketUrlReader.test.ts | 0 .../urlReader/lib}/BitbucketUrlReader.ts | 36 +- .../urlReader/lib}/FetchUrlReader.test.ts | 0 .../urlReader/lib}/FetchUrlReader.ts | 26 +- .../urlReader/lib}/GerritUrlReader.test.ts | 0 .../urlReader/lib}/GerritUrlReader.ts | 35 +- .../urlReader/lib}/GiteaUrlReader.test.ts | 0 .../urlReader/lib}/GiteaUrlReader.ts | 32 +- .../urlReader/lib}/GithubUrlReader.test.ts | 0 .../urlReader/lib}/GithubUrlReader.ts | 44 +- .../urlReader/lib}/GitlabUrlReader.test.ts | 0 .../urlReader/lib}/GitlabUrlReader.ts | 36 +- .../urlReader/lib}/GoogleGcsUrlReader.test.ts | 6 +- .../urlReader/lib}/GoogleGcsUrlReader.ts | 32 +- .../urlReader/lib}/HarnessUrlReader.test.ts | 0 .../urlReader/lib}/HarnessUrlReader.ts | 33 +- .../lib}/ReadUrlResponseFactory.test.ts | 0 .../urlReader/lib}/ReadUrlResponseFactory.ts | 10 +- .../lib}/UrlReaderPredicateMux.test.ts | 0 .../urlReader/lib}/UrlReaderPredicateMux.ts | 37 +- .../entrypoints/urlReader/lib}/UrlReaders.ts | 6 +- .../awsCodeCommit-mock-object.yaml | 0 .../subFolder/awsCodeCommit-mock-object2.yaml | 0 .../__fixtures__/awsS3/awsS3-mock-object.yaml | 0 .../awsS3/awsS3-mock-object2.yaml | 0 .../awsS3/awsS3-mock-object3.yaml | 0 .../backstage-mock-etag123.tar.gz | Bin .../bitbucket-repo-with-commit-hash.tar.gz | Bin .../__fixtures__/bitbucket-server-repo.tar.gz | Bin .../gerrit/branch-info-response.txt | 0 .../gerrit/gerrit-master-docs.tar.gz | Bin .../__fixtures__/gerrit/gerrit-master.tar.gz | Bin .../lib}/__fixtures__/gitlab-archive.tar.gz | Bin .../lib}/__fixtures__/gitlab-archive.zip | Bin .../gitlab-subpath-archive.tar.gz | Bin .../urlReader/lib}/__fixtures__/mallory.zip | Bin .../lib}/__fixtures__/mock-corrupted.zip | Bin .../lib}/__fixtures__/mock-main.tar.gz | Bin .../urlReader/lib}/__fixtures__/mock-main.zip | Bin .../__fixtures__/mock-with-extra-root-dir.zip | Bin .../src/entrypoints/urlReader/lib}/git.ts | 0 .../src/entrypoints/urlReader/lib/index.ts | 38 ++ .../lib}/tree/ReadTreeResponseFactory.ts | 8 +- .../lib}/tree/ReadableArrayResponse.test.ts | 0 .../lib}/tree/ReadableArrayResponse.ts | 21 +- .../lib}/tree/TarArchiveResponse.test.ts | 0 .../urlReader/lib}/tree/TarArchiveResponse.ts | 18 +- .../lib}/tree/ZipArchiveResponse.test.ts | 0 .../urlReader/lib}/tree/ZipArchiveResponse.ts | 18 +- .../entrypoints/urlReader/lib}/tree/index.ts | 0 .../entrypoints/urlReader/lib}/tree/util.ts | 0 .../src/entrypoints/urlReader/lib}/types.ts | 21 +- .../src/entrypoints/urlReader/lib}/util.ts | 0 .../urlReader/urlReaderServiceFactory.ts | 2 +- packages/backend-plugin-api/api-report.md | 162 ++++--- .../services/definitions/UrlReaderService.ts | 87 +++- .../src/services/definitions/index.ts | 9 + yarn.lock | 22 + 78 files changed, 1338 insertions(+), 738 deletions(-) create mode 100644 .changeset/nervous-kings-change.md create mode 100644 .changeset/shaggy-zebras-mate.md rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/AwsCodeCommitUrlReader.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/AwsCodeCommitUrlReader.ts (95%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/AwsS3UrlReader.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/AwsS3UrlReader.ts (95%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/AzureUrlReader.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/AzureUrlReader.ts (91%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/BitbucketCloudUrlReader.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/BitbucketCloudUrlReader.ts (92%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/BitbucketServerUrlReader.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/BitbucketServerUrlReader.ts (92%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/BitbucketUrlReader.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/BitbucketUrlReader.ts (93%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/FetchUrlReader.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/FetchUrlReader.ts (92%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/GerritUrlReader.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/GerritUrlReader.ts (93%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/GiteaUrlReader.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/GiteaUrlReader.ts (90%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/GithubUrlReader.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/GithubUrlReader.ts (93%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/GitlabUrlReader.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/GitlabUrlReader.ts (95%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/GoogleGcsUrlReader.test.ts (95%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/GoogleGcsUrlReader.ts (84%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/HarnessUrlReader.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/HarnessUrlReader.ts (90%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/ReadUrlResponseFactory.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/ReadUrlResponseFactory.ts (91%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/UrlReaderPredicateMux.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/UrlReaderPredicateMux.ts (74%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/UrlReaders.ts (94%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/awsCodeCommit/awsCodeCommit-mock-object.yaml (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/awsCodeCommit/subFolder/awsCodeCommit-mock-object2.yaml (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/awsS3/awsS3-mock-object.yaml (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/awsS3/awsS3-mock-object2.yaml (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/awsS3/awsS3-mock-object3.yaml (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/backstage-mock-etag123.tar.gz (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/bitbucket-repo-with-commit-hash.tar.gz (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/bitbucket-server-repo.tar.gz (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/gerrit/branch-info-response.txt (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/gerrit/gerrit-master-docs.tar.gz (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/gerrit/gerrit-master.tar.gz (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/gitlab-archive.tar.gz (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/gitlab-archive.zip (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/gitlab-subpath-archive.tar.gz (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/mallory.zip (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/mock-corrupted.zip (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/mock-main.tar.gz (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/mock-main.zip (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/__fixtures__/mock-with-extra-root-dir.zip (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/git.ts (100%) create mode 100644 packages/backend-defaults/src/entrypoints/urlReader/lib/index.ts rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/tree/ReadTreeResponseFactory.ts (90%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/tree/ReadableArrayResponse.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/tree/ReadableArrayResponse.ts (84%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/tree/TarArchiveResponse.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/tree/TarArchiveResponse.ts (93%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/tree/ZipArchiveResponse.test.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/tree/ZipArchiveResponse.ts (93%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/tree/index.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/tree/util.ts (100%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/types.ts (88%) rename packages/{backend-common/src/reading => backend-defaults/src/entrypoints/urlReader/lib}/util.ts (100%) diff --git a/.changeset/nervous-kings-change.md b/.changeset/nervous-kings-change.md new file mode 100644 index 0000000000..99a3547574 --- /dev/null +++ b/.changeset/nervous-kings-change.md @@ -0,0 +1,15 @@ +--- +'@backstage/backend-plugin-api': patch +--- + +Deprecated all of the `UrlReader` related type names and replaced them with prefixed versions. Please update your imports. + +- `ReadTreeOptions` was renamed to `UrlReaderReadTreeOptions` +- `ReadTreeResponse` was renamed to `UrlReaderReadTreeResponse` +- `ReadTreeResponseDirOptions` was renamed to `UrlReaderReadTreeResponseDirOptions` +- `ReadTreeResponseFile` was renamed to `UrlReaderReadTreeResponseFile` +- `ReadUrlResponse` was renamed to `UrlReaderReadUrlResponse` +- `ReadUrlOptions` was renamed to `UrlReaderReadUrlOptions` +- `SearchOptions` was renamed to `UrlReaderSearchOptions` +- `SearchResponse` was renamed to `UrlReaderSearchResponse` +- `SearchResponseFile` was renamed to `UrlReaderSearchResponseFile` diff --git a/.changeset/shaggy-zebras-mate.md b/.changeset/shaggy-zebras-mate.md new file mode 100644 index 0000000000..c66a92d1e9 --- /dev/null +++ b/.changeset/shaggy-zebras-mate.md @@ -0,0 +1,6 @@ +--- +'@backstage/backend-defaults': patch +'@backstage/backend-common': patch +--- + +Moved over all URL reader functionality from `@backstage/backend-common` to `@backstage/backend-defaults/urlReader`. Please update your imports. diff --git a/docs/plugins/url-reader.md b/docs/plugins/url-reader.md index c8ff18952c..c551cdc086 100644 --- a/docs/plugins/url-reader.md +++ b/docs/plugins/url-reader.md @@ -19,7 +19,7 @@ files before generating a documentation site. Since, the requirement for reading files is so essential for Backstage plugins, the -[`@backstage/backend-common`](https://github.com/backstage/backstage/tree/master/packages/backend-common) +[`coreServices.urlReader`](../reference/backend-plugin-api.coreservices.urlreader/) package provides a dedicated API for reading from such URL based remote locations like GitHub, GitLab, Bitbucket, Google Cloud Storage, etc. This is commonly referred to as "URL Reader". It takes care of making authenticated @@ -49,9 +49,8 @@ function makeCreateEnv(config: Config) { } ``` -This instance contains all -[the default URL Reader providers](https://github.com/backstage/backstage/blob/master/packages/backend-common/src/reading/UrlReaders.ts) -in the backend-common package including GitHub, GitLab, Bitbucket, Azure, Google +This instance contains all the default URL Reader providers +in the backend-defaults package including GitHub, GitLab, Bitbucket, Azure, Google GCS. As the need arises, more URL Readers are being written to support different providers. diff --git a/package.json b/package.json index 2951eb8540..c81f4bf07d 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "build:all": "backstage-cli repo build --all", "build:api-docs": "LANG=en_EN yarn build:api-reports --docs --exclude 'plugins/@(adr|adr-backend|adr-common|airbrake|airbrake-backend|allure|analytics-module-ga|analytics-module-ga4|analytics-module-newrelic-browser|apache-airflow|api-docs|api-docs-module-protoc-gen-doc|apollo-explorer|app-visualizer|azure-devops|azure-devops-backend|azure-devops-common|azure-sites|azure-sites-backend|azure-sites-common|badges|badges-backend|bazaar|bazaar-backend|bitbucket-cloud-common|bitrise|catalog-graph|catalog-graphql|catalog-import|catalog-unprocessed-entities|cicd-statistics|cicd-statistics-module-gitlab|circleci|cloudbuild|code-climate|code-coverage|code-coverage-backend|codescene|config-schema|cost-insights|cost-insights-common|dynatrace|entity-feedback|entity-feedback-backend|entity-feedback-common|entity-validation|example-todo-list|example-todo-list-backend|example-todo-list-common|firehydrant|fossa|gcalendar|gcp-projects|git-release-manager|github-actions|github-deployments|github-issues|github-pull-requests-board|gitops-profiles|gocd|graphiql|graphql-backend|graphql-voyager|ilert|jenkins|jenkins-backend|jenkins-common|kafka|kafka-backend|lighthouse|lighthouse-backend|lighthouse-common|linguist|linguist-backend|linguist-common|microsoft-calendar|newrelic|newrelic-dashboard|nomad|nomad-backend|octopus-deploy|opencost|pagerduty|periskop|periskop-backend|playlist|playlist-backend|playlist-common|proxy-backend|puppetdb|rollbar|rollbar-backend|sentry|shortcuts|splunk-on-call|stack-overflow|stack-overflow-backend|stackstorm|tech-radar|tech-radar-2|todo|todo-backend|xcmetrics)'", "build:api-reports": "yarn build:api-reports:only --tsc", - "build:api-reports:only": "NODE_OPTIONS=--max-old-space-size=8192 backstage-repo-tools api-reports --allow-warnings 'packages/core-components,plugins/+(catalog|catalog-import|git-release-manager|jenkins|kubernetes)' -o ae-wrong-input-file-type --validate-release-tags", + "build:api-reports:only": "NODE_OPTIONS=--max-old-space-size=8192 backstage-repo-tools api-reports --allow-warnings 'packages/backend-common,packages/core-components,plugins/+(catalog|catalog-import|git-release-manager|jenkins|kubernetes)' -o ae-wrong-input-file-type --validate-release-tags", "build:backend": "yarn workspace example-backend build", "build:knip-reports": "backstage-repo-tools knip-reports", "build:plugins-report": "node ./scripts/build-plugins-report", diff --git a/packages/backend-app-api/api-report.md b/packages/backend-app-api/api-report.md index 11d9dd90d4..3d7357cb87 100644 --- a/packages/backend-app-api/api-report.md +++ b/packages/backend-app-api/api-report.md @@ -42,7 +42,7 @@ import { ServiceFactory } from '@backstage/backend-plugin-api'; import { ServiceFactoryOrFunction } from '@backstage/backend-plugin-api'; import { TokenManagerService } from '@backstage/backend-plugin-api'; import { transport } from 'winston'; -import { UrlReader } from '@backstage/backend-common'; +import { UrlReaderService } from '@backstage/backend-plugin-api'; import { UserInfoService } from '@backstage/backend-plugin-api'; // @public (undocumented) @@ -339,7 +339,10 @@ export const tokenManagerServiceFactory: () => ServiceFactory< >; // @public @deprecated (undocumented) -export const urlReaderServiceFactory: () => ServiceFactory; +export const urlReaderServiceFactory: () => ServiceFactory< + UrlReaderService, + 'plugin' +>; // @public (undocumented) export const userInfoServiceFactory: () => ServiceFactory< diff --git a/packages/backend-common/api-report.md b/packages/backend-common/api-report.md index 2947741fe3..977809071b 100644 --- a/packages/backend-common/api-report.md +++ b/packages/backend-common/api-report.md @@ -49,26 +49,32 @@ import { PluginMetadataService } from '@backstage/backend-plugin-api'; import { PushResult } from 'isomorphic-git'; import { Readable } from 'stream'; import { ReadCommitResult } from 'isomorphic-git'; -import { ReadTreeOptions } from '@backstage/backend-plugin-api'; -import { ReadTreeResponse } from '@backstage/backend-plugin-api'; -import { ReadTreeResponseDirOptions } from '@backstage/backend-plugin-api'; -import { ReadTreeResponseFile } from '@backstage/backend-plugin-api'; -import { ReadUrlOptions } from '@backstage/backend-plugin-api'; -import { ReadUrlResponse } from '@backstage/backend-plugin-api'; +import type { ReadTreeOptions as ReadTreeOptions_2 } from '@backstage/backend-plugin-api'; +import type { ReadTreeResponse as ReadTreeResponse_2 } from '@backstage/backend-plugin-api'; +import type { ReadTreeResponseDirOptions as ReadTreeResponseDirOptions_2 } from '@backstage/backend-plugin-api'; +import type { ReadTreeResponseFile as ReadTreeResponseFile_2 } from '@backstage/backend-plugin-api'; +import type { ReadUrlOptions as ReadUrlOptions_2 } from '@backstage/backend-plugin-api'; +import type { ReadUrlResponse as ReadUrlResponse_2 } from '@backstage/backend-plugin-api'; import { RequestHandler } from 'express'; import { resolvePackagePath as resolvePackagePath_2 } from '@backstage/backend-plugin-api'; import { resolveSafeChildPath as resolveSafeChildPath_2 } from '@backstage/backend-plugin-api'; import { RootConfigService } from '@backstage/backend-plugin-api'; import { Router } from 'express'; import { SchedulerService } from '@backstage/backend-plugin-api'; -import { SearchOptions } from '@backstage/backend-plugin-api'; -import { SearchResponse } from '@backstage/backend-plugin-api'; -import { SearchResponseFile } from '@backstage/backend-plugin-api'; +import type { SearchOptions as SearchOptions_2 } from '@backstage/backend-plugin-api'; +import type { SearchResponse as SearchResponse_2 } from '@backstage/backend-plugin-api'; +import type { SearchResponseFile as SearchResponseFile_2 } from '@backstage/backend-plugin-api'; import { Server } from 'http'; import { ServiceRef } from '@backstage/backend-plugin-api'; import { TokenManagerService as TokenManager } from '@backstage/backend-plugin-api'; import { TransportStreamOptions } from 'winston-transport'; -import { UrlReaderService as UrlReader } from '@backstage/backend-plugin-api'; +import { UrlReaderReadTreeOptions } from '@backstage/backend-plugin-api'; +import { UrlReaderReadTreeResponse } from '@backstage/backend-plugin-api'; +import { UrlReaderReadUrlOptions } from '@backstage/backend-plugin-api'; +import { UrlReaderReadUrlResponse } from '@backstage/backend-plugin-api'; +import { UrlReaderSearchOptions } from '@backstage/backend-plugin-api'; +import { UrlReaderSearchResponse } from '@backstage/backend-plugin-api'; +import { UrlReaderService } from '@backstage/backend-plugin-api'; import { UserInfoService } from '@backstage/backend-plugin-api'; import { V1PodTemplateSpec } from '@kubernetes/client-node'; import * as winston from 'winston'; @@ -80,118 +86,30 @@ export type AuthCallbackOptions = { logger?: LoggerService; }; -// @public -export class AwsS3UrlReader implements UrlReader { - constructor( - credsManager: AwsCredentialsManager, - integration: AwsS3Integration, - deps: { - treeResponseFactory: ReadTreeResponseFactory; - }, - ); - // (undocumented) - static factory: ReaderFactory; - // (undocumented) - read(url: string): Promise; - // (undocumented) - readTree(url: string, options?: ReadTreeOptions): Promise; - // (undocumented) - readUrl(url: string, options?: ReadUrlOptions): Promise; - // (undocumented) - search(): Promise; - // (undocumented) - toString(): string; -} +// Warning: (ae-forgotten-export) The symbol "AwsS3UrlReader_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export const AwsS3UrlReader: typeof AwsS3UrlReader_2; -// @public -export class AzureUrlReader implements UrlReader { - constructor( - integration: AzureIntegration, - deps: { - treeResponseFactory: ReadTreeResponseFactory; - credentialsProvider: AzureDevOpsCredentialsProvider; - }, - ); - // (undocumented) - static factory: ReaderFactory; - // (undocumented) - read(url: string): Promise; - // (undocumented) - readTree(url: string, options?: ReadTreeOptions): Promise; - // (undocumented) - readUrl(url: string, options?: ReadUrlOptions): Promise; - // (undocumented) - search(url: string, options?: SearchOptions): Promise; - // (undocumented) - toString(): string; -} +// Warning: (ae-forgotten-export) The symbol "AzureUrlReader_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export const AzureUrlReader: typeof AzureUrlReader_2; -// @public -export class BitbucketCloudUrlReader implements UrlReader { - constructor( - integration: BitbucketCloudIntegration, - deps: { - treeResponseFactory: ReadTreeResponseFactory; - }, - ); - // (undocumented) - static factory: ReaderFactory; - // (undocumented) - read(url: string): Promise; - // (undocumented) - readTree(url: string, options?: ReadTreeOptions): Promise; - // (undocumented) - readUrl(url: string, options?: ReadUrlOptions): Promise; - // (undocumented) - search(url: string, options?: SearchOptions): Promise; - // (undocumented) - toString(): string; -} +// Warning: (ae-forgotten-export) The symbol "BitbucketCloudUrlReader_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export const BitbucketCloudUrlReader: typeof BitbucketCloudUrlReader_2; -// @public -export class BitbucketServerUrlReader implements UrlReader { - constructor( - integration: BitbucketServerIntegration, - deps: { - treeResponseFactory: ReadTreeResponseFactory; - }, - ); - // (undocumented) - static factory: ReaderFactory; - // (undocumented) - read(url: string): Promise; - // (undocumented) - readTree(url: string, options?: ReadTreeOptions): Promise; - // (undocumented) - readUrl(url: string, options?: ReadUrlOptions): Promise; - // (undocumented) - search(url: string, options?: SearchOptions): Promise; - // (undocumented) - toString(): string; -} +// Warning: (ae-forgotten-export) The symbol "BitbucketServerUrlReader_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export const BitbucketServerUrlReader: typeof BitbucketServerUrlReader_2; -// @public @deprecated -export class BitbucketUrlReader implements UrlReader { - constructor( - integration: BitbucketIntegration, - logger: LoggerService, - deps: { - treeResponseFactory: ReadTreeResponseFactory; - }, - ); - // (undocumented) - static factory: ReaderFactory; - // (undocumented) - read(url: string): Promise; - // (undocumented) - readTree(url: string, options?: ReadTreeOptions): Promise; - // (undocumented) - readUrl(url: string, options?: ReadUrlOptions): Promise; - // (undocumented) - search(url: string, options?: SearchOptions): Promise; - // (undocumented) - toString(): string; -} +// Warning: (ae-forgotten-export) The symbol "BitbucketUrlReader_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export const BitbucketUrlReader: typeof BitbucketUrlReader_2; // @public @deprecated (undocumented) export type CacheClient = CacheService; @@ -330,50 +248,20 @@ export type ErrorHandlerOptions = { logClientErrors?: boolean; }; -// @public -export class FetchUrlReader implements UrlReader { - static factory: ReaderFactory; - // (undocumented) - read(url: string): Promise; - // (undocumented) - readTree(): Promise; - // (undocumented) - readUrl(url: string, options?: ReadUrlOptions): Promise; - // (undocumented) - search(): Promise; - // (undocumented) - toString(): string; -} +// Warning: (ae-forgotten-export) The symbol "FetchUrlReader_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export const FetchUrlReader: typeof FetchUrlReader_2; -// @public -export type FromReadableArrayOptions = Array<{ - data: Readable; - path: string; - lastModifiedAt?: Date; -}>; +// Warning: (ae-forgotten-export) The symbol "FromReadableArrayOptions_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export type FromReadableArrayOptions = FromReadableArrayOptions_2; -// @public -export class GerritUrlReader implements UrlReader { - constructor( - integration: GerritIntegration, - deps: { - treeResponseFactory: ReadTreeResponseFactory; - }, - workDir: string, - ); - // (undocumented) - static factory: ReaderFactory; - // (undocumented) - read(url: string): Promise; - // (undocumented) - readTree(url: string, options?: ReadTreeOptions): Promise; - // (undocumented) - readUrl(url: string, options?: ReadUrlOptions): Promise; - // (undocumented) - search(): Promise; - // (undocumented) - toString(): string; -} +// Warning: (ae-forgotten-export) The symbol "GerritUrlReader_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export const GerritUrlReader: typeof GerritUrlReader_2; // @public @deprecated export function getRootLogger(): winston.Logger; @@ -457,94 +345,25 @@ export class Git { resolveRef(options: { dir: string; ref: string }): Promise; } -// @public -export class GiteaUrlReader implements UrlReader { - constructor( - integration: GiteaIntegration, - deps: { - treeResponseFactory: ReadTreeResponseFactory; - }, - ); - // (undocumented) - static factory: ReaderFactory; - // (undocumented) - read(url: string): Promise; - // (undocumented) - readTree(url: string, options?: ReadTreeOptions): Promise; - // (undocumented) - readUrl(url: string, options?: ReadUrlOptions): Promise; - // (undocumented) - search(): Promise; - // (undocumented) - toString(): string; -} +// Warning: (ae-forgotten-export) The symbol "GiteaUrlReader_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export const GiteaUrlReader: typeof GiteaUrlReader_2; -// @public -export class GithubUrlReader implements UrlReader { - constructor( - integration: GithubIntegration, - deps: { - treeResponseFactory: ReadTreeResponseFactory; - credentialsProvider: GithubCredentialsProvider; - }, - ); - // (undocumented) - static factory: ReaderFactory; - // (undocumented) - read(url: string): Promise; - // (undocumented) - readTree(url: string, options?: ReadTreeOptions): Promise; - // (undocumented) - readUrl(url: string, options?: ReadUrlOptions): Promise; - // (undocumented) - search(url: string, options?: SearchOptions): Promise; - // (undocumented) - toString(): string; -} +// Warning: (ae-forgotten-export) The symbol "GithubUrlReader_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export const GithubUrlReader: typeof GithubUrlReader_2; -// @public -export class GitlabUrlReader implements UrlReader { - constructor( - integration: GitLabIntegration, - deps: { - treeResponseFactory: ReadTreeResponseFactory; - }, - ); - // (undocumented) - static factory: ReaderFactory; - // (undocumented) - read(url: string): Promise; - // (undocumented) - readTree(url: string, options?: ReadTreeOptions): Promise; - // (undocumented) - readUrl(url: string, options?: ReadUrlOptions): Promise; - // (undocumented) - search(url: string, options?: SearchOptions): Promise; - // (undocumented) - toString(): string; -} +// Warning: (ae-forgotten-export) The symbol "GitlabUrlReader_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export const GitlabUrlReader: typeof GitlabUrlReader_2; -// @public -export class HarnessUrlReader implements UrlReader { - constructor( - integration: HarnessIntegration, - deps: { - treeResponseFactory: ReadTreeResponseFactory; - }, - ); - // (undocumented) - static factory: ReaderFactory; - // (undocumented) - read(url: string): Promise; - // (undocumented) - readTree(url: string, options?: ReadTreeOptions): Promise; - // (undocumented) - readUrl(url: string, options?: ReadUrlOptions): Promise; - // (undocumented) - search(): Promise; - // (undocumented) - toString(): string; -} +// Warning: (ae-forgotten-export) The symbol "HarnessUrlReader_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export const HarnessUrlReader: typeof HarnessUrlReader_2; // @public @deprecated export const HostDiscovery: typeof HostDiscovery_2; @@ -596,7 +415,7 @@ export const legacyPlugin: ( permissions: PermissionsService; scheduler: SchedulerService; tokenManager: TokenManager; - reader: UrlReader; + reader: UrlReaderService; identity: IdentityService; }, { @@ -677,73 +496,49 @@ export interface PullOptions { }; } -// @public -export type ReaderFactory = (options: { - config: Config; - logger: LoggerService; - treeResponseFactory: ReadTreeResponseFactory; -}) => UrlReaderPredicateTuple[]; +// Warning: (ae-forgotten-export) The symbol "ReaderFactory_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export type ReaderFactory = ReaderFactory_2; -export { ReadTreeOptions }; +// @public @deprecated (undocumented) +export type ReadTreeOptions = ReadTreeOptions_2; -export { ReadTreeResponse }; +// @public @deprecated (undocumented) +export type ReadTreeResponse = ReadTreeResponse_2; -export { ReadTreeResponseDirOptions }; +// @public @deprecated (undocumented) +export type ReadTreeResponseDirOptions = ReadTreeResponseDirOptions_2; -// @public -export interface ReadTreeResponseFactory { - // (undocumented) - fromReadableArray( - options: FromReadableArrayOptions, - ): Promise; - // (undocumented) - fromTarArchive( - options: ReadTreeResponseFactoryOptions & { - stripFirstDirectory?: boolean; - }, - ): Promise; - // (undocumented) - fromZipArchive( - options: ReadTreeResponseFactoryOptions, - ): Promise; -} +// Warning: (ae-forgotten-export) The symbol "ReadTreeResponseFactory_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export type ReadTreeResponseFactory = ReadTreeResponseFactory_2; -// @public -export type ReadTreeResponseFactoryOptions = { - stream: Readable; - subpath?: string; - etag: string; - filter?: ( - path: string, - info?: { - size: number; - }, - ) => boolean; -}; +// Warning: (ae-forgotten-export) The symbol "ReadTreeResponseFactoryOptions_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export type ReadTreeResponseFactoryOptions = ReadTreeResponseFactoryOptions_2; -export { ReadTreeResponseFile }; +// @public @deprecated (undocumented) +export type ReadTreeResponseFile = ReadTreeResponseFile_2; -export { ReadUrlOptions }; +// @public @deprecated (undocumented) +export type ReadUrlOptions = ReadUrlOptions_2; -export { ReadUrlResponse }; +// @public @deprecated (undocumented) +export type ReadUrlResponse = ReadUrlResponse_2; -// @public -export class ReadUrlResponseFactory { - static fromNodeJSReadable( - oldStyleStream: NodeJS.ReadableStream, - options?: ReadUrlResponseFactoryFromStreamOptions, - ): Promise; - static fromReadable( - stream: Readable, - options?: ReadUrlResponseFactoryFromStreamOptions, - ): Promise; -} +// Warning: (ae-forgotten-export) The symbol "ReadUrlResponseFactory_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export const ReadUrlResponseFactory: typeof ReadUrlResponseFactory_2; -// @public -export type ReadUrlResponseFactoryFromStreamOptions = { - etag?: string; - lastModifiedAt?: Date; -}; +// Warning: (ae-forgotten-export) The symbol "ReadUrlResponseFactoryFromStreamOptions_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export type ReadUrlResponseFactoryFromStreamOptions = + ReadUrlResponseFactoryFromStreamOptions_2; // @public export function redactWinstonLogLine( @@ -778,11 +573,14 @@ export type RunContainerOptions = { pullOptions?: PullOptions; }; -export { SearchOptions }; +// @public @deprecated (undocumented) +export type SearchOptions = SearchOptions_2; -export { SearchResponse }; +// @public @deprecated (undocumented) +export type SearchResponse = SearchResponse_2; -export { SearchResponseFile }; +// @public @deprecated (undocumented) +export type SearchResponseFile = SearchResponseFile_2; // @public export class ServerTokenManager implements TokenManager { @@ -861,26 +659,23 @@ export interface StatusCheckHandlerOptions { export { TokenManager }; -export { UrlReader }; +// @public @deprecated (undocumented) +export type UrlReader = UrlReaderService; -// @public -export type UrlReaderPredicateTuple = { - predicate: (url: URL) => boolean; - reader: UrlReader; -}; +// Warning: (ae-forgotten-export) The symbol "UrlReaderPredicateTuple_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export type UrlReaderPredicateTuple = UrlReaderPredicateTuple_2; -// @public -export class UrlReaders { - static create(options: UrlReadersOptions): UrlReader; - static default(options: UrlReadersOptions): UrlReader; -} +// Warning: (ae-forgotten-export) The symbol "UrlReaders_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export const UrlReaders: typeof UrlReaders_2; -// @public -export type UrlReadersOptions = { - config: Config; - logger: LoggerService; - factories?: ReaderFactory[]; -}; +// Warning: (ae-forgotten-export) The symbol "UrlReadersOptions_2" needs to be exported by the entry point index.d.ts +// +// @public @deprecated (undocumented) +export type UrlReadersOptions = UrlReadersOptions_2; // @public @deprecated export function useHotCleanup( diff --git a/packages/backend-common/src/reading/index.ts b/packages/backend-common/src/reading/index.ts index a99bb6dda1..0b037ed6c2 100644 --- a/packages/backend-common/src/reading/index.ts +++ b/packages/backend-common/src/reading/index.ts @@ -14,35 +14,207 @@ * limitations under the License. */ -export { AzureUrlReader } from './AzureUrlReader'; -export { BitbucketCloudUrlReader } from './BitbucketCloudUrlReader'; -export { BitbucketUrlReader } from './BitbucketUrlReader'; -export { BitbucketServerUrlReader } from './BitbucketServerUrlReader'; -export { GerritUrlReader } from './GerritUrlReader'; -export { GithubUrlReader } from './GithubUrlReader'; -export { GitlabUrlReader } from './GitlabUrlReader'; -export { GiteaUrlReader } from './GiteaUrlReader'; -export { HarnessUrlReader } from './HarnessUrlReader'; -export { AwsS3UrlReader } from './AwsS3UrlReader'; -export { FetchUrlReader } from './FetchUrlReader'; -export { ReadUrlResponseFactory } from './ReadUrlResponseFactory'; -export type { - FromReadableArrayOptions, - ReaderFactory, - ReadTreeOptions, - ReadTreeResponse, - ReadTreeResponseFactory, - ReadTreeResponseFile, - ReadTreeResponseDirOptions, - ReadTreeResponseFactoryOptions, - ReadUrlOptions, - ReadUrlResponse, - ReadUrlResponseFactoryFromStreamOptions, - SearchOptions, - SearchResponse, - SearchResponseFile, - UrlReader, - UrlReaderPredicateTuple, -} from './types'; -export { UrlReaders } from './UrlReaders'; -export type { UrlReadersOptions } from './UrlReaders'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { AzureUrlReader as _AzureUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/AzureUrlReader'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { BitbucketCloudUrlReader as _BitbucketCloudUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/BitbucketCloudUrlReader'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { BitbucketUrlReader as _BitbucketUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/BitbucketUrlReader'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { BitbucketServerUrlReader as _BitbucketServerUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/BitbucketServerUrlReader'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { GerritUrlReader as _GerritUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { GithubUrlReader as _GithubUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/GithubUrlReader'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { GitlabUrlReader as _GitlabUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { GiteaUrlReader as _GiteaUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/GiteaUrlReader'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { HarnessUrlReader as _HarnessUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/HarnessUrlReader'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { AwsS3UrlReader as _AwsS3UrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/AwsS3UrlReader'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { FetchUrlReader as _FetchUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/FetchUrlReader'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { UrlReaders as _UrlReaders } from '../../../backend-defaults/src/entrypoints/urlReader/lib/UrlReaders'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { ReadUrlResponseFactory as _ReadUrlResponseFactory } from '../../../backend-defaults/src/entrypoints/urlReader/lib/ReadUrlResponseFactory'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import type { UrlReadersOptions as _UrlReadersOptions } from '../../../backend-defaults/src/entrypoints/urlReader/lib/UrlReaders'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import type { FromReadableArrayOptions as _FromReadableArrayOptions } from '../../../backend-defaults/src/entrypoints/urlReader/lib/types'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import type { + ReaderFactory as _ReaderFactory, + ReadTreeResponseFactory as _ReadTreeResponseFactory, + ReadTreeResponseFactoryOptions as _ReadTreeResponseFactoryOptions, + ReadUrlResponseFactoryFromStreamOptions as _ReadUrlResponseFactoryFromStreamOptions, + UrlReaderPredicateTuple as _UrlReaderPredicateTuple, +} from '../../../backend-defaults/src/entrypoints/urlReader/lib/types'; + +import type { + ReadTreeOptions as _ReadTreeOptions, + ReadTreeResponse as _ReadTreeResponse, + ReadTreeResponseFile as _ReadTreeResponseFile, + ReadTreeResponseDirOptions as _ReadTreeResponseDirOptions, + ReadUrlOptions as _ReadUrlOptions, + ReadUrlResponse as _ReadUrlResponse, + SearchOptions as _SearchOptions, + SearchResponse as _SearchResponse, + SearchResponseFile as _SearchResponseFile, + UrlReaderService as _UrlReaderService, +} from '@backstage/backend-plugin-api'; + +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export const AzureUrlReader = _AzureUrlReader; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export const BitbucketCloudUrlReader = _BitbucketCloudUrlReader; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export const BitbucketUrlReader = _BitbucketUrlReader; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export const BitbucketServerUrlReader = _BitbucketServerUrlReader; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export const GerritUrlReader = _GerritUrlReader; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export const GithubUrlReader = _GithubUrlReader; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export const GitlabUrlReader = _GitlabUrlReader; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export const GiteaUrlReader = _GiteaUrlReader; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export const HarnessUrlReader = _HarnessUrlReader; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export const AwsS3UrlReader = _AwsS3UrlReader; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export const FetchUrlReader = _FetchUrlReader; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export const UrlReaders = _UrlReaders; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export const ReadUrlResponseFactory = _ReadUrlResponseFactory; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export type UrlReadersOptions = _UrlReadersOptions; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export type FromReadableArrayOptions = _FromReadableArrayOptions; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export type ReaderFactory = _ReaderFactory; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export type ReadTreeResponseFactory = _ReadTreeResponseFactory; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export type ReadTreeResponseFactoryOptions = _ReadTreeResponseFactoryOptions; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export type ReadUrlResponseFactoryFromStreamOptions = + _ReadUrlResponseFactoryFromStreamOptions; +/** + * @public + * @deprecated Import from `@backstage/backend-defaults/urlReader` instead + */ +export type UrlReaderPredicateTuple = _UrlReaderPredicateTuple; + +/** + * @public + * @deprecated Use `ÙrlReaderReadTreeOptions` from `@backstage/backend-plugin-api` instead + */ +export type ReadTreeOptions = _ReadTreeOptions; +/** + * @public + * @deprecated Use `ÙrlReaderReadTreeResponse` from `@backstage/backend-plugin-api` instead + */ +export type ReadTreeResponse = _ReadTreeResponse; +/** + * @public + * @deprecated Use `ÙrlReaderReadTreeResponseFile` from `@backstage/backend-plugin-api` instead + */ +export type ReadTreeResponseFile = _ReadTreeResponseFile; +/** + * @public + * @deprecated Use `ÙrlReaderReadTreeResponseDirOptions` from `@backstage/backend-plugin-api` instead + */ +export type ReadTreeResponseDirOptions = _ReadTreeResponseDirOptions; +/** + * @public + * @deprecated Use `ÙrlReaderReadUrlOptions` from `@backstage/backend-plugin-api` instead + */ +export type ReadUrlOptions = _ReadUrlOptions; +/** + * @public + * @deprecated Use `ÙrlReaderReadUrlResponse` from `@backstage/backend-plugin-api` instead + */ +export type ReadUrlResponse = _ReadUrlResponse; +/** + * @public + * @deprecated Use `ÙrlReaderSearchOptions` from `@backstage/backend-plugin-api` instead + */ +export type SearchOptions = _SearchOptions; +/** + * @public + * @deprecated Use `ÙrlReaderSearchResponse` from `@backstage/backend-plugin-api` instead + */ +export type SearchResponse = _SearchResponse; +/** + * @public + * @deprecated Use `ÙrlReaderSearchResponseFile` from `@backstage/backend-plugin-api` instead + */ +export type SearchResponseFile = _SearchResponseFile; +/** + * @public + * @deprecated Use `ÙrlReaderService` from `@backstage/backend-plugin-api` instead + */ +export type UrlReader = _UrlReaderService; diff --git a/packages/backend-defaults/api-report-urlReader.md b/packages/backend-defaults/api-report-urlReader.md index 8c7147bd7c..d9300d731a 100644 --- a/packages/backend-defaults/api-report-urlReader.md +++ b/packages/backend-defaults/api-report-urlReader.md @@ -3,11 +3,441 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +/// + +import { AwsCredentialsManager } from '@backstage/integration-aws-node'; +import { AwsS3Integration } from '@backstage/integration'; +import { AzureDevOpsCredentialsProvider } from '@backstage/integration'; +import { AzureIntegration } from '@backstage/integration'; +import { BitbucketCloudIntegration } from '@backstage/integration'; +import { BitbucketIntegration } from '@backstage/integration'; +import { BitbucketServerIntegration } from '@backstage/integration'; +import { Config } from '@backstage/config'; +import { GerritIntegration } from '@backstage/integration'; +import { GiteaIntegration } from '@backstage/integration'; +import { GithubCredentialsProvider } from '@backstage/integration'; +import { GithubIntegration } from '@backstage/integration'; +import { GitLabIntegration } from '@backstage/integration'; +import { HarnessIntegration } from '@backstage/integration'; +import { LoggerService } from '@backstage/backend-plugin-api'; +import { Readable } from 'stream'; import { ServiceFactory } from '@backstage/backend-plugin-api'; -import { UrlReader } from '@backstage/backend-common'; +import { UrlReaderReadTreeOptions } from '@backstage/backend-plugin-api'; +import { UrlReaderReadTreeResponse } from '@backstage/backend-plugin-api'; +import { UrlReaderReadUrlOptions } from '@backstage/backend-plugin-api'; +import { UrlReaderReadUrlResponse } from '@backstage/backend-plugin-api'; +import { UrlReaderSearchOptions } from '@backstage/backend-plugin-api'; +import { UrlReaderSearchResponse } from '@backstage/backend-plugin-api'; +import { UrlReaderService } from '@backstage/backend-plugin-api'; + +// @public +export class AwsS3UrlReader implements UrlReaderService { + constructor( + credsManager: AwsCredentialsManager, + integration: AwsS3Integration, + deps: { + treeResponseFactory: ReadTreeResponseFactory; + }, + ); + // (undocumented) + static factory: ReaderFactory; + // (undocumented) + read(url: string): Promise; + // (undocumented) + readTree( + url: string, + options?: UrlReaderReadTreeOptions, + ): Promise; + // (undocumented) + readUrl( + url: string, + options?: UrlReaderReadUrlOptions, + ): Promise; + // (undocumented) + search(): Promise; + // (undocumented) + toString(): string; +} + +// @public +export class AzureUrlReader implements UrlReaderService { + constructor( + integration: AzureIntegration, + deps: { + treeResponseFactory: ReadTreeResponseFactory; + credentialsProvider: AzureDevOpsCredentialsProvider; + }, + ); + // (undocumented) + static factory: ReaderFactory; + // (undocumented) + read(url: string): Promise; + // (undocumented) + readTree( + url: string, + options?: UrlReaderReadTreeOptions, + ): Promise; + // (undocumented) + readUrl( + url: string, + options?: UrlReaderReadUrlOptions, + ): Promise; + // (undocumented) + search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise; + // (undocumented) + toString(): string; +} + +// @public +export class BitbucketCloudUrlReader implements UrlReaderService { + constructor( + integration: BitbucketCloudIntegration, + deps: { + treeResponseFactory: ReadTreeResponseFactory; + }, + ); + // (undocumented) + static factory: ReaderFactory; + // (undocumented) + read(url: string): Promise; + // (undocumented) + readTree( + url: string, + options?: UrlReaderReadTreeOptions, + ): Promise; + // (undocumented) + readUrl( + url: string, + options?: UrlReaderReadUrlOptions, + ): Promise; + // (undocumented) + search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise; + // (undocumented) + toString(): string; +} + +// @public +export class BitbucketServerUrlReader implements UrlReaderService { + constructor( + integration: BitbucketServerIntegration, + deps: { + treeResponseFactory: ReadTreeResponseFactory; + }, + ); + // (undocumented) + static factory: ReaderFactory; + // (undocumented) + read(url: string): Promise; + // (undocumented) + readTree( + url: string, + options?: UrlReaderReadTreeOptions, + ): Promise; + // (undocumented) + readUrl( + url: string, + options?: UrlReaderReadUrlOptions, + ): Promise; + // (undocumented) + search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise; + // (undocumented) + toString(): string; +} + +// @public @deprecated +export class BitbucketUrlReader implements UrlReaderService { + constructor( + integration: BitbucketIntegration, + logger: LoggerService, + deps: { + treeResponseFactory: ReadTreeResponseFactory; + }, + ); + // (undocumented) + static factory: ReaderFactory; + // (undocumented) + read(url: string): Promise; + // (undocumented) + readTree( + url: string, + options?: UrlReaderReadTreeOptions, + ): Promise; + // (undocumented) + readUrl( + url: string, + options?: UrlReaderReadUrlOptions, + ): Promise; + // (undocumented) + search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise; + // (undocumented) + toString(): string; +} + +// @public +export class FetchUrlReader implements UrlReaderService { + static factory: ReaderFactory; + // (undocumented) + read(url: string): Promise; + // (undocumented) + readTree(): Promise; + // (undocumented) + readUrl( + url: string, + options?: UrlReaderReadUrlOptions, + ): Promise; + // (undocumented) + search(): Promise; + // (undocumented) + toString(): string; +} + +// @public +export type FromReadableArrayOptions = Array<{ + data: Readable; + path: string; + lastModifiedAt?: Date; +}>; + +// @public +export class GerritUrlReader implements UrlReaderService { + constructor( + integration: GerritIntegration, + deps: { + treeResponseFactory: ReadTreeResponseFactory; + }, + workDir: string, + ); + // (undocumented) + static factory: ReaderFactory; + // (undocumented) + read(url: string): Promise; + // (undocumented) + readTree( + url: string, + options?: UrlReaderReadTreeOptions, + ): Promise; + // (undocumented) + readUrl( + url: string, + options?: UrlReaderReadUrlOptions, + ): Promise; + // (undocumented) + search(): Promise; + // (undocumented) + toString(): string; +} + +// @public +export class GiteaUrlReader implements UrlReaderService { + constructor( + integration: GiteaIntegration, + deps: { + treeResponseFactory: ReadTreeResponseFactory; + }, + ); + // (undocumented) + static factory: ReaderFactory; + // (undocumented) + read(url: string): Promise; + // (undocumented) + readTree( + url: string, + options?: UrlReaderReadTreeOptions, + ): Promise; + // (undocumented) + readUrl( + url: string, + options?: UrlReaderReadUrlOptions, + ): Promise; + // (undocumented) + search(): Promise; + // (undocumented) + toString(): string; +} + +// @public +export class GithubUrlReader implements UrlReaderService { + constructor( + integration: GithubIntegration, + deps: { + treeResponseFactory: ReadTreeResponseFactory; + credentialsProvider: GithubCredentialsProvider; + }, + ); + // (undocumented) + static factory: ReaderFactory; + // (undocumented) + read(url: string): Promise; + // (undocumented) + readTree( + url: string, + options?: UrlReaderReadTreeOptions, + ): Promise; + // (undocumented) + readUrl( + url: string, + options?: UrlReaderReadUrlOptions, + ): Promise; + // (undocumented) + search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise; + // (undocumented) + toString(): string; +} + +// @public +export class GitlabUrlReader implements UrlReaderService { + constructor( + integration: GitLabIntegration, + deps: { + treeResponseFactory: ReadTreeResponseFactory; + }, + ); + // (undocumented) + static factory: ReaderFactory; + // (undocumented) + read(url: string): Promise; + // (undocumented) + readTree( + url: string, + options?: UrlReaderReadTreeOptions, + ): Promise; + // (undocumented) + readUrl( + url: string, + options?: UrlReaderReadUrlOptions, + ): Promise; + // (undocumented) + search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise; + // (undocumented) + toString(): string; +} + +// @public +export class HarnessUrlReader implements UrlReaderService { + constructor( + integration: HarnessIntegration, + deps: { + treeResponseFactory: ReadTreeResponseFactory; + }, + ); + // (undocumented) + static factory: ReaderFactory; + // (undocumented) + read(url: string): Promise; + // (undocumented) + readTree( + url: string, + options?: UrlReaderReadTreeOptions, + ): Promise; + // (undocumented) + readUrl( + url: string, + options?: UrlReaderReadUrlOptions, + ): Promise; + // (undocumented) + search(): Promise; + // (undocumented) + toString(): string; +} + +// @public +export type ReaderFactory = (options: { + config: Config; + logger: LoggerService; + treeResponseFactory: ReadTreeResponseFactory; +}) => UrlReaderPredicateTuple[]; + +// @public +export interface ReadTreeResponseFactory { + // (undocumented) + fromReadableArray( + options: FromReadableArrayOptions, + ): Promise; + // (undocumented) + fromTarArchive( + options: ReadTreeResponseFactoryOptions & { + stripFirstDirectory?: boolean; + }, + ): Promise; + // (undocumented) + fromZipArchive( + options: ReadTreeResponseFactoryOptions, + ): Promise; +} + +// @public +export type ReadTreeResponseFactoryOptions = { + stream: Readable; + subpath?: string; + etag: string; + filter?: ( + path: string, + info?: { + size: number; + }, + ) => boolean; +}; + +// @public +export class ReadUrlResponseFactory { + static fromNodeJSReadable( + oldStyleStream: NodeJS.ReadableStream, + options?: ReadUrlResponseFactoryFromStreamOptions, + ): Promise; + static fromReadable( + stream: Readable, + options?: ReadUrlResponseFactoryFromStreamOptions, + ): Promise; +} + +// @public +export type ReadUrlResponseFactoryFromStreamOptions = { + etag?: string; + lastModifiedAt?: Date; +}; + +// @public +export type UrlReaderPredicateTuple = { + predicate: (url: URL) => boolean; + reader: UrlReaderService; +}; + +// @public +export class UrlReaders { + static create(options: UrlReadersOptions): UrlReaderService; + static default(options: UrlReadersOptions): UrlReaderService; +} // @public (undocumented) -export const urlReaderServiceFactory: () => ServiceFactory; +export const urlReaderServiceFactory: () => ServiceFactory< + UrlReaderService, + 'plugin' +>; + +// @public +export type UrlReadersOptions = { + config: Config; + logger: LoggerService; + factories?: ReaderFactory[]; +}; // (No @packageDocumentation comment for this package) ``` diff --git a/packages/backend-defaults/package.json b/packages/backend-defaults/package.json index 505c8924ba..19d0781e7e 100644 --- a/packages/backend-defaults/package.json +++ b/packages/backend-defaults/package.json @@ -82,6 +82,11 @@ "test": "backstage-cli package test" }, "dependencies": { + "@aws-sdk/abort-controller": "^3.347.0", + "@aws-sdk/client-codecommit": "^3.350.0", + "@aws-sdk/client-s3": "^3.350.0", + "@aws-sdk/credential-providers": "^3.350.0", + "@aws-sdk/types": "^3.347.0", "@backstage/backend-app-api": "workspace:^", "@backstage/backend-common": "workspace:^", "@backstage/backend-dev-utils": "workspace:^", @@ -89,31 +94,48 @@ "@backstage/config": "workspace:^", "@backstage/config-loader": "workspace:^", "@backstage/errors": "workspace:^", + "@backstage/integration": "workspace:^", + "@backstage/integration-aws-node": "workspace:^", "@backstage/plugin-events-node": "workspace:^", "@backstage/plugin-permission-node": "workspace:^", "@backstage/types": "workspace:^", + "@google-cloud/storage": "^7.0.0", "@keyv/memcache": "^1.3.5", "@keyv/redis": "^2.5.3", + "@octokit/rest": "^19.0.3", "@opentelemetry/api": "^1.3.0", + "archiver": "^6.0.0", + "base64-stream": "^1.0.0", "better-sqlite3": "^9.0.0", + "concat-stream": "^2.0.0", "cron": "^3.0.0", "fs-extra": "^11.2.0", + "git-url-parse": "^14.0.0", + "isomorphic-git": "^1.23.0", "keyv": "^4.5.2", "knex": "^3.0.0", "lodash": "^4.17.21", "luxon": "^3.0.0", + "minimatch": "^9.0.0", "mysql2": "^3.0.0", + "node-fetch": "^2.6.7", "p-limit": "^3.1.0", "pg": "^8.11.3", "pg-connection-string": "^2.3.0", + "raw-body": "^2.4.1", + "tar": "^6.1.12", "uuid": "^9.0.0", + "yauzl": "^3.0.0", "yn": "^4.0.0", "zod": "^3.22.4" }, "devDependencies": { + "@aws-sdk/util-stream-node": "^3.350.0", "@backstage/backend-plugin-api": "workspace:^", "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", + "aws-sdk-client-mock": "^4.0.0", + "msw": "^1.0.0", "wait-for-expect": "^3.0.2" }, "configSchema": "config.d.ts" diff --git a/packages/backend-defaults/src/entrypoints/urlReader/index.ts b/packages/backend-defaults/src/entrypoints/urlReader/index.ts index 6a4b9f65be..cf927ea031 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/index.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/index.ts @@ -14,4 +14,5 @@ * limitations under the License. */ +export * from './lib'; export { urlReaderServiceFactory } from './urlReaderServiceFactory'; diff --git a/packages/backend-common/src/reading/AwsCodeCommitUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/AwsCodeCommitUrlReader.test.ts similarity index 100% rename from packages/backend-common/src/reading/AwsCodeCommitUrlReader.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/AwsCodeCommitUrlReader.test.ts diff --git a/packages/backend-common/src/reading/AwsCodeCommitUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/AwsCodeCommitUrlReader.ts similarity index 95% rename from packages/backend-common/src/reading/AwsCodeCommitUrlReader.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/AwsCodeCommitUrlReader.ts index fda8e4c3a0..f204d1390d 100644 --- a/packages/backend-common/src/reading/AwsCodeCommitUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/AwsCodeCommitUrlReader.ts @@ -14,16 +14,15 @@ * limitations under the License. */ +import { ReaderFactory, ReadTreeResponseFactory } from './types'; import { - ReaderFactory, - ReadTreeOptions, - ReadTreeResponse, - ReadTreeResponseFactory, - ReadUrlOptions, - ReadUrlResponse, - SearchResponse, - UrlReader, -} from './types'; + UrlReaderService, + UrlReaderReadTreeOptions, + UrlReaderReadTreeResponse, + UrlReaderReadUrlOptions, + UrlReaderReadUrlResponse, + UrlReaderSearchResponse, +} from '@backstage/backend-plugin-api'; import { AwsCredentialsManager, DefaultAwsCredentialsManager, @@ -118,7 +117,7 @@ export function parseUrl( * * @public */ -export class AwsCodeCommitUrlReader implements UrlReader { +export class AwsCodeCommitUrlReader implements UrlReaderService { static factory: ReaderFactory = ({ config, treeResponseFactory }) => { const integrations = ScmIntegrations.fromConfig(config); const credsManager = DefaultAwsCredentialsManager.fromConfig(config); @@ -222,8 +221,8 @@ export class AwsCodeCommitUrlReader implements UrlReader { async readUrl( url: string, - options?: ReadUrlOptions, - ): Promise { + options?: UrlReaderReadUrlOptions, + ): Promise { // etag and lastModifiedAfter are not supported by the CodeCommit API try { const { path, repositoryName, region, commitSpecifier } = parseUrl( @@ -326,8 +325,8 @@ export class AwsCodeCommitUrlReader implements UrlReader { async readTree( url: string, - options?: ReadTreeOptions, - ): Promise { + options?: UrlReaderReadTreeOptions, + ): Promise { // url: https://eu-west-1.console.aws.amazon.com/codesuite/codecommit/repositories/test-stijn-delete-techdocs/browse?region=eu-west-1 try { const { path, repositoryName, region, commitSpecifier } = parseUrl(url); @@ -380,7 +379,7 @@ export class AwsCodeCommitUrlReader implements UrlReader { } } - async search(): Promise { + async search(): Promise { throw new Error('AwsCodeCommitReader does not implement search'); } diff --git a/packages/backend-common/src/reading/AwsS3UrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/AwsS3UrlReader.test.ts similarity index 100% rename from packages/backend-common/src/reading/AwsS3UrlReader.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/AwsS3UrlReader.test.ts diff --git a/packages/backend-common/src/reading/AwsS3UrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/AwsS3UrlReader.ts similarity index 95% rename from packages/backend-common/src/reading/AwsS3UrlReader.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/AwsS3UrlReader.ts index 3ba4eebb48..b98b285f99 100644 --- a/packages/backend-common/src/reading/AwsS3UrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/AwsS3UrlReader.ts @@ -15,15 +15,14 @@ */ import { - ReaderFactory, - ReadTreeOptions, - ReadTreeResponse, - ReadTreeResponseFactory, - ReadUrlOptions, - ReadUrlResponse, - SearchResponse, - UrlReader, -} from './types'; + UrlReaderService, + UrlReaderReadTreeOptions, + UrlReaderReadTreeResponse, + UrlReaderReadUrlOptions, + UrlReaderReadUrlResponse, + UrlReaderSearchResponse, +} from '@backstage/backend-plugin-api'; +import { ReaderFactory, ReadTreeResponseFactory } from './types'; import { AwsCredentialsManager, DefaultAwsCredentialsManager, @@ -132,7 +131,7 @@ export function parseUrl( * * @public */ -export class AwsS3UrlReader implements UrlReader { +export class AwsS3UrlReader implements UrlReaderService { static factory: ReaderFactory = ({ config, treeResponseFactory }) => { const integrations = ScmIntegrations.fromConfig(config); const credsManager = DefaultAwsCredentialsManager.fromConfig(config); @@ -253,8 +252,8 @@ export class AwsS3UrlReader implements UrlReader { async readUrl( url: string, - options?: ReadUrlOptions, - ): Promise { + options?: UrlReaderReadUrlOptions, + ): Promise { const { etag, lastModifiedAfter } = options ?? {}; try { @@ -300,8 +299,8 @@ export class AwsS3UrlReader implements UrlReader { async readTree( url: string, - options?: ReadTreeOptions, - ): Promise { + options?: UrlReaderReadTreeOptions, + ): Promise { try { const { path, bucket, region } = parseUrl(url, this.integration.config); const s3Client = await this.buildS3Client( @@ -357,7 +356,7 @@ export class AwsS3UrlReader implements UrlReader { } } - async search(): Promise { + async search(): Promise { throw new Error('AwsS3Reader does not implement search'); } diff --git a/packages/backend-common/src/reading/AzureUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/AzureUrlReader.test.ts similarity index 100% rename from packages/backend-common/src/reading/AzureUrlReader.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/AzureUrlReader.test.ts diff --git a/packages/backend-common/src/reading/AzureUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/AzureUrlReader.ts similarity index 91% rename from packages/backend-common/src/reading/AzureUrlReader.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/AzureUrlReader.ts index 783736b639..b6945f11ea 100644 --- a/packages/backend-common/src/reading/AzureUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/AzureUrlReader.ts @@ -14,6 +14,15 @@ * limitations under the License. */ +import { + UrlReaderService, + UrlReaderReadTreeOptions, + UrlReaderReadTreeResponse, + UrlReaderReadUrlOptions, + UrlReaderReadUrlResponse, + UrlReaderSearchOptions, + UrlReaderSearchResponse, +} from '@backstage/backend-plugin-api'; import { getAzureCommitsUrl, getAzureDownloadUrl, @@ -27,17 +36,7 @@ import fetch, { Response } from 'node-fetch'; import { Minimatch } from 'minimatch'; import { Readable } from 'stream'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; -import { - ReadTreeResponseFactory, - ReaderFactory, - ReadTreeOptions, - ReadTreeResponse, - SearchOptions, - SearchResponse, - UrlReader, - ReadUrlOptions, - ReadUrlResponse, -} from './types'; +import { ReadTreeResponseFactory, ReaderFactory } from './types'; import { ReadUrlResponseFactory } from './ReadUrlResponseFactory'; /** @@ -45,7 +44,7 @@ import { ReadUrlResponseFactory } from './ReadUrlResponseFactory'; * * @public */ -export class AzureUrlReader implements UrlReader { +export class AzureUrlReader implements UrlReaderService { static factory: ReaderFactory = ({ config, treeResponseFactory }) => { const integrations = ScmIntegrations.fromConfig(config); const credentialProvider = @@ -75,8 +74,8 @@ export class AzureUrlReader implements UrlReader { async readUrl( url: string, - options?: ReadUrlOptions, - ): Promise { + options?: UrlReaderReadUrlOptions, + ): Promise { // TODO: etag is not implemented yet. const { signal } = options ?? {}; @@ -114,8 +113,8 @@ export class AzureUrlReader implements UrlReader { async readTree( url: string, - options?: ReadTreeOptions, - ): Promise { + options?: UrlReaderReadTreeOptions, + ): Promise { const { etag, filter, signal } = options ?? {}; // TODO: Support filepath based reading tree feature like other providers @@ -180,7 +179,10 @@ export class AzureUrlReader implements UrlReader { }); } - async search(url: string, options?: SearchOptions): Promise { + async search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise { const treeUrl = new URL(url); const path = treeUrl.searchParams.get('path'); diff --git a/packages/backend-common/src/reading/BitbucketCloudUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketCloudUrlReader.test.ts similarity index 100% rename from packages/backend-common/src/reading/BitbucketCloudUrlReader.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketCloudUrlReader.test.ts diff --git a/packages/backend-common/src/reading/BitbucketCloudUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketCloudUrlReader.ts similarity index 92% rename from packages/backend-common/src/reading/BitbucketCloudUrlReader.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketCloudUrlReader.ts index 93587cd6ae..5235215758 100644 --- a/packages/backend-common/src/reading/BitbucketCloudUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketCloudUrlReader.ts @@ -14,6 +14,15 @@ * limitations under the License. */ +import { + UrlReaderService, + UrlReaderReadTreeOptions, + UrlReaderReadTreeResponse, + UrlReaderReadUrlOptions, + UrlReaderReadUrlResponse, + UrlReaderSearchOptions, + UrlReaderSearchResponse, +} from '@backstage/backend-plugin-api'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; import { BitbucketCloudIntegration, @@ -28,17 +37,7 @@ import parseGitUrl from 'git-url-parse'; import { trimEnd } from 'lodash'; import { Minimatch } from 'minimatch'; import { Readable } from 'stream'; -import { - ReaderFactory, - ReadTreeOptions, - ReadTreeResponse, - ReadTreeResponseFactory, - ReadUrlOptions, - ReadUrlResponse, - SearchOptions, - SearchResponse, - UrlReader, -} from './types'; +import { ReaderFactory, ReadTreeResponseFactory } from './types'; import { ReadUrlResponseFactory } from './ReadUrlResponseFactory'; import { parseLastModified } from './util'; @@ -47,7 +46,7 @@ import { parseLastModified } from './util'; * * @public */ -export class BitbucketCloudUrlReader implements UrlReader { +export class BitbucketCloudUrlReader implements UrlReaderService { static factory: ReaderFactory = ({ config, treeResponseFactory }) => { const integrations = ScmIntegrations.fromConfig(config); return integrations.bitbucketCloud.list().map(integration => { @@ -79,8 +78,8 @@ export class BitbucketCloudUrlReader implements UrlReader { async readUrl( url: string, - options?: ReadUrlOptions, - ): Promise { + options?: UrlReaderReadUrlOptions, + ): Promise { const { etag, lastModifiedAfter, signal } = options ?? {}; const bitbucketUrl = getBitbucketCloudFileFetchUrl( url, @@ -134,8 +133,8 @@ export class BitbucketCloudUrlReader implements UrlReader { async readTree( url: string, - options?: ReadTreeOptions, - ): Promise { + options?: UrlReaderReadTreeOptions, + ): Promise { const { filepath } = parseGitUrl(url); const lastCommitShortHash = await this.getLastCommitShortHash(url); @@ -167,7 +166,10 @@ export class BitbucketCloudUrlReader implements UrlReader { }); } - async search(url: string, options?: SearchOptions): Promise { + async search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise { const { filepath } = parseGitUrl(url); const matcher = new Minimatch(filepath); diff --git a/packages/backend-common/src/reading/BitbucketServerUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketServerUrlReader.test.ts similarity index 100% rename from packages/backend-common/src/reading/BitbucketServerUrlReader.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketServerUrlReader.test.ts diff --git a/packages/backend-common/src/reading/BitbucketServerUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketServerUrlReader.ts similarity index 92% rename from packages/backend-common/src/reading/BitbucketServerUrlReader.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketServerUrlReader.ts index 8e2f1708c4..d539b006ed 100644 --- a/packages/backend-common/src/reading/BitbucketServerUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketServerUrlReader.ts @@ -14,6 +14,15 @@ * limitations under the License. */ +import { + UrlReaderService, + UrlReaderReadTreeOptions, + UrlReaderReadTreeResponse, + UrlReaderReadUrlOptions, + UrlReaderReadUrlResponse, + UrlReaderSearchOptions, + UrlReaderSearchResponse, +} from '@backstage/backend-plugin-api'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; import { BitbucketServerIntegration, @@ -27,17 +36,7 @@ import parseGitUrl from 'git-url-parse'; import { trimEnd } from 'lodash'; import { Minimatch } from 'minimatch'; import { Readable } from 'stream'; -import { - ReaderFactory, - ReadTreeOptions, - ReadTreeResponse, - ReadTreeResponseFactory, - ReadUrlOptions, - ReadUrlResponse, - SearchOptions, - SearchResponse, - UrlReader, -} from './types'; +import { ReaderFactory, ReadTreeResponseFactory } from './types'; import { ReadUrlResponseFactory } from './ReadUrlResponseFactory'; import { parseLastModified } from './util'; @@ -46,7 +45,7 @@ import { parseLastModified } from './util'; * * @public */ -export class BitbucketServerUrlReader implements UrlReader { +export class BitbucketServerUrlReader implements UrlReaderService { static factory: ReaderFactory = ({ config, treeResponseFactory }) => { const integrations = ScmIntegrations.fromConfig(config); return integrations.bitbucketServer.list().map(integration => { @@ -70,8 +69,8 @@ export class BitbucketServerUrlReader implements UrlReader { async readUrl( url: string, - options?: ReadUrlOptions, - ): Promise { + options?: UrlReaderReadUrlOptions, + ): Promise { const { etag, lastModifiedAfter, signal } = options ?? {}; const bitbucketUrl = getBitbucketServerFileFetchUrl( url, @@ -125,8 +124,8 @@ export class BitbucketServerUrlReader implements UrlReader { async readTree( url: string, - options?: ReadTreeOptions, - ): Promise { + options?: UrlReaderReadTreeOptions, + ): Promise { const { filepath } = parseGitUrl(url); const lastCommitShortHash = await this.getLastCommitShortHash(url); @@ -158,7 +157,10 @@ export class BitbucketServerUrlReader implements UrlReader { }); } - async search(url: string, options?: SearchOptions): Promise { + async search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise { const { filepath } = parseGitUrl(url); const matcher = new Minimatch(filepath); diff --git a/packages/backend-common/src/reading/BitbucketUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketUrlReader.test.ts similarity index 100% rename from packages/backend-common/src/reading/BitbucketUrlReader.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketUrlReader.test.ts diff --git a/packages/backend-common/src/reading/BitbucketUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketUrlReader.ts similarity index 93% rename from packages/backend-common/src/reading/BitbucketUrlReader.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketUrlReader.ts index 090fe9098d..7f831800d3 100644 --- a/packages/backend-common/src/reading/BitbucketUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketUrlReader.ts @@ -14,6 +14,15 @@ * limitations under the License. */ +import { + UrlReaderService, + UrlReaderReadTreeOptions, + UrlReaderReadTreeResponse, + UrlReaderReadUrlOptions, + UrlReaderReadUrlResponse, + UrlReaderSearchOptions, + UrlReaderSearchResponse, +} from '@backstage/backend-plugin-api'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; import { BitbucketIntegration, @@ -29,17 +38,7 @@ import { trimEnd } from 'lodash'; import { Minimatch } from 'minimatch'; import { Readable } from 'stream'; import { LoggerService } from '@backstage/backend-plugin-api'; -import { - ReaderFactory, - ReadTreeOptions, - ReadTreeResponse, - ReadTreeResponseFactory, - ReadUrlOptions, - ReadUrlResponse, - SearchOptions, - SearchResponse, - UrlReader, -} from './types'; +import { ReaderFactory, ReadTreeResponseFactory } from './types'; import { ReadUrlResponseFactory } from './ReadUrlResponseFactory'; import { parseLastModified } from './util'; @@ -50,7 +49,7 @@ import { parseLastModified } from './util'; * @public * @deprecated in favor of BitbucketCloudUrlReader and BitbucketServerUrlReader */ -export class BitbucketUrlReader implements UrlReader { +export class BitbucketUrlReader implements UrlReaderService { static factory: ReaderFactory = ({ config, logger, treeResponseFactory }) => { const integrations = ScmIntegrations.fromConfig(config); return integrations.bitbucket @@ -95,8 +94,8 @@ export class BitbucketUrlReader implements UrlReader { async readUrl( url: string, - options?: ReadUrlOptions, - ): Promise { + options?: UrlReaderReadUrlOptions, + ): Promise { const { etag, lastModifiedAfter, signal } = options ?? {}; const bitbucketUrl = getBitbucketFileFetchUrl(url, this.integration.config); const requestOptions = getBitbucketRequestOptions(this.integration.config); @@ -145,8 +144,8 @@ export class BitbucketUrlReader implements UrlReader { async readTree( url: string, - options?: ReadTreeOptions, - ): Promise { + options?: UrlReaderReadTreeOptions, + ): Promise { const { filepath } = parseGitUrl(url); const lastCommitShortHash = await this.getLastCommitShortHash(url); @@ -178,7 +177,10 @@ export class BitbucketUrlReader implements UrlReader { }); } - async search(url: string, options?: SearchOptions): Promise { + async search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise { const { filepath } = parseGitUrl(url); const matcher = new Minimatch(filepath); diff --git a/packages/backend-common/src/reading/FetchUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/FetchUrlReader.test.ts similarity index 100% rename from packages/backend-common/src/reading/FetchUrlReader.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/FetchUrlReader.test.ts diff --git a/packages/backend-common/src/reading/FetchUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/FetchUrlReader.ts similarity index 92% rename from packages/backend-common/src/reading/FetchUrlReader.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/FetchUrlReader.ts index 475a98ffdc..d62eaedc1a 100644 --- a/packages/backend-common/src/reading/FetchUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/FetchUrlReader.ts @@ -14,16 +14,16 @@ * limitations under the License. */ +import { + UrlReaderService, + UrlReaderReadTreeResponse, + UrlReaderReadUrlOptions, + UrlReaderReadUrlResponse, + UrlReaderSearchResponse, +} from '@backstage/backend-plugin-api'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; import fetch, { Response } from 'node-fetch'; -import { - ReaderFactory, - ReadTreeResponse, - ReadUrlOptions, - ReadUrlResponse, - SearchResponse, - UrlReader, -} from './types'; +import { ReaderFactory } from './types'; import path from 'path'; import { ReadUrlResponseFactory } from './ReadUrlResponseFactory'; import { parseLastModified } from './util'; @@ -68,7 +68,7 @@ const parsePortPredicate = (port: string | undefined) => { * * @public */ -export class FetchUrlReader implements UrlReader { +export class FetchUrlReader implements UrlReaderService { /** * The factory creates a single reader that will be used for reading any URL that's listed * in configuration at `backend.reading.allow`. The allow list contains a list of objects describing @@ -121,8 +121,8 @@ export class FetchUrlReader implements UrlReader { async readUrl( url: string, - options?: ReadUrlOptions, - ): Promise { + options?: UrlReaderReadUrlOptions, + ): Promise { let response: Response; try { response = await fetch(url, { @@ -165,11 +165,11 @@ export class FetchUrlReader implements UrlReader { throw new Error(message); } - async readTree(): Promise { + async readTree(): Promise { throw new Error('FetchUrlReader does not implement readTree'); } - async search(): Promise { + async search(): Promise { throw new Error('FetchUrlReader does not implement search'); } diff --git a/packages/backend-common/src/reading/GerritUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.test.ts similarity index 100% rename from packages/backend-common/src/reading/GerritUrlReader.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.test.ts diff --git a/packages/backend-common/src/reading/GerritUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.ts similarity index 93% rename from packages/backend-common/src/reading/GerritUrlReader.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.ts index 52a541382b..2274182e02 100644 --- a/packages/backend-common/src/reading/GerritUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.ts @@ -14,6 +14,14 @@ * limitations under the License. */ +import { + UrlReaderService, + UrlReaderReadTreeOptions, + UrlReaderReadTreeResponse, + UrlReaderReadUrlOptions, + UrlReaderReadUrlResponse, + UrlReaderSearchResponse, +} from '@backstage/backend-plugin-api'; import { Base64Decode } from 'base64-stream'; import concatStream from 'concat-stream'; import fs from 'fs-extra'; @@ -35,16 +43,7 @@ import { parseGerritJsonResponse, } from '@backstage/integration'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; -import { - ReadTreeOptions, - ReadTreeResponse, - ReadTreeResponseFactory, - ReadUrlOptions, - ReadUrlResponse, - ReaderFactory, - SearchResponse, - UrlReader, -} from './types'; +import { ReadTreeResponseFactory, ReaderFactory } from './types'; import { Git } from './git'; const pipeline = promisify(pipelineCb); @@ -78,7 +77,7 @@ const createTemporaryDirectory = async (workDir: string): Promise => * * @public */ -export class GerritUrlReader implements UrlReader { +export class GerritUrlReader implements UrlReaderService { static factory: ReaderFactory = ({ config, treeResponseFactory }) => { const integrations = ScmIntegrations.fromConfig(config); if (!integrations.gerrit) { @@ -121,8 +120,8 @@ export class GerritUrlReader implements UrlReader { async readUrl( url: string, - options?: ReadUrlOptions, - ): Promise { + options?: UrlReaderReadUrlOptions, + ): Promise { const apiUrl = getGerritFileContentsApiUrl(this.integration.config, url); let response: Response; try { @@ -166,8 +165,8 @@ export class GerritUrlReader implements UrlReader { async readTree( url: string, - options?: ReadTreeOptions, - ): Promise { + options?: UrlReaderReadTreeOptions, + ): Promise { const apiUrl = getGerritBranchApiUrl(this.integration.config, url); let response: Response; try { @@ -203,7 +202,7 @@ export class GerritUrlReader implements UrlReader { return this.readTreeFromGitClone(url, branchInfo.revision, options); } - async search(): Promise { + async search(): Promise { throw new Error('GerritReader does not implement search'); } @@ -215,7 +214,7 @@ export class GerritUrlReader implements UrlReader { private async readTreeFromGitClone( url: string, revision: string, - options?: ReadTreeOptions, + options?: UrlReaderReadTreeOptions, ) { const { filePath } = parseGerritGitilesUrl(this.integration.config, url); @@ -258,7 +257,7 @@ export class GerritUrlReader implements UrlReader { private async readTreeFromGitiles( url: string, revision: string, - options?: ReadTreeOptions, + options?: UrlReaderReadTreeOptions, ) { const { branch, filePath, project } = parseGerritGitilesUrl( this.integration.config, diff --git a/packages/backend-common/src/reading/GiteaUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GiteaUrlReader.test.ts similarity index 100% rename from packages/backend-common/src/reading/GiteaUrlReader.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/GiteaUrlReader.test.ts diff --git a/packages/backend-common/src/reading/GiteaUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GiteaUrlReader.ts similarity index 90% rename from packages/backend-common/src/reading/GiteaUrlReader.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/GiteaUrlReader.ts index c8fab45157..da1b30ab6b 100644 --- a/packages/backend-common/src/reading/GiteaUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GiteaUrlReader.ts @@ -13,6 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +import { + UrlReaderService, + UrlReaderReadTreeOptions, + UrlReaderReadTreeResponse, + UrlReaderReadUrlOptions, + UrlReaderReadUrlResponse, + UrlReaderSearchResponse, +} from '@backstage/backend-plugin-api'; import { getGiteaFileContentsUrl, getGiteaArchiveUrl, @@ -22,16 +31,7 @@ import { GiteaIntegration, ScmIntegrations, } from '@backstage/integration'; -import { - ReaderFactory, - ReadTreeOptions, - ReadTreeResponse, - ReadTreeResponseFactory, - ReadUrlOptions, - ReadUrlResponse, - SearchResponse, - UrlReader, -} from './types'; +import { ReaderFactory, ReadTreeResponseFactory } from './types'; import fetch, { Response } from 'node-fetch'; import { ReadUrlResponseFactory } from './ReadUrlResponseFactory'; import { @@ -47,7 +47,7 @@ import { parseLastModified } from './util'; * * @public */ -export class GiteaUrlReader implements UrlReader { +export class GiteaUrlReader implements UrlReaderService { static factory: ReaderFactory = ({ config, treeResponseFactory }) => { return ScmIntegrations.fromConfig(config) .gitea.list() @@ -74,8 +74,8 @@ export class GiteaUrlReader implements UrlReader { async readUrl( url: string, - options?: ReadUrlOptions, - ): Promise { + options?: UrlReaderReadUrlOptions, + ): Promise { let response: Response; const blobUrl = getGiteaFileContentsUrl(this.integration.config, url); @@ -126,8 +126,8 @@ export class GiteaUrlReader implements UrlReader { async readTree( url: string, - options?: ReadTreeOptions, - ): Promise { + options?: UrlReaderReadTreeOptions, + ): Promise { const lastCommitHash = await this.getLastCommitHash(url); if (options?.etag && options.etag === lastCommitHash) { throw new NotModifiedError(); @@ -156,7 +156,7 @@ export class GiteaUrlReader implements UrlReader { }); } - search(): Promise { + search(): Promise { throw new Error('GiteaUrlReader search not implemented.'); } diff --git a/packages/backend-common/src/reading/GithubUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GithubUrlReader.test.ts similarity index 100% rename from packages/backend-common/src/reading/GithubUrlReader.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/GithubUrlReader.test.ts diff --git a/packages/backend-common/src/reading/GithubUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GithubUrlReader.ts similarity index 93% rename from packages/backend-common/src/reading/GithubUrlReader.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/GithubUrlReader.ts index b49945013d..60e9b210cd 100644 --- a/packages/backend-common/src/reading/GithubUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GithubUrlReader.ts @@ -14,6 +14,16 @@ * limitations under the License. */ +import { + UrlReaderService, + UrlReaderReadTreeOptions, + UrlReaderReadTreeResponse, + UrlReaderReadUrlOptions, + UrlReaderReadUrlResponse, + UrlReaderSearchOptions, + UrlReaderSearchResponse, + UrlReaderSearchResponseFile, +} from '@backstage/backend-plugin-api'; import { getGithubFileFetchUrl, DefaultGithubCredentialsProvider, @@ -28,18 +38,7 @@ import parseGitUrl from 'git-url-parse'; import { Minimatch } from 'minimatch'; import { Readable } from 'stream'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; -import { - ReadTreeResponseFactory, - ReaderFactory, - ReadTreeOptions, - ReadTreeResponse, - SearchOptions, - SearchResponse, - SearchResponseFile, - UrlReader, - ReadUrlOptions, - ReadUrlResponse, -} from './types'; +import { ReadTreeResponseFactory, ReaderFactory } from './types'; import { ReadUrlResponseFactory } from './ReadUrlResponseFactory'; import { parseLastModified } from './util'; @@ -58,7 +57,7 @@ export type GhBlobResponse = * * @public */ -export class GithubUrlReader implements UrlReader { +export class GithubUrlReader implements UrlReaderService { static factory: ReaderFactory = ({ config, treeResponseFactory }) => { const integrations = ScmIntegrations.fromConfig(config); const credentialsProvider = @@ -113,8 +112,8 @@ export class GithubUrlReader implements UrlReader { async readUrl( url: string, - options?: ReadUrlOptions, - ): Promise { + options?: UrlReaderReadUrlOptions, + ): Promise { const credentials = await this.getCredentials(url, options); const ghUrl = getGithubFileFetchUrl( @@ -149,8 +148,8 @@ export class GithubUrlReader implements UrlReader { async readTree( url: string, - options?: ReadTreeOptions, - ): Promise { + options?: UrlReaderReadTreeOptions, + ): Promise { const repoDetails = await this.getRepoDetails(url); const commitSha = repoDetails.commitSha; @@ -176,7 +175,10 @@ export class GithubUrlReader implements UrlReader { ); } - async search(url: string, options?: SearchOptions): Promise { + async search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise { const repoDetails = await this.getRepoDetails(url); const commitSha = repoDetails.commitSha; @@ -209,8 +211,8 @@ export class GithubUrlReader implements UrlReader { sha: string, subpath: string, init: RequestInit, - options?: ReadTreeOptions, - ): Promise { + options?: UrlReaderReadTreeOptions, + ): Promise { // archive_url looks like "https://api.github.com/repos/owner/repo/{archive_format}{/ref}" const archive = await this.fetchResponse( archiveUrl @@ -236,7 +238,7 @@ export class GithubUrlReader implements UrlReader { sha: string, query: string, init: RequestInit, - ): Promise { + ): Promise { function pathToUrl(path: string): string { // TODO(freben): Use the integration package facility for this instead // pathname starts as /backstage/backstage/blob/master/ diff --git a/packages/backend-common/src/reading/GitlabUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader.test.ts similarity index 100% rename from packages/backend-common/src/reading/GitlabUrlReader.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader.test.ts diff --git a/packages/backend-common/src/reading/GitlabUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader.ts similarity index 95% rename from packages/backend-common/src/reading/GitlabUrlReader.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader.ts index 178e65b40a..b45a61a40e 100644 --- a/packages/backend-common/src/reading/GitlabUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader.ts @@ -14,6 +14,15 @@ * limitations under the License. */ +import { + UrlReaderService, + UrlReaderReadTreeOptions, + UrlReaderReadTreeResponse, + UrlReaderReadUrlOptions, + UrlReaderReadUrlResponse, + UrlReaderSearchOptions, + UrlReaderSearchResponse, +} from '@backstage/backend-plugin-api'; import { getGitLabFileFetchUrl, getGitLabIntegrationRelativePath, @@ -26,17 +35,7 @@ import parseGitUrl from 'git-url-parse'; import { Minimatch } from 'minimatch'; import { Readable } from 'stream'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; -import { - ReadTreeResponseFactory, - ReaderFactory, - ReadTreeOptions, - ReadTreeResponse, - SearchOptions, - SearchResponse, - UrlReader, - ReadUrlResponse, - ReadUrlOptions, -} from './types'; +import { ReadTreeResponseFactory, ReaderFactory } from './types'; import { trimEnd, trimStart } from 'lodash'; import { ReadUrlResponseFactory } from './ReadUrlResponseFactory'; import { parseLastModified } from './util'; @@ -46,7 +45,7 @@ import { parseLastModified } from './util'; * * @public */ -export class GitlabUrlReader implements UrlReader { +export class GitlabUrlReader implements UrlReaderService { static factory: ReaderFactory = ({ config, treeResponseFactory }) => { const integrations = ScmIntegrations.fromConfig(config); return integrations.gitlab.list().map(integration => { @@ -70,8 +69,8 @@ export class GitlabUrlReader implements UrlReader { async readUrl( url: string, - options?: ReadUrlOptions, - ): Promise { + options?: UrlReaderReadUrlOptions, + ): Promise { const { etag, lastModifiedAfter, signal } = options ?? {}; const builtUrl = await this.getGitlabFetchUrl(url); @@ -119,8 +118,8 @@ export class GitlabUrlReader implements UrlReader { async readTree( url: string, - options?: ReadTreeOptions, - ): Promise { + options?: UrlReaderReadTreeOptions, + ): Promise { const { etag, signal } = options ?? {}; const { ref, full_name, filepath } = parseGitUrl(url); @@ -236,7 +235,10 @@ export class GitlabUrlReader implements UrlReader { }); } - async search(url: string, options?: SearchOptions): Promise { + async search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise { const { filepath } = parseGitUrl(url); const staticPart = this.getStaticPart(filepath); const matcher = new Minimatch(filepath); diff --git a/packages/backend-common/src/reading/GoogleGcsUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.test.ts similarity index 95% rename from packages/backend-common/src/reading/GoogleGcsUrlReader.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.test.ts index bc31818d23..318b134aa4 100644 --- a/packages/backend-common/src/reading/GoogleGcsUrlReader.test.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.test.ts @@ -19,7 +19,7 @@ import { JsonObject } from '@backstage/types'; import { DefaultReadTreeResponseFactory } from './tree'; import { GoogleGcsUrlReader } from './GoogleGcsUrlReader'; import { UrlReaderPredicateTuple } from './types'; -import packageinfo from '../../package.json'; +import packageinfo from '@backstage/backend-defaults/package.json'; import { mockServices } from '@backstage/backend-test-utils'; const bucketGetFilesMock = jest.fn(); @@ -80,7 +80,7 @@ describe('GcsUrlReader', () => { }); it('check if userAgent has been called with this key value', async () => { const getStorage: any = { - userAgent: `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`, + userAgent: `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`, }; jest.mock('@google-cloud/storage', () => { return { @@ -89,7 +89,7 @@ describe('GcsUrlReader', () => { }); const getUserAgent = getStorage.userAgent.toString(); expect(getUserAgent).toBe( - `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`, + `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`, ); }); diff --git a/packages/backend-common/src/reading/GoogleGcsUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts similarity index 84% rename from packages/backend-common/src/reading/GoogleGcsUrlReader.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts index 9cf6bbcd61..124461ff80 100644 --- a/packages/backend-common/src/reading/GoogleGcsUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts @@ -14,15 +14,15 @@ * limitations under the License. */ -import { Storage } from '@google-cloud/storage'; import { - ReaderFactory, - ReadTreeResponse, - ReadUrlOptions, - ReadUrlResponse, - SearchResponse, - UrlReader, -} from './types'; + UrlReaderService, + UrlReaderReadTreeResponse, + UrlReaderReadUrlOptions, + UrlReaderReadUrlResponse, + UrlReaderSearchResponse, +} from '@backstage/backend-plugin-api'; +import { Storage } from '@google-cloud/storage'; +import { ReaderFactory } from './types'; import getRawBody from 'raw-body'; import { GoogleGcsIntegrationConfig, @@ -30,7 +30,7 @@ import { } from '@backstage/integration'; import { Readable } from 'stream'; import { ReadUrlResponseFactory } from './ReadUrlResponseFactory'; -import packageinfo from '../../package.json'; +import packageinfo from '@backstage/backend-defaults/package.json'; const GOOGLE_GCS_HOST = 'storage.cloud.google.com'; @@ -56,7 +56,7 @@ const parseURL = ( * * @public */ -export class GoogleGcsUrlReader implements UrlReader { +export class GoogleGcsUrlReader implements UrlReaderService { static factory: ReaderFactory = ({ config, logger }) => { if (!config.has('integrations.googleGcs')) { return []; @@ -70,7 +70,7 @@ export class GoogleGcsUrlReader implements UrlReader { 'googleGcs credentials not found in config. Using default credentials provider.', ); storage = new Storage({ - userAgent: `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`, + userAgent: `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`, }); } else { storage = new Storage({ @@ -78,7 +78,7 @@ export class GoogleGcsUrlReader implements UrlReader { client_email: gcsConfig.clientEmail || undefined, private_key: gcsConfig.privateKey || undefined, }, - userAgent: `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`, + userAgent: `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`, }); } const reader = new GoogleGcsUrlReader(gcsConfig, storage); @@ -106,18 +106,18 @@ export class GoogleGcsUrlReader implements UrlReader { async readUrl( url: string, - _options?: ReadUrlOptions, - ): Promise { + _options?: UrlReaderReadUrlOptions, + ): Promise { // TODO etag is not implemented yet. const stream = this.readStreamFromUrl(url); return ReadUrlResponseFactory.fromReadable(stream); } - async readTree(): Promise { + async readTree(): Promise { throw new Error('GcsUrlReader does not implement readTree'); } - async search(url: string): Promise { + async search(url: string): Promise { const { bucket, key: pattern } = parseURL(url); if (!pattern.endsWith('*') || pattern.indexOf('*') !== pattern.length - 1) { diff --git a/packages/backend-common/src/reading/HarnessUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/HarnessUrlReader.test.ts similarity index 100% rename from packages/backend-common/src/reading/HarnessUrlReader.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/HarnessUrlReader.test.ts diff --git a/packages/backend-common/src/reading/HarnessUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/HarnessUrlReader.ts similarity index 90% rename from packages/backend-common/src/reading/HarnessUrlReader.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/HarnessUrlReader.ts index 76ad882d80..23b5284b43 100644 --- a/packages/backend-common/src/reading/HarnessUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/HarnessUrlReader.ts @@ -13,6 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +import { + UrlReaderService, + UrlReaderReadTreeResponse, + UrlReaderReadUrlOptions, + UrlReaderReadUrlResponse, + UrlReaderSearchResponse, + UrlReaderReadTreeOptions, +} from '@backstage/backend-plugin-api'; import { getHarnessRequestOptions, getHarnessFileContentsUrl, @@ -22,16 +31,7 @@ import { getHarnessArchiveUrl, parseHarnessUrl, } from '@backstage/integration'; -import { - ReaderFactory, - ReadTreeOptions, - ReadTreeResponse, - SearchResponse, - ReadTreeResponseFactory, - ReadUrlOptions, - ReadUrlResponse, - UrlReader, -} from './types'; +import { ReadTreeResponseFactory, ReaderFactory } from './types'; import fetch, { Response } from 'node-fetch'; import { ReadUrlResponseFactory } from './ReadUrlResponseFactory'; import { @@ -47,7 +47,7 @@ import { Readable } from 'stream'; * * @public */ -export class HarnessUrlReader implements UrlReader { +export class HarnessUrlReader implements UrlReaderService { static factory: ReaderFactory = ({ config, treeResponseFactory }) => { return ScmIntegrations.fromConfig(config) .harness.list() @@ -75,8 +75,8 @@ export class HarnessUrlReader implements UrlReader { async readUrl( url: string, - options?: ReadUrlOptions, - ): Promise { + options?: UrlReaderReadUrlOptions, + ): Promise { let response: Response; const blobUrl = getHarnessFileContentsUrl(this.integration.config, url); @@ -123,8 +123,8 @@ export class HarnessUrlReader implements UrlReader { async readTree( url: string, - options?: ReadTreeOptions, - ): Promise { + options?: UrlReaderReadTreeOptions, + ): Promise { const lastCommitHash = await this.getLastCommitHash(url); if (options?.etag && options.etag === lastCommitHash) { @@ -153,7 +153,8 @@ export class HarnessUrlReader implements UrlReader { filter: options?.filter, }); } - search(): Promise { + + search(): Promise { throw new Error('HarnessUrlReader search not implemented.'); } diff --git a/packages/backend-common/src/reading/ReadUrlResponseFactory.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/ReadUrlResponseFactory.test.ts similarity index 100% rename from packages/backend-common/src/reading/ReadUrlResponseFactory.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/ReadUrlResponseFactory.test.ts diff --git a/packages/backend-common/src/reading/ReadUrlResponseFactory.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/ReadUrlResponseFactory.ts similarity index 91% rename from packages/backend-common/src/reading/ReadUrlResponseFactory.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/ReadUrlResponseFactory.ts index 5eb4b2f5bc..805008c34e 100644 --- a/packages/backend-common/src/reading/ReadUrlResponseFactory.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/ReadUrlResponseFactory.ts @@ -15,12 +15,10 @@ */ import { ConflictError } from '@backstage/errors'; +import { UrlReaderReadUrlResponse } from '@backstage/backend-plugin-api'; import getRawBody from 'raw-body'; import { Readable } from 'stream'; -import { - ReadUrlResponse, - ReadUrlResponseFactoryFromStreamOptions, -} from './types'; +import { ReadUrlResponseFactoryFromStreamOptions } from './types'; /** * Utility class for UrlReader implementations to create valid ReadUrlResponse @@ -35,7 +33,7 @@ export class ReadUrlResponseFactory { static async fromReadable( stream: Readable, options?: ReadUrlResponseFactoryFromStreamOptions, - ): Promise { + ): Promise { // Reference to eventual buffer enables callers to call buffer() multiple // times without consequence. let buffer: Promise; @@ -71,7 +69,7 @@ export class ReadUrlResponseFactory { static async fromNodeJSReadable( oldStyleStream: NodeJS.ReadableStream, options?: ReadUrlResponseFactoryFromStreamOptions, - ): Promise { + ): Promise { const readable = Readable.from(oldStyleStream); return ReadUrlResponseFactory.fromReadable(readable, options); } diff --git a/packages/backend-common/src/reading/UrlReaderPredicateMux.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/UrlReaderPredicateMux.test.ts similarity index 100% rename from packages/backend-common/src/reading/UrlReaderPredicateMux.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/UrlReaderPredicateMux.test.ts diff --git a/packages/backend-common/src/reading/UrlReaderPredicateMux.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/UrlReaderPredicateMux.ts similarity index 74% rename from packages/backend-common/src/reading/UrlReaderPredicateMux.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/UrlReaderPredicateMux.ts index a7c2e5f983..b6db60af0a 100644 --- a/packages/backend-common/src/reading/UrlReaderPredicateMux.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/UrlReaderPredicateMux.ts @@ -14,17 +14,17 @@ * limitations under the License. */ -import { NotAllowedError } from '@backstage/errors'; import { - ReadTreeOptions, - ReadTreeResponse, - ReadUrlOptions, - ReadUrlResponse, - SearchOptions, - SearchResponse, - UrlReader, - UrlReaderPredicateTuple, -} from './types'; + UrlReaderReadTreeOptions, + UrlReaderReadTreeResponse, + UrlReaderReadUrlOptions, + UrlReaderReadUrlResponse, + UrlReaderSearchOptions, + UrlReaderSearchResponse, + UrlReaderService, +} from '@backstage/backend-plugin-api'; +import { NotAllowedError } from '@backstage/errors'; +import { UrlReaderPredicateTuple } from './types'; function notAllowedMessage(url: string) { return ( @@ -35,10 +35,10 @@ function notAllowedMessage(url: string) { } /** - * A UrlReader implementation that selects from a set of UrlReaders + * A UrlReaderService implementation that selects from a set of readers * based on a predicate tied to each reader. */ -export class UrlReaderPredicateMux implements UrlReader { +export class UrlReaderPredicateMux implements UrlReaderService { private readonly readers: UrlReaderPredicateTuple[] = []; register(tuple: UrlReaderPredicateTuple): void { @@ -47,8 +47,8 @@ export class UrlReaderPredicateMux implements UrlReader { async readUrl( url: string, - options?: ReadUrlOptions, - ): Promise { + options?: UrlReaderReadUrlOptions, + ): Promise { const parsed = new URL(url); for (const { predicate, reader } of this.readers) { @@ -62,8 +62,8 @@ export class UrlReaderPredicateMux implements UrlReader { async readTree( url: string, - options?: ReadTreeOptions, - ): Promise { + options?: UrlReaderReadTreeOptions, + ): Promise { const parsed = new URL(url); for (const { predicate, reader } of this.readers) { @@ -75,7 +75,10 @@ export class UrlReaderPredicateMux implements UrlReader { throw new NotAllowedError(notAllowedMessage(url)); } - async search(url: string, options?: SearchOptions): Promise { + async search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise { const parsed = new URL(url); for (const { predicate, reader } of this.readers) { diff --git a/packages/backend-common/src/reading/UrlReaders.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/UrlReaders.ts similarity index 94% rename from packages/backend-common/src/reading/UrlReaders.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/UrlReaders.ts index 7aaaf120b4..cb496dd702 100644 --- a/packages/backend-common/src/reading/UrlReaders.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/UrlReaders.ts @@ -14,9 +14,9 @@ * limitations under the License. */ -import { LoggerService } from '@backstage/backend-plugin-api'; +import { LoggerService, UrlReaderService } from '@backstage/backend-plugin-api'; import { Config } from '@backstage/config'; -import { ReaderFactory, UrlReader } from './types'; +import { ReaderFactory } from './types'; import { UrlReaderPredicateMux } from './UrlReaderPredicateMux'; import { AzureUrlReader } from './AzureUrlReader'; import { BitbucketCloudUrlReader } from './BitbucketCloudUrlReader'; @@ -56,7 +56,7 @@ export class UrlReaders { /** * Creates a custom {@link @backstage/backend-plugin-api#UrlReaderService} wrapper for your own set of factories. */ - static create(options: UrlReadersOptions): UrlReader { + static create(options: UrlReadersOptions): UrlReaderService { const { logger, config, factories } = options; const mux = new UrlReaderPredicateMux(); const treeResponseFactory = DefaultReadTreeResponseFactory.create({ diff --git a/packages/backend-common/src/reading/__fixtures__/awsCodeCommit/awsCodeCommit-mock-object.yaml b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/awsCodeCommit/awsCodeCommit-mock-object.yaml similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/awsCodeCommit/awsCodeCommit-mock-object.yaml rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/awsCodeCommit/awsCodeCommit-mock-object.yaml diff --git a/packages/backend-common/src/reading/__fixtures__/awsCodeCommit/subFolder/awsCodeCommit-mock-object2.yaml b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/awsCodeCommit/subFolder/awsCodeCommit-mock-object2.yaml similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/awsCodeCommit/subFolder/awsCodeCommit-mock-object2.yaml rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/awsCodeCommit/subFolder/awsCodeCommit-mock-object2.yaml diff --git a/packages/backend-common/src/reading/__fixtures__/awsS3/awsS3-mock-object.yaml b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/awsS3/awsS3-mock-object.yaml similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/awsS3/awsS3-mock-object.yaml rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/awsS3/awsS3-mock-object.yaml diff --git a/packages/backend-common/src/reading/__fixtures__/awsS3/awsS3-mock-object2.yaml b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/awsS3/awsS3-mock-object2.yaml similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/awsS3/awsS3-mock-object2.yaml rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/awsS3/awsS3-mock-object2.yaml diff --git a/packages/backend-common/src/reading/__fixtures__/awsS3/awsS3-mock-object3.yaml b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/awsS3/awsS3-mock-object3.yaml similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/awsS3/awsS3-mock-object3.yaml rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/awsS3/awsS3-mock-object3.yaml diff --git a/packages/backend-common/src/reading/__fixtures__/backstage-mock-etag123.tar.gz b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/backstage-mock-etag123.tar.gz similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/backstage-mock-etag123.tar.gz rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/backstage-mock-etag123.tar.gz diff --git a/packages/backend-common/src/reading/__fixtures__/bitbucket-repo-with-commit-hash.tar.gz b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/bitbucket-repo-with-commit-hash.tar.gz similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/bitbucket-repo-with-commit-hash.tar.gz rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/bitbucket-repo-with-commit-hash.tar.gz diff --git a/packages/backend-common/src/reading/__fixtures__/bitbucket-server-repo.tar.gz b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/bitbucket-server-repo.tar.gz similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/bitbucket-server-repo.tar.gz rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/bitbucket-server-repo.tar.gz diff --git a/packages/backend-common/src/reading/__fixtures__/gerrit/branch-info-response.txt b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/gerrit/branch-info-response.txt similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/gerrit/branch-info-response.txt rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/gerrit/branch-info-response.txt diff --git a/packages/backend-common/src/reading/__fixtures__/gerrit/gerrit-master-docs.tar.gz b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/gerrit/gerrit-master-docs.tar.gz similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/gerrit/gerrit-master-docs.tar.gz rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/gerrit/gerrit-master-docs.tar.gz diff --git a/packages/backend-common/src/reading/__fixtures__/gerrit/gerrit-master.tar.gz b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/gerrit/gerrit-master.tar.gz similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/gerrit/gerrit-master.tar.gz rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/gerrit/gerrit-master.tar.gz diff --git a/packages/backend-common/src/reading/__fixtures__/gitlab-archive.tar.gz b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/gitlab-archive.tar.gz similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/gitlab-archive.tar.gz rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/gitlab-archive.tar.gz diff --git a/packages/backend-common/src/reading/__fixtures__/gitlab-archive.zip b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/gitlab-archive.zip similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/gitlab-archive.zip rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/gitlab-archive.zip diff --git a/packages/backend-common/src/reading/__fixtures__/gitlab-subpath-archive.tar.gz b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/gitlab-subpath-archive.tar.gz similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/gitlab-subpath-archive.tar.gz rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/gitlab-subpath-archive.tar.gz diff --git a/packages/backend-common/src/reading/__fixtures__/mallory.zip b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/mallory.zip similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/mallory.zip rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/mallory.zip diff --git a/packages/backend-common/src/reading/__fixtures__/mock-corrupted.zip b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/mock-corrupted.zip similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/mock-corrupted.zip rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/mock-corrupted.zip diff --git a/packages/backend-common/src/reading/__fixtures__/mock-main.tar.gz b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/mock-main.tar.gz similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/mock-main.tar.gz rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/mock-main.tar.gz diff --git a/packages/backend-common/src/reading/__fixtures__/mock-main.zip b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/mock-main.zip similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/mock-main.zip rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/mock-main.zip diff --git a/packages/backend-common/src/reading/__fixtures__/mock-with-extra-root-dir.zip b/packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/mock-with-extra-root-dir.zip similarity index 100% rename from packages/backend-common/src/reading/__fixtures__/mock-with-extra-root-dir.zip rename to packages/backend-defaults/src/entrypoints/urlReader/lib/__fixtures__/mock-with-extra-root-dir.zip diff --git a/packages/backend-common/src/reading/git.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/git.ts similarity index 100% rename from packages/backend-common/src/reading/git.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/git.ts diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/index.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/index.ts new file mode 100644 index 0000000000..678c6ef64b --- /dev/null +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/index.ts @@ -0,0 +1,38 @@ +/* + * 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 { AzureUrlReader } from './AzureUrlReader'; +export { BitbucketCloudUrlReader } from './BitbucketCloudUrlReader'; +export { BitbucketUrlReader } from './BitbucketUrlReader'; +export { BitbucketServerUrlReader } from './BitbucketServerUrlReader'; +export { GerritUrlReader } from './GerritUrlReader'; +export { GithubUrlReader } from './GithubUrlReader'; +export { GitlabUrlReader } from './GitlabUrlReader'; +export { GiteaUrlReader } from './GiteaUrlReader'; +export { HarnessUrlReader } from './HarnessUrlReader'; +export { AwsS3UrlReader } from './AwsS3UrlReader'; +export { FetchUrlReader } from './FetchUrlReader'; +export { ReadUrlResponseFactory } from './ReadUrlResponseFactory'; +export type { + FromReadableArrayOptions, + ReaderFactory, + ReadTreeResponseFactory, + ReadTreeResponseFactoryOptions, + ReadUrlResponseFactoryFromStreamOptions, + UrlReaderPredicateTuple, +} from './types'; +export { UrlReaders } from './UrlReaders'; +export type { UrlReadersOptions } from './UrlReaders'; diff --git a/packages/backend-common/src/reading/tree/ReadTreeResponseFactory.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadTreeResponseFactory.ts similarity index 90% rename from packages/backend-common/src/reading/tree/ReadTreeResponseFactory.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadTreeResponseFactory.ts index 90c58c0efa..e61ce3242e 100644 --- a/packages/backend-common/src/reading/tree/ReadTreeResponseFactory.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadTreeResponseFactory.ts @@ -17,7 +17,6 @@ import os from 'os'; import { Config } from '@backstage/config'; import { - ReadTreeResponse, ReadTreeResponseFactoryOptions, ReadTreeResponseFactory, FromReadableArrayOptions, @@ -25,6 +24,7 @@ import { import { TarArchiveResponse } from './TarArchiveResponse'; import { ZipArchiveResponse } from './ZipArchiveResponse'; import { ReadableArrayResponse } from './ReadableArrayResponse'; +import { UrlReaderReadTreeResponse } from '@backstage/backend-plugin-api'; export class DefaultReadTreeResponseFactory implements ReadTreeResponseFactory { static create(options: { config: Config }): DefaultReadTreeResponseFactory { @@ -40,7 +40,7 @@ export class DefaultReadTreeResponseFactory implements ReadTreeResponseFactory { options: ReadTreeResponseFactoryOptions & { stripFirstDirectory?: boolean; }, - ): Promise { + ): Promise { return new TarArchiveResponse( options.stream, options.subpath ?? '', @@ -53,7 +53,7 @@ export class DefaultReadTreeResponseFactory implements ReadTreeResponseFactory { async fromZipArchive( options: ReadTreeResponseFactoryOptions, - ): Promise { + ): Promise { return new ZipArchiveResponse( options.stream, options.subpath ?? '', @@ -65,7 +65,7 @@ export class DefaultReadTreeResponseFactory implements ReadTreeResponseFactory { async fromReadableArray( options: FromReadableArrayOptions, - ): Promise { + ): Promise { return new ReadableArrayResponse(options, this.workDir, ''); } } diff --git a/packages/backend-common/src/reading/tree/ReadableArrayResponse.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadableArrayResponse.test.ts similarity index 100% rename from packages/backend-common/src/reading/tree/ReadableArrayResponse.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadableArrayResponse.test.ts diff --git a/packages/backend-common/src/reading/tree/ReadableArrayResponse.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadableArrayResponse.ts similarity index 84% rename from packages/backend-common/src/reading/tree/ReadableArrayResponse.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadableArrayResponse.ts index 3c8bfd1fbc..4e1b24f47f 100644 --- a/packages/backend-common/src/reading/tree/ReadableArrayResponse.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadableArrayResponse.ts @@ -14,27 +14,26 @@ * limitations under the License. */ +import { + UrlReaderReadTreeResponse, + UrlReaderReadTreeResponseDirOptions, + UrlReaderReadTreeResponseFile, +} from '@backstage/backend-plugin-api'; import concatStream from 'concat-stream'; import platformPath, { dirname } from 'path'; - import getRawBody from 'raw-body'; import fs from 'fs-extra'; import { promisify } from 'util'; import tar from 'tar'; import { pipeline as pipelineCb, Readable } from 'stream'; -import { - ReadTreeResponse, - ReadTreeResponseFile, - ReadTreeResponseDirOptions, - FromReadableArrayOptions, -} from '../types'; +import { FromReadableArrayOptions } from '../types'; const pipeline = promisify(pipelineCb); /** * Wraps a array of Readable objects into a tree response reader. */ -export class ReadableArrayResponse implements ReadTreeResponse { +export class ReadableArrayResponse implements UrlReaderReadTreeResponse { private read = false; constructor( @@ -53,10 +52,10 @@ export class ReadableArrayResponse implements ReadTreeResponse { this.read = true; } - async files(): Promise { + async files(): Promise { this.onlyOnce(); - const files = Array(); + const files = Array(); for (let i = 0; i < this.stream.length; i++) { if (!this.stream[i].path.endsWith('/')) { @@ -87,7 +86,7 @@ export class ReadableArrayResponse implements ReadTreeResponse { } } - async dir(options?: ReadTreeResponseDirOptions): Promise { + async dir(options?: UrlReaderReadTreeResponseDirOptions): Promise { this.onlyOnce(); const dir = diff --git a/packages/backend-common/src/reading/tree/TarArchiveResponse.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/TarArchiveResponse.test.ts similarity index 100% rename from packages/backend-common/src/reading/tree/TarArchiveResponse.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/tree/TarArchiveResponse.test.ts diff --git a/packages/backend-common/src/reading/tree/TarArchiveResponse.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/TarArchiveResponse.ts similarity index 93% rename from packages/backend-common/src/reading/tree/TarArchiveResponse.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/tree/TarArchiveResponse.ts index 294ec22609..59b750eb1e 100644 --- a/packages/backend-common/src/reading/tree/TarArchiveResponse.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/TarArchiveResponse.ts @@ -14,17 +14,17 @@ * limitations under the License. */ +import { + UrlReaderReadTreeResponse, + UrlReaderReadTreeResponseDirOptions, + UrlReaderReadTreeResponseFile, +} from '@backstage/backend-plugin-api'; import concatStream from 'concat-stream'; import fs from 'fs-extra'; import platformPath from 'path'; import { pipeline as pipelineCb, Readable } from 'stream'; import tar, { Parse, ParseStream, ReadEntry } from 'tar'; import { promisify } from 'util'; -import { - ReadTreeResponse, - ReadTreeResponseDirOptions, - ReadTreeResponseFile, -} from '../types'; import { stripFirstDirectoryFromPath } from './util'; // Tar types for `Parse` is not a proper constructor, but it should be @@ -35,7 +35,7 @@ const pipeline = promisify(pipelineCb); /** * Wraps a tar archive stream into a tree response reader. */ -export class TarArchiveResponse implements ReadTreeResponse { +export class TarArchiveResponse implements UrlReaderReadTreeResponse { private read = false; constructor( @@ -68,10 +68,10 @@ export class TarArchiveResponse implements ReadTreeResponse { this.read = true; } - async files(): Promise { + async files(): Promise { this.onlyOnce(); - const files = Array(); + const files = Array(); const parser = new TarParseStream(); parser.on('entry', (entry: ReadEntry & Readable) => { @@ -142,7 +142,7 @@ export class TarArchiveResponse implements ReadTreeResponse { } } - async dir(options?: ReadTreeResponseDirOptions): Promise { + async dir(options?: UrlReaderReadTreeResponseDirOptions): Promise { this.onlyOnce(); const dir = diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ZipArchiveResponse.test.ts similarity index 100% rename from packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ZipArchiveResponse.test.ts diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ZipArchiveResponse.ts similarity index 93% rename from packages/backend-common/src/reading/tree/ZipArchiveResponse.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ZipArchiveResponse.ts index 412819c5b9..3d3b615ee7 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ZipArchiveResponse.ts @@ -14,23 +14,23 @@ * limitations under the License. */ +import { + UrlReaderReadTreeResponse, + UrlReaderReadTreeResponseDirOptions, + UrlReaderReadTreeResponseFile, +} from '@backstage/backend-plugin-api'; import archiver from 'archiver'; import yauzl, { Entry } from 'yauzl'; import fs from 'fs-extra'; import platformPath from 'path'; import { Readable } from 'stream'; -import { - ReadTreeResponse, - ReadTreeResponseDirOptions, - ReadTreeResponseFile, -} from '../types'; import { streamToBuffer } from './util'; import { resolveSafeChildPath } from '@backstage/backend-plugin-api'; /** * Wraps a zip archive stream into a tree response reader. */ -export class ZipArchiveResponse implements ReadTreeResponse { +export class ZipArchiveResponse implements UrlReaderReadTreeResponse { private read = false; constructor( @@ -141,9 +141,9 @@ export class ZipArchiveResponse implements ReadTreeResponse { }); } - async files(): Promise { + async files(): Promise { this.onlyOnce(); - const files = Array(); + const files = Array(); const temporary = await this.streamToTemporaryFile(this.stream); await this.forEveryZipEntry(temporary.fileName, async (entry, content) => { @@ -184,7 +184,7 @@ export class ZipArchiveResponse implements ReadTreeResponse { return archive; } - async dir(options?: ReadTreeResponseDirOptions): Promise { + async dir(options?: UrlReaderReadTreeResponseDirOptions): Promise { this.onlyOnce(); const dir = options?.targetDir ?? diff --git a/packages/backend-common/src/reading/tree/index.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/index.ts similarity index 100% rename from packages/backend-common/src/reading/tree/index.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/tree/index.ts diff --git a/packages/backend-common/src/reading/tree/util.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/util.ts similarity index 100% rename from packages/backend-common/src/reading/tree/util.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/tree/util.ts diff --git a/packages/backend-common/src/reading/types.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/types.ts similarity index 88% rename from packages/backend-common/src/reading/types.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/types.ts index 90a3c6287e..254fe1dcec 100644 --- a/packages/backend-common/src/reading/types.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/types.ts @@ -18,23 +18,10 @@ import { Readable } from 'stream'; import { Config } from '@backstage/config'; import { UrlReaderService, - ReadTreeResponse, + UrlReaderReadTreeResponse, LoggerService, } from '@backstage/backend-plugin-api'; -export type { - UrlReaderService as UrlReader, - ReadTreeOptions, - ReadTreeResponse, - ReadTreeResponseDirOptions, - ReadTreeResponseFile, - ReadUrlResponse, - ReadUrlOptions, - SearchOptions, - SearchResponse, - SearchResponseFile, -} from '@backstage/backend-plugin-api'; - /** * A predicate that decides whether a specific {@link @backstage/backend-plugin-api#UrlReaderService} can handle a * given URL. @@ -123,11 +110,11 @@ export interface ReadTreeResponseFactory { */ stripFirstDirectory?: boolean; }, - ): Promise; + ): Promise; fromZipArchive( options: ReadTreeResponseFactoryOptions, - ): Promise; + ): Promise; fromReadableArray( options: FromReadableArrayOptions, - ): Promise; + ): Promise; } diff --git a/packages/backend-common/src/reading/util.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/util.ts similarity index 100% rename from packages/backend-common/src/reading/util.ts rename to packages/backend-defaults/src/entrypoints/urlReader/lib/util.ts diff --git a/packages/backend-defaults/src/entrypoints/urlReader/urlReaderServiceFactory.ts b/packages/backend-defaults/src/entrypoints/urlReader/urlReaderServiceFactory.ts index 7f404a24b1..dae8d692cb 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/urlReaderServiceFactory.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/urlReaderServiceFactory.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { UrlReaders } from '@backstage/backend-common'; +import { UrlReaders } from './lib/UrlReaders'; import { coreServices, createServiceFactory, diff --git a/packages/backend-plugin-api/api-report.md b/packages/backend-plugin-api/api-report.md index 70ab3d8eed..5ba4e758ca 100644 --- a/packages/backend-plugin-api/api-report.md +++ b/packages/backend-plugin-api/api-report.md @@ -466,54 +466,23 @@ export function readSchedulerServiceTaskScheduleDefinitionFromConfig( config: Config, ): SchedulerServiceTaskScheduleDefinition; -// @public -export type ReadTreeOptions = { - filter?( - path: string, - info?: { - size: number; - }, - ): boolean; - etag?: string; - signal?: AbortSignal; - token?: string; -}; +// @public @deprecated (undocumented) +export type ReadTreeOptions = UrlReaderReadTreeOptions; -// @public -export type ReadTreeResponse = { - files(): Promise; - archive(): Promise; - dir(options?: ReadTreeResponseDirOptions): Promise; - etag: string; -}; +// @public @deprecated (undocumented) +export type ReadTreeResponse = UrlReaderReadTreeResponse; -// @public -export type ReadTreeResponseDirOptions = { - targetDir?: string; -}; +// @public @deprecated (undocumented) +export type ReadTreeResponseDirOptions = UrlReaderReadTreeResponseDirOptions; -// @public -export type ReadTreeResponseFile = { - path: string; - content(): Promise; - lastModifiedAt?: Date; -}; +// @public @deprecated (undocumented) +export type ReadTreeResponseFile = UrlReaderReadTreeResponseFile; -// @public -export type ReadUrlOptions = { - etag?: string; - lastModifiedAfter?: Date; - signal?: AbortSignal; - token?: string; -}; +// @public @deprecated (undocumented) +export type ReadUrlOptions = UrlReaderReadUrlOptions; -// @public -export type ReadUrlResponse = { - buffer(): Promise; - stream?(): Readable; - etag?: string; - lastModifiedAt?: Date; -}; +// @public @deprecated (undocumented) +export type ReadUrlResponse = UrlReaderReadUrlResponse; // @public export function resolvePackagePath(name: string, ...paths: string[]): string; @@ -617,25 +586,14 @@ export interface SchedulerServiceTaskScheduleDefinitionConfig { timeout: string | HumanDuration; } -// @public -export type SearchOptions = { - etag?: string; - signal?: AbortSignal; - token?: string; -}; +// @public @deprecated (undocumented) +export type SearchOptions = UrlReaderSearchOptions; -// @public -export type SearchResponse = { - files: SearchResponseFile[]; - etag: string; -}; +// @public @deprecated (undocumented) +export type SearchResponse = UrlReaderSearchResponse; -// @public -export type SearchResponseFile = { - url: string; - content(): Promise; - lastModifiedAt?: Date; -}; +// @public @deprecated (undocumented) +export type SearchResponseFile = UrlReaderSearchResponseFile; // @public (undocumented) export interface ServiceFactory< @@ -680,11 +638,89 @@ export interface TokenManagerService { }>; } +// @public +export type UrlReaderReadTreeOptions = { + filter?( + path: string, + info?: { + size: number; + }, + ): boolean; + etag?: string; + signal?: AbortSignal; + token?: string; +}; + +// @public +export type UrlReaderReadTreeResponse = { + files(): Promise; + archive(): Promise; + dir(options?: UrlReaderReadTreeResponseDirOptions): Promise; + etag: string; +}; + +// @public +export type UrlReaderReadTreeResponseDirOptions = { + targetDir?: string; +}; + +// @public +export type UrlReaderReadTreeResponseFile = { + path: string; + content(): Promise; + lastModifiedAt?: Date; +}; + +// @public +export type UrlReaderReadUrlOptions = { + etag?: string; + lastModifiedAfter?: Date; + signal?: AbortSignal; + token?: string; +}; + +// @public +export type UrlReaderReadUrlResponse = { + buffer(): Promise; + stream?(): Readable; + etag?: string; + lastModifiedAt?: Date; +}; + +// @public +export type UrlReaderSearchOptions = { + etag?: string; + signal?: AbortSignal; + token?: string; +}; + +// @public +export type UrlReaderSearchResponse = { + files: UrlReaderSearchResponseFile[]; + etag: string; +}; + +// @public +export type UrlReaderSearchResponseFile = { + url: string; + content(): Promise; + lastModifiedAt?: Date; +}; + // @public export interface UrlReaderService { - readTree(url: string, options?: ReadTreeOptions): Promise; - readUrl(url: string, options?: ReadUrlOptions): Promise; - search(url: string, options?: SearchOptions): Promise; + readTree( + url: string, + options?: UrlReaderReadTreeOptions, + ): Promise; + readUrl( + url: string, + options?: UrlReaderReadUrlOptions, + ): Promise; + search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise; } // @public diff --git a/packages/backend-plugin-api/src/services/definitions/UrlReaderService.ts b/packages/backend-plugin-api/src/services/definitions/UrlReaderService.ts index 8cb40ff202..085b0b6844 100644 --- a/packages/backend-plugin-api/src/services/definitions/UrlReaderService.ts +++ b/packages/backend-plugin-api/src/services/definitions/UrlReaderService.ts @@ -27,17 +27,26 @@ export interface UrlReaderService { /** * Reads a single file and return its content. */ - readUrl(url: string, options?: ReadUrlOptions): Promise; + readUrl( + url: string, + options?: UrlReaderReadUrlOptions, + ): Promise; /** * Reads a full or partial file tree. */ - readTree(url: string, options?: ReadTreeOptions): Promise; + readTree( + url: string, + options?: UrlReaderReadTreeOptions, + ): Promise; /** * Searches for a file in a tree using a glob pattern. */ - search(url: string, options?: SearchOptions): Promise; + search( + url: string, + options?: UrlReaderSearchOptions, + ): Promise; } /** @@ -45,7 +54,7 @@ export interface UrlReaderService { * * @public */ -export type ReadUrlOptions = { +export type UrlReaderReadUrlOptions = { /** * An ETag which can be provided to check whether a * {@link UrlReaderService.readUrl} response has changed from a previous execution. @@ -113,7 +122,7 @@ export type ReadUrlOptions = { * * @public */ -export type ReadUrlResponse = { +export type UrlReaderReadUrlResponse = { /** * Returns the data that was read from the remote URL. */ @@ -148,7 +157,7 @@ export type ReadUrlResponse = { * * @public */ -export type ReadTreeOptions = { +export type UrlReaderReadTreeOptions = { /** * A filter that can be used to select which files should be included. * @@ -208,11 +217,11 @@ export type ReadTreeOptions = { }; /** - * Options that control {@link ReadTreeResponse.dir} execution. + * Options that control {@link UrlReaderReadTreeResponse.dir} execution. * * @public */ -export type ReadTreeResponseDirOptions = { +export type UrlReaderReadTreeResponseDirOptions = { /** * The directory to write files to. * @@ -228,12 +237,12 @@ export type ReadTreeResponseDirOptions = { * * @public */ -export type ReadTreeResponse = { +export type UrlReaderReadTreeResponse = { /** * Returns an array of all the files inside the tree, and corresponding * functions to read their content. */ - files(): Promise; + files(): Promise; /** * Returns the tree contents as a binary archive, using a stream. @@ -246,7 +255,7 @@ export type ReadTreeResponse = { * * **NOTE**: It is the responsibility of the caller to remove the directory after use. */ - dir(options?: ReadTreeResponseDirOptions): Promise; + dir(options?: UrlReaderReadTreeResponseDirOptions): Promise; /** * Etag returned by content provider. @@ -263,7 +272,7 @@ export type ReadTreeResponse = { * * @public */ -export type ReadTreeResponseFile = { +export type UrlReaderReadTreeResponseFile = { /** * The filepath of the data. */ @@ -285,7 +294,7 @@ export type ReadTreeResponseFile = { * * @public */ -export type SearchOptions = { +export type UrlReaderSearchOptions = { /** * An etag can be provided to check whether the search response has changed from a previous execution. * @@ -326,11 +335,11 @@ export type SearchOptions = { * * @public */ -export type SearchResponse = { +export type UrlReaderSearchResponse = { /** * The files that matched the search query. */ - files: SearchResponseFile[]; + files: UrlReaderSearchResponseFile[]; /** * A unique identifier of the current remote tree, usually the commit SHA or etag from the target. @@ -343,7 +352,7 @@ export type SearchResponse = { * * @public */ -export type SearchResponseFile = { +export type UrlReaderSearchResponseFile = { /** * The full URL to the file. */ @@ -359,3 +368,49 @@ export type SearchResponseFile = { */ lastModifiedAt?: Date; }; + +/** + * @public + * @deprecated Use `UrlReaderReadTreeOptions` instead + */ +export type ReadTreeOptions = UrlReaderReadTreeOptions; +/** + * @public + * @deprecated Use `UrlReaderReadTreeResponse` instead + */ +export type ReadTreeResponse = UrlReaderReadTreeResponse; +/** + * @public + * @deprecated Use `UrlReaderReadTreeResponseDirOptions` instead + */ +export type ReadTreeResponseDirOptions = UrlReaderReadTreeResponseDirOptions; +/** + * @public + * @deprecated Use `UrlReaderReadTreeResponseFile` instead + */ +export type ReadTreeResponseFile = UrlReaderReadTreeResponseFile; +/** + * @public + * @deprecated Use `UrlReaderReadUrlResponse` instead + */ +export type ReadUrlResponse = UrlReaderReadUrlResponse; +/** + * @public + * @deprecated Use `UrlReaderReadUrlOptions` instead + */ +export type ReadUrlOptions = UrlReaderReadUrlOptions; +/** + * @public + * @deprecated Use `UrlReaderSearchOptions` instead + */ +export type SearchOptions = UrlReaderSearchOptions; +/** + * @public + * @deprecated Use `UrlReaderSearchResponse` instead + */ +export type SearchResponse = UrlReaderSearchResponse; +/** + * @public + * @deprecated Use `UrlReaderSearchResponseFile` instead + */ +export type SearchResponseFile = UrlReaderSearchResponseFile; diff --git a/packages/backend-plugin-api/src/services/definitions/index.ts b/packages/backend-plugin-api/src/services/definitions/index.ts index f22213a285..13175b96ae 100644 --- a/packages/backend-plugin-api/src/services/definitions/index.ts +++ b/packages/backend-plugin-api/src/services/definitions/index.ts @@ -74,6 +74,15 @@ export type { SearchOptions, SearchResponse, SearchResponseFile, + UrlReaderReadTreeOptions, + UrlReaderReadTreeResponse, + UrlReaderReadTreeResponseDirOptions, + UrlReaderReadTreeResponseFile, + UrlReaderReadUrlResponse, + UrlReaderReadUrlOptions, + UrlReaderSearchOptions, + UrlReaderSearchResponse, + UrlReaderSearchResponseFile, UrlReaderService, } from './UrlReaderService'; export type { BackstageUserInfo, UserInfoService } from './UserInfoService'; diff --git a/yarn.lock b/yarn.lock index ee4185b5b4..5c0993f074 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3588,6 +3588,12 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/backend-defaults@workspace:packages/backend-defaults" dependencies: + "@aws-sdk/abort-controller": ^3.347.0 + "@aws-sdk/client-codecommit": ^3.350.0 + "@aws-sdk/client-s3": ^3.350.0 + "@aws-sdk/credential-providers": ^3.350.0 + "@aws-sdk/types": ^3.347.0 + "@aws-sdk/util-stream-node": ^3.350.0 "@backstage/backend-app-api": "workspace:^" "@backstage/backend-common": "workspace:^" "@backstage/backend-dev-utils": "workspace:^" @@ -3597,25 +3603,41 @@ __metadata: "@backstage/config": "workspace:^" "@backstage/config-loader": "workspace:^" "@backstage/errors": "workspace:^" + "@backstage/integration": "workspace:^" + "@backstage/integration-aws-node": "workspace:^" "@backstage/plugin-events-node": "workspace:^" "@backstage/plugin-permission-node": "workspace:^" "@backstage/types": "workspace:^" + "@google-cloud/storage": ^7.0.0 "@keyv/memcache": ^1.3.5 "@keyv/redis": ^2.5.3 + "@octokit/rest": ^19.0.3 "@opentelemetry/api": ^1.3.0 + archiver: ^6.0.0 + aws-sdk-client-mock: ^4.0.0 + base64-stream: ^1.0.0 better-sqlite3: ^9.0.0 + concat-stream: ^2.0.0 cron: ^3.0.0 fs-extra: ^11.2.0 + git-url-parse: ^14.0.0 + isomorphic-git: ^1.23.0 keyv: ^4.5.2 knex: ^3.0.0 lodash: ^4.17.21 luxon: ^3.0.0 + minimatch: ^9.0.0 + msw: ^1.0.0 mysql2: ^3.0.0 + node-fetch: ^2.6.7 p-limit: ^3.1.0 pg: ^8.11.3 pg-connection-string: ^2.3.0 + raw-body: ^2.4.1 + tar: ^6.1.12 uuid: ^9.0.0 wait-for-expect: ^3.0.2 + yauzl: ^3.0.0 yn: ^4.0.0 zod: ^3.22.4 languageName: unknown From cd1e5bf33dd242cb5ee1b7ba7a400e27c03f5c30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Thu, 23 May 2024 21:23:48 +0200 Subject: [PATCH 44/66] temporarily fix the tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- docs/plugins/url-reader.md | 2 +- .../urlReader/lib/GoogleGcsUrlReader.test.ts | 30 ++++++++----------- .../urlReader/lib/GoogleGcsUrlReader.ts | 16 +++++----- 3 files changed, 22 insertions(+), 26 deletions(-) diff --git a/docs/plugins/url-reader.md b/docs/plugins/url-reader.md index c551cdc086..9fab0482bb 100644 --- a/docs/plugins/url-reader.md +++ b/docs/plugins/url-reader.md @@ -19,7 +19,7 @@ files before generating a documentation site. Since, the requirement for reading files is so essential for Backstage plugins, the -[`coreServices.urlReader`](../reference/backend-plugin-api.coreservices.urlreader/) +[`coreServices.urlReader`](../reference/backend-plugin-api.coreservices.urlreader.md) package provides a dedicated API for reading from such URL based remote locations like GitHub, GitLab, Bitbucket, Google Cloud Storage, etc. This is commonly referred to as "URL Reader". It takes care of making authenticated diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.test.ts index 318b134aa4..9a5cf741db 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.test.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.test.ts @@ -14,31 +14,27 @@ * limitations under the License. */ +import * as GoogleCloud from '@google-cloud/storage'; import { ConfigReader } from '@backstage/config'; import { JsonObject } from '@backstage/types'; import { DefaultReadTreeResponseFactory } from './tree'; import { GoogleGcsUrlReader } from './GoogleGcsUrlReader'; import { UrlReaderPredicateTuple } from './types'; -import packageinfo from '@backstage/backend-defaults/package.json'; +import packageinfo from '../../../../package.json'; import { mockServices } from '@backstage/backend-test-utils'; const bucketGetFilesMock = jest.fn(); -jest.mock('@google-cloud/storage', () => { - class Bucket { - getFiles(query: any) { - return bucketGetFilesMock(query); - } +class Bucket { + getFiles(query: any) { + return bucketGetFilesMock(query); } - class Storage { - bucket() { - return new Bucket(); - } +} +class Storage { + bucket() { + return new Bucket(); } - return { - __esModule: true, - Storage, - }; -}); +} +jest.spyOn(GoogleCloud, 'Storage').mockReturnValue(new Storage() as any); describe('GcsUrlReader', () => { const createReader = (config: JsonObject): UrlReaderPredicateTuple[] => { @@ -80,7 +76,7 @@ describe('GcsUrlReader', () => { }); it('check if userAgent has been called with this key value', async () => { const getStorage: any = { - userAgent: `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`, + userAgent: `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`, }; jest.mock('@google-cloud/storage', () => { return { @@ -89,7 +85,7 @@ describe('GcsUrlReader', () => { }); const getUserAgent = getStorage.userAgent.toString(); expect(getUserAgent).toBe( - `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`, + `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`, ); }); diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts index 124461ff80..0e8fef7683 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import * as GoogleCloud from '@google-cloud/storage'; import { UrlReaderService, UrlReaderReadTreeResponse, @@ -21,7 +22,6 @@ import { UrlReaderReadUrlResponse, UrlReaderSearchResponse, } from '@backstage/backend-plugin-api'; -import { Storage } from '@google-cloud/storage'; import { ReaderFactory } from './types'; import getRawBody from 'raw-body'; import { @@ -30,7 +30,7 @@ import { } from '@backstage/integration'; import { Readable } from 'stream'; import { ReadUrlResponseFactory } from './ReadUrlResponseFactory'; -import packageinfo from '@backstage/backend-defaults/package.json'; +import packageinfo from '../../../../package.json'; const GOOGLE_GCS_HOST = 'storage.cloud.google.com'; @@ -64,21 +64,21 @@ export class GoogleGcsUrlReader implements UrlReaderService { const gcsConfig = readGoogleGcsIntegrationConfig( config.getConfig('integrations.googleGcs'), ); - let storage: Storage; + let storage: GoogleCloud.Storage; if (!gcsConfig.clientEmail || !gcsConfig.privateKey) { logger.info( 'googleGcs credentials not found in config. Using default credentials provider.', ); - storage = new Storage({ - userAgent: `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`, + storage = new GoogleCloud.Storage({ + userAgent: `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`, }); } else { - storage = new Storage({ + storage = new GoogleCloud.Storage({ credentials: { client_email: gcsConfig.clientEmail || undefined, private_key: gcsConfig.privateKey || undefined, }, - userAgent: `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`, + userAgent: `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`, }); } const reader = new GoogleGcsUrlReader(gcsConfig, storage); @@ -88,7 +88,7 @@ export class GoogleGcsUrlReader implements UrlReaderService { constructor( private readonly integration: GoogleGcsIntegrationConfig, - private readonly storage: Storage, + private readonly storage: GoogleCloud.Storage, ) {} private readStreamFromUrl(url: string): Readable { From 3c7dbc00917939936425ee66e383fc0b04063aa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Tue, 11 Jun 2024 08:53:24 +0200 Subject: [PATCH 45/66] review comments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .../src/entrypoints/urlReader/lib/GoogleGcsUrlReader.test.ts | 4 ++-- .../src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.test.ts index 9a5cf741db..537b8c375e 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.test.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.test.ts @@ -76,7 +76,7 @@ describe('GcsUrlReader', () => { }); it('check if userAgent has been called with this key value', async () => { const getStorage: any = { - userAgent: `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`, + userAgent: `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`, }; jest.mock('@google-cloud/storage', () => { return { @@ -85,7 +85,7 @@ describe('GcsUrlReader', () => { }); const getUserAgent = getStorage.userAgent.toString(); expect(getUserAgent).toBe( - `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`, + `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`, ); }); diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts index 0e8fef7683..843eee9c21 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts @@ -70,7 +70,7 @@ export class GoogleGcsUrlReader implements UrlReaderService { 'googleGcs credentials not found in config. Using default credentials provider.', ); storage = new GoogleCloud.Storage({ - userAgent: `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`, + userAgent: `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`, }); } else { storage = new GoogleCloud.Storage({ @@ -78,7 +78,7 @@ export class GoogleGcsUrlReader implements UrlReaderService { client_email: gcsConfig.clientEmail || undefined, private_key: gcsConfig.privateKey || undefined, }, - userAgent: `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`, + userAgent: `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`, }); } const reader = new GoogleGcsUrlReader(gcsConfig, storage); From 11d4ee4030659145a64064a244ec64cb5b17aa11 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 11 Jun 2024 13:08:03 +0200 Subject: [PATCH 46/66] cli: update reports Signed-off-by: Patrik Oldsberg --- packages/cli-node/api-report.md | 3 +++ packages/cli/cli-report.md | 1 + 2 files changed, 4 insertions(+) diff --git a/packages/cli-node/api-report.md b/packages/cli-node/api-report.md index 5b9b8485b8..a16b4c91a4 100644 --- a/packages/cli-node/api-report.md +++ b/packages/cli-node/api-report.md @@ -18,6 +18,9 @@ export interface BackstagePackageJson { backstage?: { role?: PackageRole; moved?: string; + pluginId?: string; + pluginPackage?: string; + pluginPackages?: string[]; }; // (undocumented) bundled?: boolean; diff --git a/packages/cli/cli-report.md b/packages/cli/cli-report.md index 7b6df4366c..01b0f7ddec 100644 --- a/packages/cli/cli-report.md +++ b/packages/cli/cli-report.md @@ -442,6 +442,7 @@ Options: Usage: backstage-cli repo fix [options] Options: + --publish --check -h, --help ``` From 9bdc3e89ab4f5bc20815dfd3793d4897900d1622 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Tue, 11 Jun 2024 09:36:58 +0200 Subject: [PATCH 47/66] refactor: set extenstion point "t" to null Signed-off-by: Camila Belo --- .changeset/calm-files-sort.md | 5 +++++ packages/backend-plugin-api/src/wiring/factories.test.ts | 2 +- packages/backend-plugin-api/src/wiring/factories.ts | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 .changeset/calm-files-sort.md diff --git a/.changeset/calm-files-sort.md b/.changeset/calm-files-sort.md new file mode 100644 index 0000000000..a487c00eb4 --- /dev/null +++ b/.changeset/calm-files-sort.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-plugin-api': patch +--- + +In tests, return `null` rather than throwing an error when trying to get the `ExtensionPoint.T` property, so that tests asserting the property are not easily broken. diff --git a/packages/backend-plugin-api/src/wiring/factories.test.ts b/packages/backend-plugin-api/src/wiring/factories.test.ts index 1fd05a1605..9f11c9b40b 100644 --- a/packages/backend-plugin-api/src/wiring/factories.test.ts +++ b/packages/backend-plugin-api/src/wiring/factories.test.ts @@ -26,7 +26,7 @@ describe('createExtensionPoint', () => { const extensionPoint = createExtensionPoint({ id: 'x' }); expect(extensionPoint).toBeDefined(); expect(extensionPoint.id).toBe('x'); - expect(() => extensionPoint.T).toThrow(); + expect(() => extensionPoint.T).not.toThrow(); expect(String(extensionPoint)).toBe('extensionPoint{x}'); }); }); diff --git a/packages/backend-plugin-api/src/wiring/factories.ts b/packages/backend-plugin-api/src/wiring/factories.ts index d0199e775a..5442bab897 100644 --- a/packages/backend-plugin-api/src/wiring/factories.ts +++ b/packages/backend-plugin-api/src/wiring/factories.ts @@ -51,6 +51,10 @@ export function createExtensionPoint( return { id: options.id, get T(): T { + if (process.env.NODE_ENV === 'test') { + // Avoid throwing errors so tests asserting extensions' properties cannot be easily broken + return null as T; + } throw new Error(`tried to read ExtensionPoint.T of ${this}`); }, toString() { From 006b3e8effa2ef123fd07ad0e04d895b3d2e04c4 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Tue, 11 Jun 2024 13:50:39 +0200 Subject: [PATCH 48/66] refactor(test-utils): rename MockDirectoryOptions to CreateMockDirectoryOptions Signed-off-by: Camila Belo --- .changeset/honest-badgers-ring.md | 5 ++++ packages/backend-test-utils/api-report.md | 15 +++++++----- packages/backend-test-utils/src/deprecated.ts | 23 +++++++++++++++++++ .../src/filesystem/MockDirectory.ts | 4 ++-- .../src/filesystem/index.ts | 2 +- packages/backend-test-utils/src/index.ts | 1 + 6 files changed, 41 insertions(+), 9 deletions(-) create mode 100644 .changeset/honest-badgers-ring.md create mode 100644 packages/backend-test-utils/src/deprecated.ts diff --git a/.changeset/honest-badgers-ring.md b/.changeset/honest-badgers-ring.md new file mode 100644 index 0000000000..c1e763e6cb --- /dev/null +++ b/.changeset/honest-badgers-ring.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-test-utils': patch +--- + +The type `MockDirectoryOptions` was renamed to `CreateMockDirectoryOptions` so that it's clear these options are exclusive to the mock directory factory. diff --git a/packages/backend-test-utils/api-report.md b/packages/backend-test-utils/api-report.md index f3d790ebfe..cc30dc8f56 100644 --- a/packages/backend-test-utils/api-report.md +++ b/packages/backend-test-utils/api-report.md @@ -45,9 +45,15 @@ import { UserInfoService } from '@backstage/backend-plugin-api'; // @public export function createMockDirectory( - options?: MockDirectoryOptions, + options?: CreateMockDirectoryOptions, ): MockDirectory; +// @public +export interface CreateMockDirectoryOptions { + content?: MockDirectoryContent; + mockOsTmpDir?: boolean; +} + // @public (undocumented) export function isDockerDisabledForTests(): boolean; @@ -136,11 +142,8 @@ export interface MockDirectoryContentOptions { shouldReadAsText?: boolean | ((path: string, buffer: Buffer) => boolean); } -// @public -export interface MockDirectoryOptions { - content?: MockDirectoryContent; - mockOsTmpDir?: boolean; -} +// @public @deprecated (undocumented) +export type MockDirectoryOptions = CreateMockDirectoryOptions; // @public (undocumented) export namespace mockServices { diff --git a/packages/backend-test-utils/src/deprecated.ts b/packages/backend-test-utils/src/deprecated.ts new file mode 100644 index 0000000000..fad7523367 --- /dev/null +++ b/packages/backend-test-utils/src/deprecated.ts @@ -0,0 +1,23 @@ +/* + * Copyright 2024 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 { CreateMockDirectoryOptions } from './filesystem'; + +/** + * @public + * @deprecated Use `CreateMockDirectoryOptions` from `@backstage/backend-test-utils` instead. + */ +export type MockDirectoryOptions = CreateMockDirectoryOptions; diff --git a/packages/backend-test-utils/src/filesystem/MockDirectory.ts b/packages/backend-test-utils/src/filesystem/MockDirectory.ts index 1c10c77fc6..39518f5d9c 100644 --- a/packages/backend-test-utils/src/filesystem/MockDirectory.ts +++ b/packages/backend-test-utils/src/filesystem/MockDirectory.ts @@ -347,7 +347,7 @@ class MockDirectoryImpl { * * @public */ -export interface MockDirectoryOptions { +export interface CreateMockDirectoryOptions { /** * In addition to creating a temporary directory, also mock `os.tmpdir()` to return the * mock directory path until the end of the test suite. @@ -386,7 +386,7 @@ export interface MockDirectoryOptions { * ``` */ export function createMockDirectory( - options?: MockDirectoryOptions, + options?: CreateMockDirectoryOptions, ): MockDirectory { const tmpDir = process.env.RUNNER_TEMP || os.tmpdir(); // GitHub Actions const root = fs.mkdtempSync(joinPath(tmpDir, 'backstage-tmp-test-dir-')); diff --git a/packages/backend-test-utils/src/filesystem/index.ts b/packages/backend-test-utils/src/filesystem/index.ts index e18b0b55b8..4a045c153d 100644 --- a/packages/backend-test-utils/src/filesystem/index.ts +++ b/packages/backend-test-utils/src/filesystem/index.ts @@ -16,8 +16,8 @@ export { createMockDirectory, + type CreateMockDirectoryOptions, type MockDirectory, - type MockDirectoryOptions, type MockDirectoryContent, type MockDirectoryContentOptions, type MockDirectoryContentCallback, diff --git a/packages/backend-test-utils/src/index.ts b/packages/backend-test-utils/src/index.ts index 72abd908c5..a9feacbacd 100644 --- a/packages/backend-test-utils/src/index.ts +++ b/packages/backend-test-utils/src/index.ts @@ -20,6 +20,7 @@ * @packageDocumentation */ +export * from './deprecated'; export * from './cache'; export * from './database'; export * from './msw'; From 227b57d5b499e8db9ca01d497f1934d7c5eb4424 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 11 Jun 2024 14:42:14 +0200 Subject: [PATCH 49/66] cli: more informative error message for missing plugin ID for modules during fix Signed-off-by: Patrik Oldsberg --- packages/cli/src/commands/repo/fix.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/cli/src/commands/repo/fix.ts b/packages/cli/src/commands/repo/fix.ts index e7d243ea2c..370e5c0cb1 100644 --- a/packages/cli/src/commands/repo/fix.ts +++ b/packages/cli/src/commands/repo/fix.ts @@ -297,9 +297,17 @@ export function fixPluginId(pkg: FixablePackage) { paths.targetRoot, resolvePath(pkg.dir, 'package.json'), ); - throw new Error( - `Failed to guess plugin ID for "${pkg.packageJson.name}", please set the 'backstage.pluginId' field manually in "${path}"`, - ); + const msg = `Failed to guess plugin ID for "${pkg.packageJson.name}", please set the 'backstage.pluginId' field manually in "${path}"`; + if (role.endsWith('module')) { + const suggestedRole = role.startsWith('frontend') + ? 'web-library' + : 'node-library'; + throw new Error( + `${msg}. It is also possible that this package is not a module, and should use the '${suggestedRole}' role instead.`, + ); + } else { + throw new Error(msg); + } } if (guessedPluginId) { From 662dce80fefc0830084ef6cdf964081b863b2bff Mon Sep 17 00:00:00 2001 From: Niklas Aronsson Date: Tue, 11 Jun 2024 09:04:49 +0200 Subject: [PATCH 50/66] feat(gerrit): make the gitilesBaseUrl config mandatory Signed-off-by: Niklas Aronsson --- .changeset/polite-emus-invent.md | 8 ++ .changeset/wicked-dingos-heal.md | 7 ++ docs/integrations/gerrit/locations.md | 8 +- .../backend-defaults/api-report-urlReader.md | 1 - .../urlReader/lib/GerritUrlReader.test.ts | 85 +++--------------- .../urlReader/lib/GerritUrlReader.ts | 86 +------------------ packages/integration/api-report.md | 2 +- packages/integration/config.d.ts | 5 ++ .../src/gerrit/GerritIntegration.test.ts | 2 + .../integration/src/gerrit/config.test.ts | 12 ++- packages/integration/src/gerrit/config.ts | 11 ++- packages/integration/src/gerrit/core.test.ts | 2 + .../providers/GerritEntityProvider.test.ts | 3 + .../src/actions/gerrit.test.ts | 9 +- .../src/actions/gerritReview.examples.test.ts | 13 +-- .../src/actions/gerritReview.test.ts | 3 +- 16 files changed, 71 insertions(+), 186 deletions(-) create mode 100644 .changeset/polite-emus-invent.md create mode 100644 .changeset/wicked-dingos-heal.md diff --git a/.changeset/polite-emus-invent.md b/.changeset/polite-emus-invent.md new file mode 100644 index 0000000000..a31c04e021 --- /dev/null +++ b/.changeset/polite-emus-invent.md @@ -0,0 +1,8 @@ +--- +'@backstage/backend-defaults': minor +--- + +**BREAKING**: The `workdir` argument have been removed from The `GerritUrlReader` constructor. + +**BREAKING**: The Gerrit `readTree` implementation will now only use the Gitiles api. Support +for using git to clone the repo has been removed. diff --git a/.changeset/wicked-dingos-heal.md b/.changeset/wicked-dingos-heal.md new file mode 100644 index 0000000000..367c65e95e --- /dev/null +++ b/.changeset/wicked-dingos-heal.md @@ -0,0 +1,7 @@ +--- +'@backstage/integration': minor +--- + +**BREAKING**: `gitilesBaseUrl` is now mandatory for the Gerrit integration. The +ability to override this requirement using the `DISABLE_GERRIT_GITILES_REQUIREMENT` +environment variable has been removed. diff --git a/docs/integrations/gerrit/locations.md b/docs/integrations/gerrit/locations.md index 08dad94ecf..3f237fc9ba 100644 --- a/docs/integrations/gerrit/locations.md +++ b/docs/integrations/gerrit/locations.md @@ -19,9 +19,9 @@ To use this integration, add at least one Gerrit configuration to your root `app integrations: gerrit: - host: gerrit.company.com + gitilesBaseUrl: https://gerrit.company.com/gitiles baseUrl: https://gerrit.company.com/gerrit cloneUrl: https://gerrit.company.com/clone - gitilesBaseUrl: https://gerrit.company.com/gitiles username: ${GERRIT_USERNAME} password: ${GERRIT_PASSWORD} ``` @@ -31,16 +31,12 @@ you can list the Gerrit instances you want to fetch data from. Each entry is a structure with up to six elements: - `host`: The host of the Gerrit instance, e.g. `gerrit.company.com`. +- `gitilesBaseUrl`: The base url of the Gitiles instance. - `baseUrl` (optional): Needed if the Gerrit instance is not reachable at the base of the `host` option (e.g. `https://gerrit.company.com`) set the address here. This is the address that you would open in a browser. - `cloneUrl` (optional): The base URL for HTTP clones. Will default to `baseUrl` if not set. The address used to clone a repo is the `cloneUrl` plus the repo name. -- `gitilesBaseUrl` (optional): This is needed for creating a valid user-friendly URL - that can be used for browsing the content of the provider. If not set a default - value will be created in the same way as the `baseUrl` option. There is no - requirement to have Gitiles for the Backstage Gerrit integration but without it - some links in the Backstage UI will be broken. - `username` (optional): The Gerrit username to use in API requests. If neither a username nor password are supplied, anonymous access will be used. - `password` (optional): The password or http token for the Gerrit user. diff --git a/packages/backend-defaults/api-report-urlReader.md b/packages/backend-defaults/api-report-urlReader.md index d9300d731a..b2ea2c6d20 100644 --- a/packages/backend-defaults/api-report-urlReader.md +++ b/packages/backend-defaults/api-report-urlReader.md @@ -217,7 +217,6 @@ export class GerritUrlReader implements UrlReaderService { deps: { treeResponseFactory: ReadTreeResponseFactory; }, - workDir: string, ); // (undocumented) static factory: ReaderFactory; diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.test.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.test.ts index ca4a2707f3..94627e074f 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.test.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.test.ts @@ -32,10 +32,7 @@ import fs from 'fs-extra'; import path from 'path'; import { UrlReaderPredicateTuple } from './types'; import { DefaultReadTreeResponseFactory } from './tree'; -import { - GITILES_BASE_URL_DEPRECATION_MESSSAGE, - GerritUrlReader, -} from './GerritUrlReader'; +import { GerritUrlReader } from './GerritUrlReader'; import getRawBody from 'raw-body'; const mockDir = createMockDirectory({ mockOsTmpDir: true }); @@ -61,11 +58,11 @@ const gerritProcessor = new GerritUrlReader( readGerritIntegrationConfig( new ConfigReader({ host: 'gerrit.com', + gitilesBaseUrl: 'https://gerrit.com/gitiles', }), ), ), { treeResponseFactory }, - '/tmp', ); // Gerrit processor with a gitilesBaseUrl configured. @@ -80,7 +77,6 @@ const gerritProcessorWithGitiles = new GerritUrlReader( ), ), { treeResponseFactory }, - '/tmp', ); const createReader = (config: JsonObject): UrlReaderPredicateTuple[] => { @@ -112,7 +108,12 @@ describe.skip('GerritUrlReader', () => { it('creates a reader.', () => { const readers = createReader({ integrations: { - gerrit: [{ host: 'gerrit.com' }], + gerrit: [ + { + host: 'gerrit.com', + gitilesBaseUrl: 'https://gerrit.com/gitiles', + }, + ], }, }); expect(readers).toHaveLength(1); @@ -126,33 +127,12 @@ describe.skip('GerritUrlReader', () => { }); }); - describe('handle optional gitilesBaseUrl deprecation', () => { - it('should throw if gitilesBaseUrl is not set.', () => { - process.env = env; - expect(() => - createReader({ - integrations: { - gerrit: [{ host: 'gerrit.com' }], - }, - }), - ).toThrow(GITILES_BASE_URL_DEPRECATION_MESSSAGE); - }); - it('should not throw if gitilesBaseUrl requirement is overridden.', () => { - process.env = { ...env, DISABLE_GERRIT_GITILES_REQUIREMENT: '1' }; - expect(() => - createReader({ - integrations: { - gerrit: [{ host: 'gerrit.com' }], - }, - }), - ).not.toThrow(); - }); - }); - describe('predicates without Gitiles', () => { const readers = createReader({ integrations: { - gerrit: [{ host: 'gerrit.com' }], + gerrit: [ + { host: 'gerrit.com', gitilesBaseUrl: 'https://gerrit.com/gitiles' }, + ], }, }); const predicate = readers[0].predicate; @@ -354,29 +334,6 @@ describe.skip('GerritUrlReader', () => { expect(cloneMock).not.toHaveBeenCalled(); }); - it('reads the wanted files correctly using git clone.', async () => { - worker.use( - rest.get(branchAPIUrl, (_, res, ctx) => { - return res(ctx.status(200), ctx.body(branchAPIresponse)); - }), - ); - - const response = await gerritProcessor.readTree(treeUrl); - - expect(response.etag).toBe(etag); - - const files = await response.files(); - expect(files.length).toBe(2); - - const docsYaml = await files[0].content(); - expect(docsYaml.toString()).toBe(mkdocsContent); - - const mdFile = await files[1].content(); - expect(mdFile.toString()).toBe(mdContent); - - expect(cloneMock).toHaveBeenCalled(); - }); - it('throws NotModifiedError for matching etags.', async () => { worker.use( rest.get(branchAPIUrl, (_, res, ctx) => { @@ -432,25 +389,5 @@ describe.skip('GerritUrlReader', () => { expect(cloneMock).not.toHaveBeenCalled(); }); - - it('should returns wanted files with a subpath using git clone', async () => { - worker.use( - rest.get(branchAPIUrl, (_, res, ctx) => { - return res(ctx.status(200), ctx.body(branchAPIresponse)); - }), - ); - - const response = await gerritProcessor.readTree(`${treeUrl}/docs`); - - expect(response.etag).toBe(etag); - - const files = await response.files(); - expect(files.length).toBe(1); - - const mdFile = await files[0].content(); - expect(mdFile.toString()).toBe(mdContent); - - expect(cloneMock).toHaveBeenCalled(); - }); }); }); diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.ts index 2274182e02..8307d4c389 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.ts @@ -23,20 +23,13 @@ import { UrlReaderSearchResponse, } from '@backstage/backend-plugin-api'; import { Base64Decode } from 'base64-stream'; -import concatStream from 'concat-stream'; -import fs from 'fs-extra'; import fetch, { Response } from 'node-fetch'; -import os from 'os'; -import { join as joinPath } from 'path'; -import { Readable, pipeline as pipelineCb } from 'stream'; -import tar from 'tar'; -import { promisify } from 'util'; +import { Readable } from 'stream'; import { GerritIntegration, ScmIntegrations, buildGerritGitilesArchiveUrl, getGerritBranchApiUrl, - getGerritCloneRepoUrl, getGerritFileContentsApiUrl, getGerritRequestOptions, parseGerritGitilesUrl, @@ -44,18 +37,6 @@ import { } from '@backstage/integration'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; import { ReadTreeResponseFactory, ReaderFactory } from './types'; -import { Git } from './git'; - -const pipeline = promisify(pipelineCb); - -export const GITILES_BASE_URL_DEPRECATION_MESSSAGE = `A gitilesBaseUrl must be provided \ -for the gerrit integration to work. You can disable this check by setting \ -DISABLE_GERRIT_GITILES_REQUIREMENT=1 but this will be removed in a future release. If you \ -are not able to use the gitiles gerrit plugin, please open an issue towards \ -https://github.com/backstage/backstage`; - -const createTemporaryDirectory = async (workDir: string): Promise => - await fs.mkdtemp(joinPath(workDir, '/gerrit-clone-')); /** * Implements a {@link @backstage/backend-plugin-api#UrlReaderService} for files in Gerrit. @@ -83,20 +64,8 @@ export class GerritUrlReader implements UrlReaderService { if (!integrations.gerrit) { return []; } - const workDir = - config.getOptionalString('backend.workingDirectory') ?? os.tmpdir(); return integrations.gerrit.list().map(integration => { - if ( - integration.config.gitilesBaseUrl === integration.config.baseUrl && - process.env.DISABLE_GERRIT_GITILES_REQUIREMENT === undefined - ) { - throw new Error(GITILES_BASE_URL_DEPRECATION_MESSSAGE); - } - const reader = new GerritUrlReader( - integration, - { treeResponseFactory }, - workDir, - ); + const reader = new GerritUrlReader(integration, { treeResponseFactory }); const predicate = (url: URL) => { const gitilesUrl = new URL(integration.config.gitilesBaseUrl!); // If gitilesUrl is not specified it will default to @@ -110,7 +79,6 @@ export class GerritUrlReader implements UrlReaderService { constructor( private readonly integration: GerritIntegration, private readonly deps: { treeResponseFactory: ReadTreeResponseFactory }, - private readonly workDir: string, ) {} async read(url: string): Promise { @@ -194,12 +162,7 @@ export class GerritUrlReader implements UrlReaderService { throw new NotModifiedError(); } - if ( - this.integration.config.gitilesBaseUrl !== this.integration.config.baseUrl - ) { - return this.readTreeFromGitiles(url, branchInfo.revision, options); - } - return this.readTreeFromGitClone(url, branchInfo.revision, options); + return this.readTreeFromGitiles(url, branchInfo.revision, options); } async search(): Promise { @@ -211,49 +174,6 @@ export class GerritUrlReader implements UrlReaderService { return `gerrit{host=${host},authed=${Boolean(password)}}`; } - private async readTreeFromGitClone( - url: string, - revision: string, - options?: UrlReaderReadTreeOptions, - ) { - const { filePath } = parseGerritGitilesUrl(this.integration.config, url); - - const git = Git.fromAuth({ - username: this.integration.config.username, - password: this.integration.config.password, - }); - const tempDir = await createTemporaryDirectory(this.workDir); - const cloneUrl = getGerritCloneRepoUrl(this.integration.config, url); - try { - // The "fromTarArchive" function will strip the top level directory so - // an additional directory level is created when we clone. - await git.clone({ - url: cloneUrl, - dir: joinPath(tempDir, 'repo'), - ref: revision, - depth: 1, - }); - - const data = await new Promise(async resolve => { - await pipeline( - tar.create({ cwd: tempDir }, ['']), - concatStream(resolve), - ); - }); - const tarArchive = Readable.from(data); - return await this.deps.treeResponseFactory.fromTarArchive({ - stream: tarArchive, - subpath: filePath === '/' ? undefined : filePath, - etag: revision, - filter: options?.filter, - }); - } catch (error) { - throw new Error(`Could not clone ${cloneUrl}: ${error}`); - } finally { - await fs.rm(tempDir, { recursive: true, force: true }); - } - } - private async readTreeFromGitiles( url: string, revision: string, diff --git a/packages/integration/api-report.md b/packages/integration/api-report.md index 5bb15206f8..f9a8426cf5 100644 --- a/packages/integration/api-report.md +++ b/packages/integration/api-report.md @@ -326,7 +326,7 @@ export type GerritIntegrationConfig = { host: string; baseUrl?: string; cloneUrl?: string; - gitilesBaseUrl?: string; + gitilesBaseUrl: string; username?: string; password?: string; }; diff --git a/packages/integration/config.d.ts b/packages/integration/config.d.ts index 58dd9153c4..1e4c8d373d 100644 --- a/packages/integration/config.d.ts +++ b/packages/integration/config.d.ts @@ -151,6 +151,11 @@ export interface Config { * @visibility frontend */ baseUrl?: string; + /** + * The gitiles base url. + * @visibility frontend + */ + gitilesBaseUrl: string; /** * The base url for cloning repos. * @visibility frontend diff --git a/packages/integration/src/gerrit/GerritIntegration.test.ts b/packages/integration/src/gerrit/GerritIntegration.test.ts index 1a7bac5be6..1878744f68 100644 --- a/packages/integration/src/gerrit/GerritIntegration.test.ts +++ b/packages/integration/src/gerrit/GerritIntegration.test.ts @@ -27,6 +27,8 @@ describe('GerritIntegration', () => { host: 'gerrit-review.example.com', username: 'gerrituser', baseUrl: 'https://gerrit-review.example.com/gerrit', + gitilesBaseUrl: + 'https://gerrit-review.example.com/gerrit/plugins/gitiles', password: '1234', }, ], diff --git a/packages/integration/src/gerrit/config.test.ts b/packages/integration/src/gerrit/config.test.ts index 583687bd23..be31193f2e 100644 --- a/packages/integration/src/gerrit/config.test.ts +++ b/packages/integration/src/gerrit/config.test.ts @@ -76,13 +76,14 @@ describe('readGerritIntegrationConfig', () => { const output = readGerritIntegrationConfig( buildConfig({ host: 'a.com', + gitilesBaseUrl: 'https://a.com/gerrit/plugins/gitiles', }), ); expect(output).toEqual({ host: 'a.com', baseUrl: 'https://a.com', cloneUrl: 'https://a.com', - gitilesBaseUrl: 'https://a.com', + gitilesBaseUrl: 'https://a.com/gerrit/plugins/gitiles', username: undefined, password: undefined, }); @@ -106,6 +107,7 @@ describe('readGerritIntegrationConfig', () => { await buildFrontendConfig({ host: 'a.com', baseUrl: 'https://a.com/gerrit', + gitilesBaseUrl: 'https://a.com/gerrit/plugins/gitiles', username: 'u', password: 'p', }), @@ -114,7 +116,7 @@ describe('readGerritIntegrationConfig', () => { host: 'a.com', baseUrl: 'https://a.com/gerrit', cloneUrl: 'https://a.com/gerrit', - gitilesBaseUrl: 'https://a.com', + gitilesBaseUrl: 'https://a.com/gerrit/plugins/gitiles', }); }); }); @@ -130,12 +132,14 @@ describe('readGerritIntegrationConfigs', () => { { host: 'a.com', baseUrl: 'https://a.com/api', + gitilesBaseUrl: 'https://a.com/gerrit/plugins/gitiles', username: 'u', password: 'p', }, { host: 'b.com', baseUrl: 'https://b.com/api', + gitilesBaseUrl: 'https://b.com/gerrit/plugins/gitiles', }, ]), ); @@ -144,7 +148,7 @@ describe('readGerritIntegrationConfigs', () => { host: 'a.com', baseUrl: 'https://a.com/api', cloneUrl: 'https://a.com/api', - gitilesBaseUrl: 'https://a.com', + gitilesBaseUrl: 'https://a.com/gerrit/plugins/gitiles', username: 'u', password: 'p', }, @@ -152,7 +156,7 @@ describe('readGerritIntegrationConfigs', () => { host: 'b.com', baseUrl: 'https://b.com/api', cloneUrl: 'https://b.com/api', - gitilesBaseUrl: 'https://b.com', + gitilesBaseUrl: 'https://b.com/gerrit/plugins/gitiles', username: undefined, password: undefined, }, diff --git a/packages/integration/src/gerrit/config.ts b/packages/integration/src/gerrit/config.ts index c3ee3aaa24..a5fdc8dabf 100644 --- a/packages/integration/src/gerrit/config.ts +++ b/packages/integration/src/gerrit/config.ts @@ -45,12 +45,11 @@ export type GerritIntegrationConfig = { cloneUrl?: string; /** - * Optional base url for Gitiles. This is needed for creating a valid + * Base url for Gitiles. This is needed for creating a valid * user-friendly url that can be used for browsing the content of the - * provider. If not set a default value will be created in the same way - * as the "baseUrl" option. + * provider. */ - gitilesBaseUrl?: string; + gitilesBaseUrl: string; /** * The username to use for requests to gerrit. @@ -76,7 +75,7 @@ export function readGerritIntegrationConfig( const host = config.getString('host'); let baseUrl = config.getOptionalString('baseUrl'); let cloneUrl = config.getOptionalString('cloneUrl'); - let gitilesBaseUrl = config.getOptionalString('gitilesBaseUrl'); + let gitilesBaseUrl = config.getString('gitilesBaseUrl'); const username = config.getOptionalString('username'); const password = config.getOptionalString('password')?.trim(); @@ -92,7 +91,7 @@ export function readGerritIntegrationConfig( throw new Error( `Invalid Gerrit integration config, '${cloneUrl}' is not a valid cloneUrl`, ); - } else if (gitilesBaseUrl && !isValidUrl(gitilesBaseUrl)) { + } else if (!isValidUrl(gitilesBaseUrl)) { throw new Error( `Invalid Gerrit integration config, '${gitilesBaseUrl}' is not a valid gitilesBaseUrl`, ); diff --git a/packages/integration/src/gerrit/core.test.ts b/packages/integration/src/gerrit/core.test.ts index 5fbb41763a..c2bf5d3ed2 100644 --- a/packages/integration/src/gerrit/core.test.ts +++ b/packages/integration/src/gerrit/core.test.ts @@ -134,9 +134,11 @@ describe('gerrit core', () => { host: 'gerrit.com', username: 'U', password: 'P', + gitilesBaseUrl: 'https://gerrit.com/gerrit/plugins/gitiles', }; const anonymousRequest: GerritIntegrationConfig = { host: 'gerrit.com', + gitilesBaseUrl: 'https://gerrit.com/gerrit/plugins/gitiles', }; expect( (getGerritRequestOptions(authRequest).headers as any).Authorization, diff --git a/plugins/catalog-backend-module-gerrit/src/providers/GerritEntityProvider.test.ts b/plugins/catalog-backend-module-gerrit/src/providers/GerritEntityProvider.test.ts index 110a927655..8b1acbdbaa 100644 --- a/plugins/catalog-backend-module-gerrit/src/providers/GerritEntityProvider.test.ts +++ b/plugins/catalog-backend-module-gerrit/src/providers/GerritEntityProvider.test.ts @@ -166,9 +166,11 @@ describe('GerritEntityProvider', () => { gerrit: [ { host: 'gerrit1.com', + gitilesBaseUrl: 'https://gerrit1.com/gitiles', }, { host: 'gerrit2.com', + gitilesBaseUrl: 'https://gerrit2.com/gitiles', }, ], }, @@ -201,6 +203,7 @@ describe('GerritEntityProvider', () => { gerrit: [ { host: 'gerrit1.com', + gitilesBaseUrl: 'https://gerrit1.com/gitiles', }, ], }, diff --git a/plugins/scaffolder-backend-module-gerrit/src/actions/gerrit.test.ts b/plugins/scaffolder-backend-module-gerrit/src/actions/gerrit.test.ts index c08544843f..1f069d3835 100644 --- a/plugins/scaffolder-backend-module-gerrit/src/actions/gerrit.test.ts +++ b/plugins/scaffolder-backend-module-gerrit/src/actions/gerrit.test.ts @@ -42,6 +42,7 @@ describe('publish:gerrit', () => { gerrit: [ { host: 'gerrithost.org', + gitilesBaseUrl: 'https://gerrithost.org/gitiles', username: 'gerrituser', password: 'usertoken', }, @@ -133,7 +134,7 @@ describe('publish:gerrit', () => { ); expect(mockContext.output).toHaveBeenCalledWith( 'repoContentsUrl', - 'https://gerrithost.org/repo/+/refs/heads/master', + 'https://gerrithost.org/gitiles/repo/+/refs/heads/master', ); }); @@ -184,7 +185,7 @@ describe('publish:gerrit', () => { ); expect(mockContext.output).toHaveBeenCalledWith( 'repoContentsUrl', - 'https://gerrithost.org/repo/+/refs/heads/master', + 'https://gerrithost.org/gitiles/repo/+/refs/heads/master', ); }); @@ -235,7 +236,7 @@ describe('publish:gerrit', () => { ); expect(mockContext.output).toHaveBeenCalledWith( 'repoContentsUrl', - 'https://gerrithost.org/repo/+/refs/heads/master', + 'https://gerrithost.org/gitiles/repo/+/refs/heads/master', ); }); @@ -286,7 +287,7 @@ describe('publish:gerrit', () => { ); expect(mockContext.output).toHaveBeenCalledWith( 'repoContentsUrl', - 'https://gerrithost.org/repo/+/refs/heads/main', + 'https://gerrithost.org/gitiles/repo/+/refs/heads/main', ); }); diff --git a/plugins/scaffolder-backend-module-gerrit/src/actions/gerritReview.examples.test.ts b/plugins/scaffolder-backend-module-gerrit/src/actions/gerritReview.examples.test.ts index d1bc594d54..91110cb512 100644 --- a/plugins/scaffolder-backend-module-gerrit/src/actions/gerritReview.examples.test.ts +++ b/plugins/scaffolder-backend-module-gerrit/src/actions/gerritReview.examples.test.ts @@ -35,6 +35,7 @@ describe('publish:gerrit:review', () => { gerrit: [ { host: 'gerrithost.org', + gitilesBaseUrl: 'https://gerrithost.org/gitiles', username: 'gerrituser', password: 'usertoken', }, @@ -77,7 +78,7 @@ describe('publish:gerrit:review', () => { expect(mockContext.output).toHaveBeenCalledWith( 'repoContentsUrl', - 'https://gerrithost.org/repo/+/refs/heads/master', + 'https://gerrithost.org/gitiles/repo/+/refs/heads/master', ); expect(mockContext.output).toHaveBeenCalledWith( 'reviewUrl', @@ -109,7 +110,7 @@ describe('publish:gerrit:review', () => { expect(mockContext.output).toHaveBeenCalledWith( 'repoContentsUrl', - 'https://gerrithost.org/repo/+/refs/heads/master', + 'https://gerrithost.org/gitiles/repo/+/refs/heads/master', ); expect(mockContext.output).toHaveBeenCalledWith( 'reviewUrl', @@ -141,7 +142,7 @@ describe('publish:gerrit:review', () => { expect(mockContext.output).toHaveBeenCalledWith( 'repoContentsUrl', - 'https://gerrithost.org/repo/+/refs/heads/master', + 'https://gerrithost.org/gitiles/repo/+/refs/heads/master', ); expect(mockContext.output).toHaveBeenCalledWith( 'reviewUrl', @@ -170,7 +171,7 @@ describe('publish:gerrit:review', () => { expect(mockContext.output).toHaveBeenCalledWith( 'repoContentsUrl', - 'https://gerrithost.org/repo/+/refs/heads/develop', + 'https://gerrithost.org/gitiles/repo/+/refs/heads/develop', ); expect(mockContext.output).toHaveBeenCalledWith( 'reviewUrl', @@ -199,7 +200,7 @@ describe('publish:gerrit:review', () => { expect(mockContext.output).toHaveBeenCalledWith( 'repoContentsUrl', - 'https://gerrithost.org/repo/+/refs/heads/master', + 'https://gerrithost.org/gitiles/repo/+/refs/heads/master', ); expect(mockContext.output).toHaveBeenCalledWith( 'reviewUrl', @@ -231,7 +232,7 @@ describe('publish:gerrit:review', () => { expect(mockContext.output).toHaveBeenCalledWith( 'repoContentsUrl', - 'https://gerrithost.org/repo/+/refs/heads/develop', + 'https://gerrithost.org/gitiles/repo/+/refs/heads/develop', ); expect(mockContext.output).toHaveBeenCalledWith( 'reviewUrl', diff --git a/plugins/scaffolder-backend-module-gerrit/src/actions/gerritReview.test.ts b/plugins/scaffolder-backend-module-gerrit/src/actions/gerritReview.test.ts index 91236d4cc0..827626bef1 100644 --- a/plugins/scaffolder-backend-module-gerrit/src/actions/gerritReview.test.ts +++ b/plugins/scaffolder-backend-module-gerrit/src/actions/gerritReview.test.ts @@ -33,6 +33,7 @@ describe('publish:gerrit:review', () => { gerrit: [ { host: 'gerrithost.org', + gitilesBaseUrl: 'https://gerrithost.org/gitiles', username: 'gerrituser', password: 'usertoken', }, @@ -104,7 +105,7 @@ describe('publish:gerrit:review', () => { expect(mockContext.output).toHaveBeenCalledWith( 'repoContentsUrl', - 'https://gerrithost.org/repo/+/refs/heads/master', + 'https://gerrithost.org/gitiles/repo/+/refs/heads/master', ); expect(mockContext.output).toHaveBeenCalledWith( 'reviewUrl', From e83ead9b1aa11aaf2e0428d28d8a8dcad00a2086 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 11 Jun 2024 15:25:17 +0000 Subject: [PATCH 51/66] Version Packages (next) --- .changeset/pre.json | 42 +- docs/releases/v1.28.0-next.3-changelog.md | 2379 +++++++++++++++++ package.json | 2 +- packages/app-defaults/CHANGELOG.md | 11 + packages/app-defaults/package.json | 2 +- packages/app-next-example-plugin/CHANGELOG.md | 8 + packages/app-next-example-plugin/package.json | 2 +- packages/app-next/CHANGELOG.md | 43 + packages/app-next/package.json | 2 +- packages/app/CHANGELOG.md | 41 + packages/app/package.json | 2 +- packages/backend-app-api/CHANGELOG.md | 17 + packages/backend-app-api/package.json | 2 +- packages/backend-common/CHANGELOG.md | 19 + packages/backend-common/package.json | 2 +- packages/backend-defaults/CHANGELOG.md | 21 + packages/backend-defaults/package.json | 2 +- .../CHANGELOG.md | 26 + .../package.json | 2 +- packages/backend-legacy/CHANGELOG.md | 42 + packages/backend-legacy/package.json | 2 +- packages/backend-openapi-utils/CHANGELOG.md | 8 + packages/backend-openapi-utils/package.json | 2 +- packages/backend-plugin-api/CHANGELOG.md | 25 + packages/backend-plugin-api/package.json | 2 +- packages/backend-tasks/CHANGELOG.md | 12 + packages/backend-tasks/package.json | 2 +- packages/backend-test-utils/CHANGELOG.md | 14 + packages/backend-test-utils/package.json | 2 +- packages/backend/CHANGELOG.md | 37 + packages/backend/package.json | 2 +- packages/cli-common/CHANGELOG.md | 6 + packages/cli-common/package.json | 2 +- packages/cli-node/CHANGELOG.md | 10 + packages/cli-node/package.json | 2 +- packages/cli/CHANGELOG.md | 17 + packages/cli/package.json | 2 +- packages/codemods/CHANGELOG.md | 7 + packages/codemods/package.json | 2 +- packages/config-loader/CHANGELOG.md | 10 + packages/config-loader/package.json | 2 +- packages/core-compat-api/CHANGELOG.md | 9 + packages/core-compat-api/package.json | 2 +- packages/core-components/CHANGELOG.md | 13 + packages/core-components/package.json | 2 +- packages/create-app/CHANGELOG.md | 9 + packages/create-app/package.json | 2 +- packages/dev-utils/CHANGELOG.md | 14 + packages/dev-utils/package.json | 2 +- packages/e2e-test/CHANGELOG.md | 9 + packages/e2e-test/package.json | 2 +- packages/frontend-app-api/CHANGELOG.md | 15 + packages/frontend-app-api/package.json | 2 +- packages/frontend-plugin-api/CHANGELOG.md | 10 + packages/frontend-plugin-api/package.json | 2 +- packages/frontend-test-utils/CHANGELOG.md | 10 + packages/frontend-test-utils/package.json | 2 +- packages/integration-react/CHANGELOG.md | 10 + packages/integration-react/package.json | 2 +- packages/integration/CHANGELOG.md | 20 + packages/integration/package.json | 2 +- packages/repo-tools/CHANGELOG.md | 12 + packages/repo-tools/package.json | 2 +- .../techdocs-cli-embedded-app/CHANGELOG.md | 19 + .../techdocs-cli-embedded-app/package.json | 2 +- packages/techdocs-cli/CHANGELOG.md | 11 + packages/techdocs-cli/package.json | 2 +- packages/test-utils/CHANGELOG.md | 13 + packages/test-utils/package.json | 2 +- packages/yarn-plugin/CHANGELOG.md | 9 + packages/yarn-plugin/package.json | 2 +- .../CHANGELOG.md | 6 + .../package.json | 2 +- plugins/api-docs/CHANGELOG.md | 16 + plugins/api-docs/package.json | 2 +- plugins/app-backend/CHANGELOG.md | 15 + plugins/app-backend/package.json | 2 +- plugins/app-node/CHANGELOG.md | 9 + plugins/app-node/package.json | 2 +- plugins/app-visualizer/CHANGELOG.md | 10 + plugins/app-visualizer/package.json | 2 +- .../CHANGELOG.md | 13 + .../package.json | 2 +- .../CHANGELOG.md | 12 + .../package.json | 2 +- .../CHANGELOG.md | 11 + .../package.json | 2 +- .../CHANGELOG.md | 10 + .../package.json | 2 +- .../CHANGELOG.md | 11 + .../package.json | 2 +- .../CHANGELOG.md | 11 + .../package.json | 2 +- .../CHANGELOG.md | 10 + .../package.json | 2 +- .../CHANGELOG.md | 10 + .../package.json | 2 +- .../CHANGELOG.md | 10 + .../package.json | 2 +- .../CHANGELOG.md | 12 + .../package.json | 2 +- .../CHANGELOG.md | 10 + .../package.json | 2 +- .../CHANGELOG.md | 13 + .../package.json | 2 +- .../CHANGELOG.md | 10 + .../package.json | 2 +- .../CHANGELOG.md | 15 + .../package.json | 2 +- .../CHANGELOG.md | 10 + .../package.json | 2 +- .../CHANGELOG.md | 14 + .../package.json | 2 +- .../CHANGELOG.md | 11 + .../package.json | 2 +- .../CHANGELOG.md | 14 + .../package.json | 2 +- plugins/auth-backend/CHANGELOG.md | 32 + plugins/auth-backend/package.json | 2 +- plugins/auth-node/CHANGELOG.md | 24 + plugins/auth-node/package.json | 2 +- plugins/auth-react/CHANGELOG.md | 10 + plugins/auth-react/package.json | 2 +- plugins/bitbucket-cloud-common/CHANGELOG.md | 8 + plugins/bitbucket-cloud-common/package.json | 2 +- .../catalog-backend-module-aws/CHANGELOG.md | 18 + .../catalog-backend-module-aws/package.json | 2 +- .../catalog-backend-module-azure/CHANGELOG.md | 14 + .../catalog-backend-module-azure/package.json | 2 +- .../CHANGELOG.md | 14 + .../package.json | 2 +- .../CHANGELOG.md | 18 + .../package.json | 2 +- .../CHANGELOG.md | 15 + .../package.json | 2 +- .../catalog-backend-module-gcp/CHANGELOG.md | 14 + .../catalog-backend-module-gcp/package.json | 2 +- .../CHANGELOG.md | 14 + .../package.json | 2 +- .../CHANGELOG.md | 14 + .../package.json | 2 +- .../CHANGELOG.md | 18 + .../package.json | 2 +- .../CHANGELOG.md | 12 + .../package.json | 2 +- .../CHANGELOG.md | 16 + .../package.json | 2 +- .../CHANGELOG.md | 17 + .../package.json | 2 +- .../catalog-backend-module-ldap/CHANGELOG.md | 15 + .../catalog-backend-module-ldap/package.json | 2 +- .../CHANGELOG.md | 14 + .../package.json | 2 +- .../CHANGELOG.md | 16 + .../package.json | 2 +- .../CHANGELOG.md | 15 + .../package.json | 2 +- .../CHANGELOG.md | 12 + .../package.json | 2 +- .../CHANGELOG.md | 15 + .../package.json | 2 +- plugins/catalog-backend/CHANGELOG.md | 23 + plugins/catalog-backend/package.json | 2 +- plugins/catalog-common/CHANGELOG.md | 10 + plugins/catalog-common/package.json | 2 +- plugins/catalog-graph/CHANGELOG.md | 16 + plugins/catalog-graph/package.json | 2 +- plugins/catalog-import/CHANGELOG.md | 19 + plugins/catalog-import/package.json | 2 +- plugins/catalog-node/CHANGELOG.md | 15 + plugins/catalog-node/package.json | 2 +- plugins/catalog-react/CHANGELOG.md | 20 + plugins/catalog-react/package.json | 2 +- .../CHANGELOG.md | 8 + .../package.json | 2 +- .../catalog-unprocessed-entities/CHANGELOG.md | 11 + .../catalog-unprocessed-entities/package.json | 2 +- plugins/catalog/CHANGELOG.md | 23 + plugins/catalog/package.json | 2 +- plugins/config-schema/CHANGELOG.md | 11 + plugins/config-schema/package.json | 2 +- plugins/devtools-backend/CHANGELOG.md | 17 + plugins/devtools-backend/package.json | 2 +- plugins/devtools-common/CHANGELOG.md | 9 + plugins/devtools-common/package.json | 2 +- plugins/devtools/CHANGELOG.md | 14 + plugins/devtools/package.json | 2 +- .../CHANGELOG.md | 13 + .../package.json | 2 +- .../events-backend-module-azure/CHANGELOG.md | 9 + .../events-backend-module-azure/package.json | 2 +- .../CHANGELOG.md | 9 + .../package.json | 2 +- .../events-backend-module-gerrit/CHANGELOG.md | 9 + .../events-backend-module-gerrit/package.json | 2 +- .../events-backend-module-github/CHANGELOG.md | 10 + .../events-backend-module-github/package.json | 2 +- .../events-backend-module-gitlab/CHANGELOG.md | 10 + .../events-backend-module-gitlab/package.json | 2 +- .../events-backend-test-utils/CHANGELOG.md | 8 + .../events-backend-test-utils/package.json | 2 +- plugins/events-backend/CHANGELOG.md | 11 + plugins/events-backend/package.json | 2 +- plugins/events-node/CHANGELOG.md | 8 + plugins/events-node/package.json | 2 +- .../example-todo-list-backend/CHANGELOG.md | 10 + .../example-todo-list-backend/package.json | 2 +- plugins/example-todo-list-common/CHANGELOG.md | 7 + plugins/example-todo-list-common/package.json | 2 +- plugins/example-todo-list/CHANGELOG.md | 8 + plugins/example-todo-list/package.json | 2 +- plugins/home-react/CHANGELOG.md | 9 + plugins/home-react/package.json | 2 +- plugins/home/CHANGELOG.md | 18 + plugins/home/package.json | 2 +- plugins/kubernetes-backend/CHANGELOG.md | 21 + plugins/kubernetes-backend/package.json | 2 +- plugins/kubernetes-cluster/CHANGELOG.md | 13 + plugins/kubernetes-cluster/package.json | 2 +- plugins/kubernetes-common/CHANGELOG.md | 10 + plugins/kubernetes-common/package.json | 2 +- plugins/kubernetes-node/CHANGELOG.md | 11 + plugins/kubernetes-node/package.json | 2 +- plugins/kubernetes-react/CHANGELOG.md | 13 + plugins/kubernetes-react/package.json | 2 +- plugins/kubernetes/CHANGELOG.md | 13 + plugins/kubernetes/package.json | 2 +- .../CHANGELOG.md | 16 + .../package.json | 2 +- plugins/notifications-backend/CHANGELOG.md | 18 + plugins/notifications-backend/package.json | 2 +- plugins/notifications-common/CHANGELOG.md | 6 + plugins/notifications-common/package.json | 2 +- plugins/notifications-node/CHANGELOG.md | 13 + plugins/notifications-node/package.json | 2 +- plugins/notifications/CHANGELOG.md | 14 + plugins/notifications/package.json | 2 +- plugins/org-react/CHANGELOG.md | 12 + plugins/org-react/package.json | 2 +- plugins/org/CHANGELOG.md | 14 + plugins/org/package.json | 2 +- .../CHANGELOG.md | 11 + .../package.json | 2 +- plugins/permission-backend/CHANGELOG.md | 14 + plugins/permission-backend/package.json | 2 +- plugins/permission-common/CHANGELOG.md | 10 + plugins/permission-common/package.json | 2 +- plugins/permission-node/CHANGELOG.md | 13 + plugins/permission-node/package.json | 2 +- plugins/permission-react/CHANGELOG.md | 10 + plugins/permission-react/package.json | 2 +- plugins/proxy-backend/CHANGELOG.md | 11 + plugins/proxy-backend/package.json | 2 +- .../CHANGELOG.md | 12 + .../package.json | 2 +- .../CHANGELOG.md | 12 + .../package.json | 2 +- .../CHANGELOG.md | 12 + .../package.json | 2 +- .../CHANGELOG.md | 14 + .../package.json | 2 +- .../CHANGELOG.md | 13 + .../package.json | 2 +- .../CHANGELOG.md | 14 + .../package.json | 2 +- .../CHANGELOG.md | 12 + .../package.json | 2 +- .../CHANGELOG.md | 12 + .../package.json | 2 +- .../CHANGELOG.md | 13 + .../package.json | 2 +- .../CHANGELOG.md | 13 + .../package.json | 2 +- .../CHANGELOG.md | 12 + .../package.json | 2 +- .../CHANGELOG.md | 14 + .../package.json | 2 +- .../CHANGELOG.md | 11 + .../package.json | 2 +- .../CHANGELOG.md | 11 + .../package.json | 2 +- plugins/scaffolder-backend/CHANGELOG.md | 32 + plugins/scaffolder-backend/package.json | 2 +- plugins/scaffolder-common/CHANGELOG.md | 10 + plugins/scaffolder-common/package.json | 2 +- .../scaffolder-node-test-utils/CHANGELOG.md | 11 + .../scaffolder-node-test-utils/package.json | 2 +- plugins/scaffolder-node/CHANGELOG.md | 14 + plugins/scaffolder-node/package.json | 2 +- plugins/scaffolder-react/CHANGELOG.md | 18 + plugins/scaffolder-react/package.json | 2 +- plugins/scaffolder/CHANGELOG.md | 26 + plugins/scaffolder/package.json | 2 +- .../CHANGELOG.md | 19 + .../package.json | 2 +- .../CHANGELOG.md | 13 + .../package.json | 2 +- .../CHANGELOG.md | 13 + .../package.json | 2 +- plugins/search-backend-module-pg/CHANGELOG.md | 13 + plugins/search-backend-module-pg/package.json | 2 +- .../CHANGELOG.md | 13 + .../package.json | 2 +- .../CHANGELOG.md | 19 + .../package.json | 2 +- plugins/search-backend-node/CHANGELOG.md | 14 + plugins/search-backend-node/package.json | 2 +- plugins/search-backend/CHANGELOG.md | 18 + plugins/search-backend/package.json | 2 +- plugins/search-common/CHANGELOG.md | 9 + plugins/search-common/package.json | 2 +- plugins/search-react/CHANGELOG.md | 14 + plugins/search-react/package.json | 2 +- plugins/search/CHANGELOG.md | 17 + plugins/search/package.json | 2 +- plugins/signals-backend/CHANGELOG.md | 14 + plugins/signals-backend/package.json | 2 +- plugins/signals-node/CHANGELOG.md | 13 + plugins/signals-node/package.json | 2 +- plugins/signals-react/CHANGELOG.md | 9 + plugins/signals-react/package.json | 2 +- plugins/signals/CHANGELOG.md | 12 + plugins/signals/package.json | 2 +- .../techdocs-addons-test-utils/CHANGELOG.md | 16 + .../techdocs-addons-test-utils/package.json | 2 +- plugins/techdocs-backend/CHANGELOG.md | 18 + plugins/techdocs-backend/package.json | 2 +- .../CHANGELOG.md | 12 + .../package.json | 2 +- plugins/techdocs-node/CHANGELOG.md | 15 + plugins/techdocs-node/package.json | 2 +- plugins/techdocs-react/CHANGELOG.md | 12 + plugins/techdocs-react/package.json | 2 +- plugins/techdocs/CHANGELOG.md | 22 + plugins/techdocs/package.json | 2 +- plugins/user-settings-backend/CHANGELOG.md | 16 + plugins/user-settings-backend/package.json | 2 +- plugins/user-settings-common/CHANGELOG.md | 8 + plugins/user-settings-common/package.json | 2 +- plugins/user-settings/CHANGELOG.md | 19 + plugins/user-settings/package.json | 2 +- yarn.lock | 39 +- 342 files changed, 5004 insertions(+), 173 deletions(-) create mode 100644 docs/releases/v1.28.0-next.3-changelog.md create mode 100644 packages/yarn-plugin/CHANGELOG.md create mode 100644 plugins/auth-backend-module-onelogin-provider/CHANGELOG.md create mode 100644 plugins/user-settings-common/CHANGELOG.md diff --git a/.changeset/pre.json b/.changeset/pre.json index ce72063500..a3a00cf717 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -181,16 +181,23 @@ "@backstage/plugin-techdocs-node": "1.12.4", "@backstage/plugin-techdocs-react": "1.2.4", "@backstage/plugin-user-settings": "0.8.6", - "@backstage/plugin-user-settings-backend": "0.2.17" + "@backstage/plugin-user-settings-backend": "0.2.17", + "yarn-plugin-backstage": "0.0.0", + "@backstage/plugin-auth-backend-module-onelogin-provider": "0.0.0", + "@backstage/plugin-user-settings-common": "0.0.0" }, "changesets": [ "beige-eagles-cheat", + "blue-hairs-marry", "brave-apples-move", "breezy-badgers-train", + "breezy-planets-sparkle", "brown-bananas-talk", "calm-cars-serve", + "calm-files-sort", "calm-plums-wink", "chilled-planes-sniff", + "clever-kids-return", "clever-radios-yawn", "cold-seas-end", "create-app-1716302437", @@ -207,12 +214,16 @@ "empty-tables-ring", "famous-monkeys-count", "forty-adults-roll", + "forty-experts-live", "four-adults-mix", "friendly-keys-fold", "gentle-baboons-peel", + "gentle-llamas-cross", "gold-teachers-wink", + "great-clouds-hang", "great-cougars-guess", "green-apricots-invite", + "honest-badgers-ring", "honest-pandas-chew", "itchy-spoons-cry", "large-months-decide", @@ -220,6 +231,17 @@ "late-students-live", "light-rice-argue", "little-cooks-approve", + "long-llamas-push-atlassian", + "long-llamas-push-bitbucket", + "long-llamas-push-github", + "long-llamas-push-gitlab", + "long-llamas-push-google", + "long-llamas-push-microsoft", + "long-llamas-push-oauth2", + "long-llamas-push-oidc", + "long-llamas-push-okta", + "long-llamas-push-pinniped", + "long-llamas-push-vmware-cloud", "loud-pumpkins-bow", "lovely-hats-pay", "lucky-taxis-rule", @@ -227,9 +249,13 @@ "many-windows-attack", "mean-laws-lay", "moody-buttons-hope", + "nasty-roses-flash", "neat-rivers-share", + "nervous-kings-change", "nervous-queens-fly", + "new-masks-occur", "new-numbers-hug", + "nice-kangaroos-occur", "nice-pants-shave", "nine-hairs-kick", "nine-ties-type", @@ -239,37 +265,51 @@ "orange-pianos-eat", "perfect-bikes-invite", "polite-otters-talk", + "popular-boxes-press", "popular-carrots-love", "pretty-berries-live", + "pretty-spoons-knock", "proud-readers-move", + "purple-mugs-beg", + "rare-frogs-beam", "real-ghosts-return", "rich-teachers-agree", "rude-kings-press", + "rude-snakes-clap", "selfish-pugs-lick", "serious-yaks-sit", "seven-geese-raise", "shaggy-jokes-promise", + "shaggy-mugs-kiss", + "shaggy-zebras-mate", "six-llamas-give", "slimy-fans-raise", + "slow-dolls-type", "smooth-gifts-nail", "soft-flies-live", "sour-colts-juggle", "spicy-brooms-hang", "spicy-camels-happen", + "spicy-ears-raise", "spotty-plants-switch", + "spotty-ravens-perform", "strong-moose-work", "stupid-tigers-bake", "swift-islands-leave", + "tall-bananas-reflect", "tall-lies-fetch", "tall-pumas-teach", + "tasty-horses-breathe", "tender-seas-listen", "thirty-plums-shout", "tiny-pandas-return", + "twelve-pumpkins-fold", "twenty-masks-dance", "warm-bees-hope", "warm-mayflies-yell", "weak-gifts-occur", "wet-crabs-guess", + "wild-coats-doubt", "wild-doors-cheat", "wild-ears-walk", "wise-beers-doubt", diff --git a/docs/releases/v1.28.0-next.3-changelog.md b/docs/releases/v1.28.0-next.3-changelog.md new file mode 100644 index 0000000000..ead042fc6c --- /dev/null +++ b/docs/releases/v1.28.0-next.3-changelog.md @@ -0,0 +1,2379 @@ +# Release v1.28.0-next.3 + +Upgrade Helper: [https://backstage.github.io/upgrade-helper/?to=1.28.0-next.3](https://backstage.github.io/upgrade-helper/?to=1.28.0-next.3) + +## @backstage/integration@1.12.0-next.1 + +### Minor Changes + +- be1014d: **BREAKING** Removed deprecated code from when casing was changed from `GitHub` to `Github` nearly two years ago. The following items have been removed: + + - `getGitHubFileFetchUrl` (use `getGithubFileFetchUrl` instead) + - `GitHubIntegrationConfig` (use `GithubIntegrationConfig` instead) + - `GitHubIntegration` (use `GithubIntegration` instead) + - `readGitHubIntegrationConfig` (use `readGithubIntegrationConfig` instead) + - `readGitHubIntegrationConfigs` (use `readGithubIntegrationConfigs` instead) + - `replaceGitHubUrlType` (use `replaceGithubUrlType` instead) + +### Patch Changes + +- 23ee9ab: Fix AWS CodeCommit integration by allowing to change the host +- Updated dependencies + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-auth-backend-module-atlassian-provider@0.2.0-next.2 + +### Minor Changes + +- 8efc6cf: **BREAKING**: The `scope` and `scopes` config options have been removed and replaced by the standard `additionalScopes` config. In addition, the `offline_access`, `read:jira-work`, and `read:jira-user` scopes have been set to required and will always be present. + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + +## @backstage/plugin-auth-backend-module-oauth2-provider@0.2.0-next.2 + +### Minor Changes + +- 8efc6cf: **BREAKING**: The `scope` config option have been removed and replaced by the standard `additionalScopes` config. + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + +## @backstage/plugin-auth-backend-module-oidc-provider@0.2.0-next.3 + +### Minor Changes + +- 8efc6cf: **BREAKING**: The `scope` config option have been removed and replaced by the standard `additionalScopes` config. In addition, `openid`, `profile`, and `email` scopes have been set to required and will always be present. + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-auth-backend@0.22.6-next.3 + - @backstage/backend-common@0.23.0-next.3 + +## @backstage/plugin-auth-backend-module-onelogin-provider@0.1.0-next.0 + +### Minor Changes + +- 566d7cb: Separate out the OneLogin provider into its own module + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + +## @backstage/plugin-auth-backend-module-vmware-cloud-provider@0.2.0-next.2 + +### Minor Changes + +- 8efc6cf: **BREAKING**: The `scope` config option have been removed and replaced by the standard `additionalScopes` config. In addition, `openid`, and `offline_access` scopes have been set to required and will always be present. + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/catalog-model@1.5.0 + +## @backstage/plugin-scaffolder@1.21.0-next.3 + +### Minor Changes + +- d57ebbc: Changed the way to display entities in EntityPicker to use entityPresentationApi instead of humanizeEntityRef + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-common@1.5.3-next.1 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-scaffolder-react@1.8.7-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/app-defaults@1.5.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + +## @backstage/backend-app-api@0.7.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/cli-node@0.2.6-next.2 + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/backend-common@0.23.0-next.3 + +### Patch Changes + +- b2ee7f3: Moved over all URL reader functionality from `@backstage/backend-common` to `@backstage/backend-defaults/urlReader`. Please update your imports. +- 23ee9ab: Fix AWS CodeCommit integration by allowing to change the host +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/backend-app-api@0.7.6-next.3 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/backend-dev-utils@0.1.4 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/integration-aws-node@0.1.12 + - @backstage/types@1.1.1 + +## @backstage/backend-defaults@0.3.0-next.3 + +### Patch Changes + +- 1897169: Exposed `DefaultSchedulerService` +- 8aab451: Internal minor refactors of the database connectors +- b2ee7f3: Moved over all URL reader functionality from `@backstage/backend-common` to `@backstage/backend-defaults/urlReader`. Please update your imports. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/backend-app-api@0.7.6-next.3 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/backend-dev-utils@0.1.4 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/integration-aws-node@0.1.12 + - @backstage/types@1.1.1 + +## @backstage/backend-dynamic-feature-service@0.2.11-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/cli-node@0.2.6-next.2 + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-catalog-backend@1.23.0-next.3 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/plugin-events-backend@0.3.6-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/plugin-app-node@0.1.19-next.2 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/backend-app-api@0.7.6-next.3 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/backend-openapi-utils@0.1.12-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/errors@1.2.4 + +## @backstage/backend-plugin-api@0.6.19-next.3 + +### Patch Changes + +- 9bdc3e8: In tests, return `null` rather than throwing an error when trying to get the `ExtensionPoint.T` property, so that tests asserting the property are not easily broken. + +- b2ee7f3: Deprecated all of the `UrlReader` related type names and replaced them with prefixed versions. Please update your imports. + + - `ReadTreeOptions` was renamed to `UrlReaderReadTreeOptions` + - `ReadTreeResponse` was renamed to `UrlReaderReadTreeResponse` + - `ReadTreeResponseDirOptions` was renamed to `UrlReaderReadTreeResponseDirOptions` + - `ReadTreeResponseFile` was renamed to `UrlReaderReadTreeResponseFile` + - `ReadUrlResponse` was renamed to `UrlReaderReadUrlResponse` + - `ReadUrlOptions` was renamed to `UrlReaderReadUrlOptions` + - `SearchOptions` was renamed to `UrlReaderSearchOptions` + - `SearchResponse` was renamed to `UrlReaderSearchResponse` + - `SearchResponseFile` was renamed to `UrlReaderSearchResponseFile` + +- Updated dependencies + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/backend-tasks@0.5.24-next.3 + +### Patch Changes + +- 1897169: More detailed deprecation messages +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/backend-test-utils@0.4.0-next.3 + +### Patch Changes + +- 006b3e8: The type `MockDirectoryOptions` was renamed to `CreateMockDirectoryOptions` so that it's clear these options are exclusive to the mock directory factory. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-app-api@0.7.6-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/cli@0.26.7-next.3 + +### Patch Changes + +- c328131: Added a new `--publish` flag to the `repo fix` command. This command will validate and if possible generate the metadata required for publishing packages with the Backstage CLI. In addition, a check has been added that the `backstage.pluginId` and `backstage.pluginPackage(s)` fields are present when packing a package for publishing. +- Updated dependencies + - @backstage/cli-node@0.2.6-next.2 + - @backstage/integration@1.12.0-next.1 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/eslint-plugin@0.1.8 + - @backstage/release-manifests@0.0.11 + - @backstage/types@1.1.1 + +## @backstage/cli-common@0.1.14-next.0 + +### Patch Changes + +- 142abb0: The monorepo root check in `findPaths` will now accept a shorthand `workspaces` config in `package.json`, no longer requiring `workspaces.packages`. + +## @backstage/cli-node@0.2.6-next.2 + +### Patch Changes + +- c328131: Added new plugin metadata fields to `BackstagePackageJson` type. +- Updated dependencies + - @backstage/cli-common@0.1.14-next.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/codemods@0.1.49-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/cli-common@0.1.14-next.0 + +## @backstage/config-loader@1.8.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/cli-common@0.1.14-next.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/core-compat-api@0.2.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/version-bridge@1.0.8 + +## @backstage/core-components@0.14.8-next.2 + +### Patch Changes + +- 59cee81: Use `inherit` variant on OverflowTooltip underlying Typography component. +- 83c4251: Adds icons to status component +- Updated dependencies + - @backstage/config@1.2.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/theme@0.5.6-next.0 + - @backstage/version-bridge@1.0.8 + +## @backstage/create-app@0.5.16-next.3 + +### Patch Changes + +- 34daaea: Fixed a broken link to the node-postgres documentation +- 1a212f9: Remove Tech Radar menu item from sidebar of scaffolded app to align with removal of tech-radar plugin from backend +- Updated dependencies + - @backstage/cli-common@0.1.14-next.0 + +## @backstage/dev-utils@1.0.33-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/app-defaults@1.5.6-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + +## @backstage/frontend-app-api@0.7.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/config@1.2.0 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/theme@0.5.6-next.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.8 + +## @backstage/frontend-plugin-api@0.6.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.8 + +## @backstage/frontend-test-utils@0.1.8-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-app-api@0.7.1-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/test-utils@1.5.6-next.2 + - @backstage/types@1.1.1 + +## @backstage/integration-react@1.1.28-next.1 + +### Patch Changes + +- 23ee9ab: Fix AWS CodeCommit integration by allowing to change the host +- Updated dependencies + - @backstage/integration@1.12.0-next.1 + - @backstage/config@1.2.0 + - @backstage/core-plugin-api@1.9.3-next.0 + +## @backstage/repo-tools@0.9.1-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/cli-node@0.2.6-next.2 + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/catalog-model@1.5.0 + - @backstage/errors@1.2.4 + +## @techdocs/cli@1.8.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-techdocs-node@1.12.5-next.3 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + +## @backstage/test-utils@1.5.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/config@1.2.0 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-api-docs@0.11.6-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-catalog@1.21.0-next.3 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + +## @backstage/plugin-api-docs-module-protoc-gen-doc@0.1.7-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. + +## @backstage/plugin-app-backend@0.3.68-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-app-node@0.1.19-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-app-node@0.1.19-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/config-loader@1.8.1-next.0 + +## @backstage/plugin-app-visualizer@0.1.7-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + +## @backstage/plugin-auth-backend@0.22.6-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- 3e1bb15: Updated to use the new `@backstage/plugin-auth-backend-module-onelogin-provider` implementation +- Updated dependencies + - @backstage/plugin-auth-backend-module-onelogin-provider@0.1.0-next.0 + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-auth-backend-module-atlassian-provider@0.2.0-next.2 + - @backstage/plugin-auth-backend-module-bitbucket-provider@0.1.2-next.2 + - @backstage/plugin-auth-backend-module-github-provider@0.1.16-next.2 + - @backstage/plugin-auth-backend-module-gitlab-provider@0.1.16-next.2 + - @backstage/plugin-auth-backend-module-google-provider@0.1.16-next.2 + - @backstage/plugin-auth-backend-module-microsoft-provider@0.1.14-next.2 + - @backstage/plugin-auth-backend-module-oauth2-provider@0.2.0-next.2 + - @backstage/plugin-auth-backend-module-oidc-provider@0.2.0-next.3 + - @backstage/plugin-auth-backend-module-okta-provider@0.0.12-next.2 + - @backstage/plugin-auth-backend-module-cloudflare-access-provider@0.1.2-next.3 + - @backstage/plugin-auth-backend-module-azure-easyauth-provider@0.1.2-next.2 + - @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.12-next.2 + - @backstage/plugin-auth-backend-module-aws-alb-provider@0.1.11-next.3 + - @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.14-next.2 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-auth-backend-module-aws-alb-provider@0.1.11-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-auth-backend@0.22.6-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/errors@1.2.4 + +## @backstage/plugin-auth-backend-module-azure-easyauth-provider@0.1.2-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-auth-backend-module-bitbucket-provider@0.1.2-next.2 + +### Patch Changes + +- 8efc6cf: Added support for the new shared `additionalScopes` configuration. In addition, the `account` scope has been set to required and will always be present. +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + +## @backstage/plugin-auth-backend-module-cloudflare-access-provider@0.1.2-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.14-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-auth-backend-module-github-provider@0.1.16-next.2 + +### Patch Changes + +- 8efc6cf: Added support for the new shared `additionalScopes` configuration. In addition, the `read:user` scope has been set to required and will always be present. +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + +## @backstage/plugin-auth-backend-module-gitlab-provider@0.1.16-next.2 + +### Patch Changes + +- 8efc6cf: Added support for the new shared `additionalScopes` configuration. In addition, the `read_user` scope has been set to required and will always be present. +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + +## @backstage/plugin-auth-backend-module-google-provider@0.1.16-next.2 + +### Patch Changes + +- 8efc6cf: Added support for the new shared `additionalScopes` configuration. In addition, the `openid`, `userinfo.email`, and `userinfo.profile` scopes have been set to required and will always be present. +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + +## @backstage/plugin-auth-backend-module-guest-provider@0.1.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-auth-backend-module-microsoft-provider@0.1.14-next.2 + +### Patch Changes + +- 8efc6cf: Added support for the new shared `additionalScopes` configuration. +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + +## @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.12-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/errors@1.2.4 + +## @backstage/plugin-auth-backend-module-okta-provider@0.0.12-next.2 + +### Patch Changes + +- 8efc6cf: Added support for the new shared `additionalScopes` configuration, which means it can now also be specified as an array. In addition, the `openid`, `email`, `profile`, and `offline_access` scopes have been set to required and will always be present. +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + +## @backstage/plugin-auth-backend-module-pinniped-provider@0.1.13-next.2 + +### Patch Changes + +- 8efc6cf: **BREAKING**: The `scope` config option have been removed and replaced by the standard `additionalScopes` config. In addition, the `openid`, `pinniped:request-audience`, `username`, and `offline_access` scopes have been set to required and will always be present. +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/config@1.2.0 + +## @backstage/plugin-auth-node@0.4.14-next.3 + +### Patch Changes + +- 798ec37: Updated scope management for OAuth providers, where the `createOAuthAuthenticator` now accepts a new collection of `scopes` options: + + - `scopes.persist` - Whether scopes should be persisted, replaces the `shouldPersistScopes` option. + - `scopes.required` - A list of required scopes that will always be requested. + - `scopes.transform` - A function that can be used to transform the scopes before they are requested. + + The `createOAuthProviderFactory` has also received a new `additionalScopes` option, and will also read `additionalScopes` from the auth provider configuration. Both of these can be used to add additional scopes that should always be requested. + + A significant change under the hood that this new scope management brings is that providers that persist scopes will now always merge the already granted scopes with the requested ones. The previous behavior was that the full authorization flow would not include existing scopes, while the refresh flow would only include the existing scopes. + +- d44a20a: Added additional plugin metadata to `package.json`. + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-auth-react@0.1.3-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-bitbucket-cloud-common@0.2.20-next.1 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/integration@1.12.0-next.1 + +## @backstage/plugin-catalog@1.21.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- e04e57d: Fix bug with missing Actions column after adding "pagination" prop to catalog table +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-scaffolder-common@1.5.3-next.1 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-search-react@1.7.12-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-backend@1.23.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-search-backend-module-catalog@0.1.25-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/backend-openapi-utils@0.1.12-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-backend-module-aws@0.3.14-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-kubernetes-common@0.8.0-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/integration-aws-node@0.1.12 + +## @backstage/plugin-catalog-backend-module-azure@0.1.39-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + +## @backstage/plugin-catalog-backend-module-backstage-openapi@0.2.2-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-openapi-utils@0.1.12-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.2.6-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-bitbucket-cloud-common@0.2.20-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + +## @backstage/plugin-catalog-backend-module-bitbucket-server@0.1.33-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-catalog-backend-module-gcp@0.1.20-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-kubernetes-common@0.8.0-next.1 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + +## @backstage/plugin-catalog-backend-module-gerrit@0.1.36-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-catalog-backend-module-github@0.6.2-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-backend@1.23.0-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + +## @backstage/plugin-catalog-backend-module-github-org@0.1.14-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-catalog-backend-module-github@0.6.2-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + +## @backstage/plugin-catalog-backend-module-gitlab@0.3.18-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + +## @backstage/plugin-catalog-backend-module-gitlab-org@0.0.2-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-catalog-backend-module-gitlab@0.3.18-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-common@0.23.0-next.3 + +## @backstage/plugin-catalog-backend-module-incremental-ingestion@0.4.24-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-catalog-backend@1.23.0-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-catalog-backend-module-ldap@0.6.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-backend-module-msgraph@0.5.27-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + +## @backstage/plugin-catalog-backend-module-openapi@0.1.37-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-backend@1.23.0-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-backend-module-puppetdb@0.1.25-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.17-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-scaffolder-common@1.5.3-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/catalog-model@1.5.0 + +## @backstage/plugin-catalog-backend-module-unprocessed@0.4.6-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-catalog-unprocessed-entities-common@0.0.2-next.0 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-catalog-common@1.0.24-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/catalog-model@1.5.0 + +## @backstage/plugin-catalog-graph@0.4.6-next.2 + +### Patch Changes + +- 8d474d3: Add function to `EntityRelationsGraph` filter that excludes entities from graph +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-import@0.12.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-catalog-node@1.12.1-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-react@1.12.1-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- fa8560e: Prevents Autocomplete dropdown from overlapping sidebar on hovering it +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.8 + +## @backstage/plugin-catalog-unprocessed-entities@0.2.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-catalog-unprocessed-entities-common@0.0.2-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + +## @backstage/plugin-config-schema@0.1.56-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-devtools@0.1.15-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-devtools-common@0.1.10-next.0 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-devtools-backend@0.3.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-devtools-common@0.1.10-next.0 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-devtools-common@0.1.10-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-events-backend@0.3.6-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + +## @backstage/plugin-events-backend-module-aws-sqs@0.3.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-events-backend-module-azure@0.2.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + +## @backstage/plugin-events-backend-module-bitbucket-cloud@0.2.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + +## @backstage/plugin-events-backend-module-gerrit@0.2.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + +## @backstage/plugin-events-backend-module-github@0.2.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/config@1.2.0 + +## @backstage/plugin-events-backend-module-gitlab@0.2.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/config@1.2.0 + +## @backstage/plugin-events-backend-test-utils@0.1.29-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-events-node@0.3.5-next.2 + +## @backstage/plugin-events-node@0.3.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + +## @backstage/plugin-home@0.7.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-home-react@0.1.14-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + +## @backstage/plugin-home-react@0.1.14-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + +## @backstage/plugin-kubernetes@0.11.11-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-kubernetes-common@0.8.0-next.1 + - @backstage/plugin-kubernetes-react@0.4.0-next.3 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + +## @backstage/plugin-kubernetes-backend@0.18.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-kubernetes-common@0.8.0-next.1 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-kubernetes-node@0.1.13-next.3 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/integration-aws-node@0.1.12 + - @backstage/types@1.1.1 + +## @backstage/plugin-kubernetes-cluster@0.0.12-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-kubernetes-common@0.8.0-next.1 + - @backstage/plugin-kubernetes-react@0.4.0-next.3 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + +## @backstage/plugin-kubernetes-common@0.8.0-next.1 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/catalog-model@1.5.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-kubernetes-node@0.1.13-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-kubernetes-common@0.8.0-next.1 + - @backstage/catalog-model@1.5.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-kubernetes-react@0.4.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-kubernetes-common@0.8.0-next.1 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-notifications@0.2.2-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-notifications-common@0.0.4-next.0 + - @backstage/plugin-signals-react@0.0.4-next.1 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/theme@0.5.6-next.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-notifications-backend@0.3.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-notifications-common@0.0.4-next.0 + - @backstage/plugin-notifications-node@0.2.0-next.3 + - @backstage/plugin-signals-node@0.1.5-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-notifications-backend-module-email@0.1.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-notifications-common@0.0.4-next.0 + - @backstage/plugin-notifications-node@0.2.0-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/integration-aws-node@0.1.12 + - @backstage/types@1.1.1 + +## @backstage/plugin-notifications-common@0.0.4-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. + +## @backstage/plugin-notifications-node@0.2.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-notifications-common@0.0.4-next.0 + - @backstage/plugin-signals-node@0.1.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + +## @backstage/plugin-org@0.6.26-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + +## @backstage/plugin-org-react@0.1.25-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + +## @backstage/plugin-permission-backend@0.5.43-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-permission-backend-module-allow-all-policy@0.1.16-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-permission-node@0.7.30-next.3 + +## @backstage/plugin-permission-common@0.7.14-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-permission-node@0.7.30-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-permission-react@0.4.23-next.1 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/config@1.2.0 + - @backstage/core-plugin-api@1.9.3-next.0 + +## @backstage/plugin-proxy-backend@0.5.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend@1.22.8-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- f4c8486: Increase max wait time in debug:wait action to 10 minutes +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.17-next.3 + - @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.9-next.2 + - @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.9-next.2 + - @backstage/plugin-scaffolder-backend-module-bitbucket@0.2.9-next.2 + - @backstage/plugin-scaffolder-backend-module-gerrit@0.1.11-next.2 + - @backstage/plugin-scaffolder-backend-module-github@0.3.0-next.3 + - @backstage/plugin-scaffolder-backend-module-gitlab@0.4.1-next.3 + - @backstage/plugin-scaffolder-backend-module-azure@0.1.11-next.2 + - @backstage/plugin-scaffolder-backend-module-gitea@0.1.9-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-scaffolder-common@1.5.3-next.1 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-azure@0.1.11-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-scaffolder-backend-module-bitbucket@0.2.9-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.9-next.2 + - @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.9-next.2 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.9-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.9-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.20-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.43-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-gerrit@0.1.11-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-scaffolder-backend-module-gitea@0.1.9-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-scaffolder-backend-module-github@0.3.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-scaffolder-backend-module-gitlab@0.4.1-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-scaffolder-backend-module-notifications@0.0.2-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-notifications-common@0.0.4-next.0 + - @backstage/plugin-notifications-node@0.2.0-next.3 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + +## @backstage/plugin-scaffolder-backend-module-rails@0.4.36-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-sentry@0.1.27-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-scaffolder-backend-module-yeoman@0.3.2-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-scaffolder-node-test-utils@0.1.5-next.3 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-common@1.5.3-next.1 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/catalog-model@1.5.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-node@0.4.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-common@1.5.3-next.1 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-node-test-utils@0.1.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-test-utils@0.4.0-next.3 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-react@1.8.7-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- fa8560e: Prevents Autocomplete dropdown from overlapping sidebar on hovering it +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-scaffolder-common@1.5.3-next.1 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.8 + +## @backstage/plugin-search@1.4.12-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-search-react@1.7.12-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.8 + +## @backstage/plugin-search-backend@1.5.10-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/backend-defaults@0.3.0-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/backend-openapi-utils@0.1.12-next.2 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-search-backend-module-catalog@0.1.25-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-search-backend-module-elasticsearch@1.4.2-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/integration-aws-node@0.1.12 + +## @backstage/plugin-search-backend-module-explore@0.1.25-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + +## @backstage/plugin-search-backend-module-pg@0.5.28-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/backend-app-api@0.7.6-next.3 + - @backstage/config@1.2.0 + +## @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.12-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + +## @backstage/plugin-search-backend-module-techdocs@0.1.24-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-techdocs-node@1.12.5-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + +## @backstage/plugin-search-backend-node@1.2.24-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-search-common@1.2.12-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-search-react@1.7.12-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.8 + +## @backstage/plugin-signals@0.0.7-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-signals-react@0.0.4-next.1 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-signals-backend@0.1.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-signals-node@0.1.5-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-signals-node@0.1.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-signals-react@0.0.4-next.1 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-techdocs@1.10.6-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-techdocs-react@1.2.5-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-search-react@1.7.12-next.2 + - @backstage/plugin-auth-react@0.1.3-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/theme@0.5.6-next.0 + +## @backstage/plugin-techdocs-addons-test-utils@1.0.33-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.2.5-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-search-react@1.7.12-next.2 + - @backstage/plugin-techdocs@1.10.6-next.2 + - @backstage/plugin-catalog@1.21.0-next.3 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/test-utils@1.5.6-next.2 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + +## @backstage/plugin-techdocs-backend@1.10.6-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-search-backend-module-techdocs@0.1.24-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-techdocs-node@1.12.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + +## @backstage/plugin-techdocs-module-addons-contrib@1.1.11-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-techdocs-react@1.2.5-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/core-plugin-api@1.9.3-next.0 + +## @backstage/plugin-techdocs-node@1.12.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/integration-aws-node@0.1.12 + +## @backstage/plugin-techdocs-react@1.2.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/version-bridge@1.0.8 + +## @backstage/plugin-user-settings@0.8.7-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- e6ec179: Use signals to update user settings across sessions +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-user-settings-common@0.0.1-next.0 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-signals-react@0.0.4-next.1 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/theme@0.5.6-next.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-user-settings-backend@0.2.18-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- e6ec179: Use signals to update user settings across sessions +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-user-settings-common@0.0.1-next.0 + - @backstage/plugin-signals-node@0.1.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-user-settings-common@0.0.1-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- e6ec179: Use signals to update user settings across sessions + +## example-app@0.2.98-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-graph@0.4.6-next.2 + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.11-next.2 + - @backstage/plugin-catalog-unprocessed-entities@0.2.5-next.2 + - @backstage/plugin-kubernetes-cluster@0.0.12-next.3 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-scaffolder-react@1.8.7-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-import@0.12.0-next.3 + - @backstage/plugin-techdocs-react@1.2.5-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-notifications@0.2.2-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-user-settings@0.8.7-next.2 + - @backstage/plugin-search-react@1.7.12-next.2 + - @backstage/plugin-auth-react@0.1.3-next.2 + - @backstage/plugin-kubernetes@0.11.11-next.3 + - @backstage/plugin-scaffolder@1.21.0-next.3 + - @backstage/plugin-api-docs@0.11.6-next.2 + - @backstage/plugin-devtools@0.1.15-next.2 + - @backstage/plugin-techdocs@1.10.6-next.2 + - @backstage/plugin-catalog@1.21.0-next.3 + - @backstage/plugin-signals@0.0.7-next.2 + - @backstage/plugin-search@1.4.12-next.3 + - @backstage/plugin-home@0.7.5-next.2 + - @backstage/plugin-org@0.6.26-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/cli@0.26.7-next.3 + - @backstage/app-defaults@1.5.6-next.2 + - @backstage/frontend-app-api@0.7.1-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + +## example-app-next@0.0.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-graph@0.4.6-next.2 + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.11-next.2 + - @backstage/plugin-catalog-unprocessed-entities@0.2.5-next.2 + - @backstage/plugin-kubernetes-cluster@0.0.12-next.3 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-scaffolder-react@1.8.7-next.3 + - @backstage/plugin-app-visualizer@0.1.7-next.2 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-import@0.12.0-next.3 + - @backstage/plugin-techdocs-react@1.2.5-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-notifications@0.2.2-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-user-settings@0.8.7-next.2 + - @backstage/plugin-search-react@1.7.12-next.2 + - @backstage/plugin-auth-react@0.1.3-next.2 + - @backstage/plugin-kubernetes@0.11.11-next.3 + - @backstage/plugin-scaffolder@1.21.0-next.3 + - @backstage/plugin-api-docs@0.11.6-next.2 + - @backstage/plugin-techdocs@1.10.6-next.2 + - @backstage/plugin-catalog@1.21.0-next.3 + - @backstage/plugin-signals@0.0.7-next.2 + - @backstage/plugin-search@1.4.12-next.3 + - @backstage/plugin-home@0.7.5-next.2 + - @backstage/plugin-org@0.6.26-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/cli@0.26.7-next.3 + - @backstage/app-defaults@1.5.6-next.2 + - @backstage/frontend-app-api@0.7.1-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + +## app-next-example-plugin@0.0.12-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + +## example-backend@0.0.27-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/backend-defaults@0.3.0-next.3 + - @backstage/plugin-auth-backend-module-github-provider@0.1.16-next.2 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.17-next.3 + - @backstage/plugin-permission-backend-module-allow-all-policy@0.1.16-next.2 + - @backstage/plugin-catalog-backend-module-backstage-openapi@0.2.2-next.2 + - @backstage/plugin-auth-backend-module-guest-provider@0.1.5-next.3 + - @backstage/plugin-catalog-backend-module-unprocessed@0.4.6-next.3 + - @backstage/plugin-scaffolder-backend-module-github@0.3.0-next.3 + - @backstage/plugin-catalog-backend-module-openapi@0.1.37-next.3 + - @backstage/plugin-search-backend-module-techdocs@0.1.24-next.3 + - @backstage/plugin-search-backend-module-catalog@0.1.25-next.3 + - @backstage/plugin-search-backend-module-explore@0.1.25-next.3 + - @backstage/plugin-notifications-backend@0.3.0-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-kubernetes-backend@0.18.0-next.3 + - @backstage/plugin-permission-backend@0.5.43-next.3 + - @backstage/plugin-scaffolder-backend@1.22.8-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-devtools-backend@0.3.5-next.3 + - @backstage/plugin-techdocs-backend@1.10.6-next.3 + - @backstage/plugin-catalog-backend@1.23.0-next.3 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-signals-backend@0.1.5-next.3 + - @backstage/plugin-search-backend@1.5.10-next.3 + - @backstage/plugin-proxy-backend@0.5.0-next.3 + - @backstage/plugin-auth-backend@0.22.6-next.3 + - @backstage/plugin-app-backend@0.3.68-next.3 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/catalog-model@1.5.0 + +## example-backend-legacy@0.2.99-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.20-next.3 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.17-next.3 + - @backstage/plugin-search-backend-module-elasticsearch@1.4.2-next.3 + - @backstage/plugin-catalog-backend-module-unprocessed@0.4.6-next.3 + - @backstage/plugin-scaffolder-backend-module-gitlab@0.4.1-next.3 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.36-next.3 + - @backstage/plugin-search-backend-module-techdocs@0.1.24-next.3 + - @backstage/plugin-search-backend-module-catalog@0.1.25-next.3 + - @backstage/plugin-search-backend-module-explore@0.1.25-next.3 + - @backstage/plugin-search-backend-module-pg@0.5.28-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-kubernetes-backend@0.18.0-next.3 + - @backstage/plugin-permission-backend@0.5.43-next.3 + - @backstage/plugin-scaffolder-backend@1.22.8-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-devtools-backend@0.3.5-next.3 + - @backstage/plugin-techdocs-backend@1.10.6-next.3 + - @backstage/plugin-catalog-backend@1.23.0-next.3 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-signals-backend@0.1.5-next.3 + - @backstage/plugin-events-backend@0.3.6-next.3 + - @backstage/plugin-search-backend@1.5.10-next.3 + - @backstage/plugin-proxy-backend@0.5.0-next.3 + - @backstage/plugin-auth-backend@0.22.6-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-signals-node@0.1.5-next.3 + - @backstage/plugin-app-backend@0.3.68-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - example-app@0.2.98-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + +## e2e-test@0.2.17-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/cli-common@0.1.14-next.0 + - @backstage/create-app@0.5.16-next.3 + - @backstage/errors@1.2.4 + +## techdocs-cli-embedded-app@0.2.97-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-techdocs-react@1.2.5-next.2 + - @backstage/plugin-techdocs@1.10.6-next.2 + - @backstage/plugin-catalog@1.21.0-next.3 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/cli@0.26.7-next.3 + - @backstage/app-defaults@1.5.6-next.2 + - @backstage/test-utils@1.5.6-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + +## yarn-plugin-backstage@0.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/cli-common@0.1.14-next.0 + - @backstage/release-manifests@0.0.11 + +## @internal/plugin-todo-list@1.0.28-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + +## @internal/plugin-todo-list-backend@1.0.28-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/errors@1.2.4 + +## @internal/plugin-todo-list-common@1.0.19-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 diff --git a/package.json b/package.json index 4868e93942..03b152d1e6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "root", - "version": "1.28.0-next.2", + "version": "1.28.0-next.3", "private": true, "repository": { "type": "git", diff --git a/packages/app-defaults/CHANGELOG.md b/packages/app-defaults/CHANGELOG.md index 74ed9e5945..dc03f00faf 100644 --- a/packages/app-defaults/CHANGELOG.md +++ b/packages/app-defaults/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/app-defaults +## 1.5.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + ## 1.5.6-next.1 ### Patch Changes diff --git a/packages/app-defaults/package.json b/packages/app-defaults/package.json index de173ffecc..df20b60bf9 100644 --- a/packages/app-defaults/package.json +++ b/packages/app-defaults/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/app-defaults", - "version": "1.5.6-next.1", + "version": "1.5.6-next.2", "description": "Provides the default wiring of a Backstage App", "backstage": { "role": "web-library" diff --git a/packages/app-next-example-plugin/CHANGELOG.md b/packages/app-next-example-plugin/CHANGELOG.md index 70b5b29965..c915ed8ff9 100644 --- a/packages/app-next-example-plugin/CHANGELOG.md +++ b/packages/app-next-example-plugin/CHANGELOG.md @@ -1,5 +1,13 @@ # app-next-example-plugin +## 0.0.12-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + ## 0.0.12-next.1 ### Patch Changes diff --git a/packages/app-next-example-plugin/package.json b/packages/app-next-example-plugin/package.json index f42c07952c..c17e398482 100644 --- a/packages/app-next-example-plugin/package.json +++ b/packages/app-next-example-plugin/package.json @@ -1,6 +1,6 @@ { "name": "app-next-example-plugin", - "version": "0.0.12-next.1", + "version": "0.0.12-next.2", "description": "Backstage internal example plugin", "backstage": { "role": "frontend-plugin", diff --git a/packages/app-next/CHANGELOG.md b/packages/app-next/CHANGELOG.md index 35842adb21..1f0ae7b5e4 100644 --- a/packages/app-next/CHANGELOG.md +++ b/packages/app-next/CHANGELOG.md @@ -1,5 +1,48 @@ # example-app-next +## 0.0.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-graph@0.4.6-next.2 + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.11-next.2 + - @backstage/plugin-catalog-unprocessed-entities@0.2.5-next.2 + - @backstage/plugin-kubernetes-cluster@0.0.12-next.3 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-scaffolder-react@1.8.7-next.3 + - @backstage/plugin-app-visualizer@0.1.7-next.2 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-import@0.12.0-next.3 + - @backstage/plugin-techdocs-react@1.2.5-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-notifications@0.2.2-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-user-settings@0.8.7-next.2 + - @backstage/plugin-search-react@1.7.12-next.2 + - @backstage/plugin-auth-react@0.1.3-next.2 + - @backstage/plugin-kubernetes@0.11.11-next.3 + - @backstage/plugin-scaffolder@1.21.0-next.3 + - @backstage/plugin-api-docs@0.11.6-next.2 + - @backstage/plugin-techdocs@1.10.6-next.2 + - @backstage/plugin-catalog@1.21.0-next.3 + - @backstage/plugin-signals@0.0.7-next.2 + - @backstage/plugin-search@1.4.12-next.3 + - @backstage/plugin-home@0.7.5-next.2 + - @backstage/plugin-org@0.6.26-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/cli@0.26.7-next.3 + - @backstage/app-defaults@1.5.6-next.2 + - @backstage/frontend-app-api@0.7.1-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + ## 0.0.12-next.2 ### Patch Changes diff --git a/packages/app-next/package.json b/packages/app-next/package.json index c3496f5d3b..9277888dc9 100644 --- a/packages/app-next/package.json +++ b/packages/app-next/package.json @@ -1,6 +1,6 @@ { "name": "example-app-next", - "version": "0.0.12-next.2", + "version": "0.0.12-next.3", "private": true, "repository": { "type": "git", diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md index fc9f12b26f..50e0487a21 100644 --- a/packages/app/CHANGELOG.md +++ b/packages/app/CHANGELOG.md @@ -1,5 +1,46 @@ # example-app +## 0.2.98-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-graph@0.4.6-next.2 + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.11-next.2 + - @backstage/plugin-catalog-unprocessed-entities@0.2.5-next.2 + - @backstage/plugin-kubernetes-cluster@0.0.12-next.3 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-scaffolder-react@1.8.7-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-import@0.12.0-next.3 + - @backstage/plugin-techdocs-react@1.2.5-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-notifications@0.2.2-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-user-settings@0.8.7-next.2 + - @backstage/plugin-search-react@1.7.12-next.2 + - @backstage/plugin-auth-react@0.1.3-next.2 + - @backstage/plugin-kubernetes@0.11.11-next.3 + - @backstage/plugin-scaffolder@1.21.0-next.3 + - @backstage/plugin-api-docs@0.11.6-next.2 + - @backstage/plugin-devtools@0.1.15-next.2 + - @backstage/plugin-techdocs@1.10.6-next.2 + - @backstage/plugin-catalog@1.21.0-next.3 + - @backstage/plugin-signals@0.0.7-next.2 + - @backstage/plugin-search@1.4.12-next.3 + - @backstage/plugin-home@0.7.5-next.2 + - @backstage/plugin-org@0.6.26-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/cli@0.26.7-next.3 + - @backstage/app-defaults@1.5.6-next.2 + - @backstage/frontend-app-api@0.7.1-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + ## 0.2.98-next.2 ### Patch Changes diff --git a/packages/app/package.json b/packages/app/package.json index b08b838f7b..70512e9362 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "example-app", - "version": "0.2.98-next.2", + "version": "0.2.98-next.3", "backstage": { "role": "frontend" }, diff --git a/packages/backend-app-api/CHANGELOG.md b/packages/backend-app-api/CHANGELOG.md index 7d3bb8dabf..1d23c727bc 100644 --- a/packages/backend-app-api/CHANGELOG.md +++ b/packages/backend-app-api/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/backend-app-api +## 0.7.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/cli-node@0.2.6-next.2 + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.7.6-next.2 ### Patch Changes diff --git a/packages/backend-app-api/package.json b/packages/backend-app-api/package.json index efeff8a96d..020cdea841 100644 --- a/packages/backend-app-api/package.json +++ b/packages/backend-app-api/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/backend-app-api", - "version": "0.7.6-next.2", + "version": "0.7.6-next.3", "description": "Core API used by Backstage backend apps", "backstage": { "role": "node-library" diff --git a/packages/backend-common/CHANGELOG.md b/packages/backend-common/CHANGELOG.md index ecf56c5f28..35cfab0d74 100644 --- a/packages/backend-common/CHANGELOG.md +++ b/packages/backend-common/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/backend-common +## 0.23.0-next.3 + +### Patch Changes + +- b2ee7f3: Moved over all URL reader functionality from `@backstage/backend-common` to `@backstage/backend-defaults/urlReader`. Please update your imports. +- 23ee9ab: Fix AWS CodeCommit integration by allowing to change the host +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/backend-app-api@0.7.6-next.3 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/backend-dev-utils@0.1.4 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/integration-aws-node@0.1.12 + - @backstage/types@1.1.1 + ## 0.23.0-next.2 ### Minor Changes diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json index e5b5806ddf..0cc440e56d 100644 --- a/packages/backend-common/package.json +++ b/packages/backend-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/backend-common", - "version": "0.23.0-next.2", + "version": "0.23.0-next.3", "description": "Common functionality library for Backstage backends", "backstage": { "role": "node-library" diff --git a/packages/backend-defaults/CHANGELOG.md b/packages/backend-defaults/CHANGELOG.md index 7556cbbab8..c88dc8f587 100644 --- a/packages/backend-defaults/CHANGELOG.md +++ b/packages/backend-defaults/CHANGELOG.md @@ -1,5 +1,26 @@ # @backstage/backend-defaults +## 0.3.0-next.3 + +### Patch Changes + +- 1897169: Exposed `DefaultSchedulerService` +- 8aab451: Internal minor refactors of the database connectors +- b2ee7f3: Moved over all URL reader functionality from `@backstage/backend-common` to `@backstage/backend-defaults/urlReader`. Please update your imports. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/backend-app-api@0.7.6-next.3 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/backend-dev-utils@0.1.4 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/integration-aws-node@0.1.12 + - @backstage/types@1.1.1 + ## 0.3.0-next.2 ### Patch Changes diff --git a/packages/backend-defaults/package.json b/packages/backend-defaults/package.json index 19d0781e7e..23c68625ca 100644 --- a/packages/backend-defaults/package.json +++ b/packages/backend-defaults/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/backend-defaults", - "version": "0.3.0-next.2", + "version": "0.3.0-next.3", "description": "Backend defaults used by Backstage backend apps", "backstage": { "role": "node-library" diff --git a/packages/backend-dynamic-feature-service/CHANGELOG.md b/packages/backend-dynamic-feature-service/CHANGELOG.md index 007951a732..51943e952d 100644 --- a/packages/backend-dynamic-feature-service/CHANGELOG.md +++ b/packages/backend-dynamic-feature-service/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/backend-dynamic-feature-service +## 0.2.11-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/cli-node@0.2.6-next.2 + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-catalog-backend@1.23.0-next.3 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/plugin-events-backend@0.3.6-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/plugin-app-node@0.1.19-next.2 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/backend-app-api@0.7.6-next.3 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.2.11-next.2 ### Patch Changes diff --git a/packages/backend-dynamic-feature-service/package.json b/packages/backend-dynamic-feature-service/package.json index 54a76df87a..fb2646f59b 100644 --- a/packages/backend-dynamic-feature-service/package.json +++ b/packages/backend-dynamic-feature-service/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-dynamic-feature-service", "description": "Backstage dynamic feature service", - "version": "0.2.11-next.2", + "version": "0.2.11-next.3", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-legacy/CHANGELOG.md b/packages/backend-legacy/CHANGELOG.md index 33d3a78ffd..64a7e372db 100644 --- a/packages/backend-legacy/CHANGELOG.md +++ b/packages/backend-legacy/CHANGELOG.md @@ -1,5 +1,47 @@ # example-backend-legacy +## 0.2.99-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.20-next.3 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.17-next.3 + - @backstage/plugin-search-backend-module-elasticsearch@1.4.2-next.3 + - @backstage/plugin-catalog-backend-module-unprocessed@0.4.6-next.3 + - @backstage/plugin-scaffolder-backend-module-gitlab@0.4.1-next.3 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.36-next.3 + - @backstage/plugin-search-backend-module-techdocs@0.1.24-next.3 + - @backstage/plugin-search-backend-module-catalog@0.1.25-next.3 + - @backstage/plugin-search-backend-module-explore@0.1.25-next.3 + - @backstage/plugin-search-backend-module-pg@0.5.28-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-kubernetes-backend@0.18.0-next.3 + - @backstage/plugin-permission-backend@0.5.43-next.3 + - @backstage/plugin-scaffolder-backend@1.22.8-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-devtools-backend@0.3.5-next.3 + - @backstage/plugin-techdocs-backend@1.10.6-next.3 + - @backstage/plugin-catalog-backend@1.23.0-next.3 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-signals-backend@0.1.5-next.3 + - @backstage/plugin-events-backend@0.3.6-next.3 + - @backstage/plugin-search-backend@1.5.10-next.3 + - @backstage/plugin-proxy-backend@0.5.0-next.3 + - @backstage/plugin-auth-backend@0.22.6-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-signals-node@0.1.5-next.3 + - @backstage/plugin-app-backend@0.3.68-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - example-app@0.2.98-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + ## 0.2.99-next.2 ### Patch Changes diff --git a/packages/backend-legacy/package.json b/packages/backend-legacy/package.json index 819a33ea5d..f19b5205ae 100644 --- a/packages/backend-legacy/package.json +++ b/packages/backend-legacy/package.json @@ -1,6 +1,6 @@ { "name": "example-backend-legacy", - "version": "0.2.99-next.2", + "version": "0.2.99-next.3", "backstage": { "role": "backend" }, diff --git a/packages/backend-openapi-utils/CHANGELOG.md b/packages/backend-openapi-utils/CHANGELOG.md index c6cf035fcf..f7a6b90d54 100644 --- a/packages/backend-openapi-utils/CHANGELOG.md +++ b/packages/backend-openapi-utils/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/backend-openapi-utils +## 0.1.12-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/errors@1.2.4 + ## 0.1.12-next.1 ### Patch Changes diff --git a/packages/backend-openapi-utils/package.json b/packages/backend-openapi-utils/package.json index c50c9ec1f8..38121282c8 100644 --- a/packages/backend-openapi-utils/package.json +++ b/packages/backend-openapi-utils/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-openapi-utils", "description": "OpenAPI typescript support.", - "version": "0.1.12-next.1", + "version": "0.1.12-next.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/backend-plugin-api/CHANGELOG.md b/packages/backend-plugin-api/CHANGELOG.md index 347f923808..141db6f408 100644 --- a/packages/backend-plugin-api/CHANGELOG.md +++ b/packages/backend-plugin-api/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/backend-plugin-api +## 0.6.19-next.3 + +### Patch Changes + +- 9bdc3e8: In tests, return `null` rather than throwing an error when trying to get the `ExtensionPoint.T` property, so that tests asserting the property are not easily broken. +- b2ee7f3: Deprecated all of the `UrlReader` related type names and replaced them with prefixed versions. Please update your imports. + + - `ReadTreeOptions` was renamed to `UrlReaderReadTreeOptions` + - `ReadTreeResponse` was renamed to `UrlReaderReadTreeResponse` + - `ReadTreeResponseDirOptions` was renamed to `UrlReaderReadTreeResponseDirOptions` + - `ReadTreeResponseFile` was renamed to `UrlReaderReadTreeResponseFile` + - `ReadUrlResponse` was renamed to `UrlReaderReadUrlResponse` + - `ReadUrlOptions` was renamed to `UrlReaderReadUrlOptions` + - `SearchOptions` was renamed to `UrlReaderSearchOptions` + - `SearchResponse` was renamed to `UrlReaderSearchResponse` + - `SearchResponseFile` was renamed to `UrlReaderSearchResponseFile` + +- Updated dependencies + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.6.19-next.2 ### Patch Changes diff --git a/packages/backend-plugin-api/package.json b/packages/backend-plugin-api/package.json index da33828aae..6e3ad58fb5 100644 --- a/packages/backend-plugin-api/package.json +++ b/packages/backend-plugin-api/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/backend-plugin-api", - "version": "0.6.19-next.2", + "version": "0.6.19-next.3", "description": "Core API used by Backstage backend plugins", "backstage": { "role": "node-library" diff --git a/packages/backend-tasks/CHANGELOG.md b/packages/backend-tasks/CHANGELOG.md index cdc54dcec4..aa4c786b65 100644 --- a/packages/backend-tasks/CHANGELOG.md +++ b/packages/backend-tasks/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/backend-tasks +## 0.5.24-next.3 + +### Patch Changes + +- 1897169: More detailed deprecation messages +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.5.24-next.2 ### Patch Changes diff --git a/packages/backend-tasks/package.json b/packages/backend-tasks/package.json index 029b73a013..f11d0c7788 100644 --- a/packages/backend-tasks/package.json +++ b/packages/backend-tasks/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-tasks", "description": "Common distributed task management library for Backstage backends", - "version": "0.5.24-next.2", + "version": "0.5.24-next.3", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-test-utils/CHANGELOG.md b/packages/backend-test-utils/CHANGELOG.md index a15cb095bd..2e3051b85e 100644 --- a/packages/backend-test-utils/CHANGELOG.md +++ b/packages/backend-test-utils/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/backend-test-utils +## 0.4.0-next.3 + +### Patch Changes + +- 006b3e8: The type `MockDirectoryOptions` was renamed to `CreateMockDirectoryOptions` so that it's clear these options are exclusive to the mock directory factory. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-app-api@0.7.6-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.4.0-next.2 ### Patch Changes diff --git a/packages/backend-test-utils/package.json b/packages/backend-test-utils/package.json index 9dc8868f64..40523b1e04 100644 --- a/packages/backend-test-utils/package.json +++ b/packages/backend-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/backend-test-utils", - "version": "0.4.0-next.2", + "version": "0.4.0-next.3", "description": "Test helpers library for Backstage backends", "backstage": { "role": "node-library" diff --git a/packages/backend/CHANGELOG.md b/packages/backend/CHANGELOG.md index 49c67189fe..2a070cd28a 100644 --- a/packages/backend/CHANGELOG.md +++ b/packages/backend/CHANGELOG.md @@ -1,5 +1,42 @@ # example-backend +## 0.0.27-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/backend-defaults@0.3.0-next.3 + - @backstage/plugin-auth-backend-module-github-provider@0.1.16-next.2 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.17-next.3 + - @backstage/plugin-permission-backend-module-allow-all-policy@0.1.16-next.2 + - @backstage/plugin-catalog-backend-module-backstage-openapi@0.2.2-next.2 + - @backstage/plugin-auth-backend-module-guest-provider@0.1.5-next.3 + - @backstage/plugin-catalog-backend-module-unprocessed@0.4.6-next.3 + - @backstage/plugin-scaffolder-backend-module-github@0.3.0-next.3 + - @backstage/plugin-catalog-backend-module-openapi@0.1.37-next.3 + - @backstage/plugin-search-backend-module-techdocs@0.1.24-next.3 + - @backstage/plugin-search-backend-module-catalog@0.1.25-next.3 + - @backstage/plugin-search-backend-module-explore@0.1.25-next.3 + - @backstage/plugin-notifications-backend@0.3.0-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-kubernetes-backend@0.18.0-next.3 + - @backstage/plugin-permission-backend@0.5.43-next.3 + - @backstage/plugin-scaffolder-backend@1.22.8-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-devtools-backend@0.3.5-next.3 + - @backstage/plugin-techdocs-backend@1.10.6-next.3 + - @backstage/plugin-catalog-backend@1.23.0-next.3 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-signals-backend@0.1.5-next.3 + - @backstage/plugin-search-backend@1.5.10-next.3 + - @backstage/plugin-proxy-backend@0.5.0-next.3 + - @backstage/plugin-auth-backend@0.22.6-next.3 + - @backstage/plugin-app-backend@0.3.68-next.3 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/catalog-model@1.5.0 + ## 0.0.27-next.2 ### Patch Changes diff --git a/packages/backend/package.json b/packages/backend/package.json index ba22ddae1e..80a5f5b614 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -1,6 +1,6 @@ { "name": "example-backend", - "version": "0.0.27-next.2", + "version": "0.0.27-next.3", "main": "dist/index.cjs.js", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/cli-common/CHANGELOG.md b/packages/cli-common/CHANGELOG.md index 70e98da8dd..7eb1b29e29 100644 --- a/packages/cli-common/CHANGELOG.md +++ b/packages/cli-common/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/cli-common +## 0.1.14-next.0 + +### Patch Changes + +- 142abb0: The monorepo root check in `findPaths` will now accept a shorthand `workspaces` config in `package.json`, no longer requiring `workspaces.packages`. + ## 0.1.13 ### Patch Changes diff --git a/packages/cli-common/package.json b/packages/cli-common/package.json index be91af578c..63b7d56d03 100644 --- a/packages/cli-common/package.json +++ b/packages/cli-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/cli-common", - "version": "0.1.13", + "version": "0.1.14-next.0", "description": "Common functionality used by cli, backend, and create-app", "backstage": { "role": "node-library" diff --git a/packages/cli-node/CHANGELOG.md b/packages/cli-node/CHANGELOG.md index bc75eb9612..72608fb4c4 100644 --- a/packages/cli-node/CHANGELOG.md +++ b/packages/cli-node/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/cli-node +## 0.2.6-next.2 + +### Patch Changes + +- c328131: Added new plugin metadata fields to `BackstagePackageJson` type. +- Updated dependencies + - @backstage/cli-common@0.1.14-next.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.2.6-next.1 ### Patch Changes diff --git a/packages/cli-node/package.json b/packages/cli-node/package.json index a76d35dc6c..38525c9854 100644 --- a/packages/cli-node/package.json +++ b/packages/cli-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/cli-node", - "version": "0.2.6-next.1", + "version": "0.2.6-next.2", "description": "Node.js library for Backstage CLIs", "backstage": { "role": "node-library" diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index b8e2c19747..4d769a6772 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/cli +## 0.26.7-next.3 + +### Patch Changes + +- c328131: Added a new `--publish` flag to the `repo fix` command. This command will validate and if possible generate the metadata required for publishing packages with the Backstage CLI. In addition, a check has been added that the `backstage.pluginId` and `backstage.pluginPackage(s)` fields are present when packing a package for publishing. +- Updated dependencies + - @backstage/cli-node@0.2.6-next.2 + - @backstage/integration@1.12.0-next.1 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/eslint-plugin@0.1.8 + - @backstage/release-manifests@0.0.11 + - @backstage/types@1.1.1 + ## 0.26.7-next.2 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index e0212a34ff..bdaf29bc13 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/cli", - "version": "0.26.7-next.2", + "version": "0.26.7-next.3", "description": "CLI for developing Backstage plugins and apps", "backstage": { "role": "cli" diff --git a/packages/codemods/CHANGELOG.md b/packages/codemods/CHANGELOG.md index 58e7434b32..968fd850d3 100644 --- a/packages/codemods/CHANGELOG.md +++ b/packages/codemods/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/codemods +## 0.1.49-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/cli-common@0.1.14-next.0 + ## 0.1.48 ### Patch Changes diff --git a/packages/codemods/package.json b/packages/codemods/package.json index e4efd7f614..a490369468 100644 --- a/packages/codemods/package.json +++ b/packages/codemods/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/codemods", - "version": "0.1.48", + "version": "0.1.49-next.0", "description": "A collection of codemods for Backstage projects", "backstage": { "role": "cli" diff --git a/packages/config-loader/CHANGELOG.md b/packages/config-loader/CHANGELOG.md index 2adf312d23..dc11c1f793 100644 --- a/packages/config-loader/CHANGELOG.md +++ b/packages/config-loader/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/config-loader +## 1.8.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/cli-common@0.1.14-next.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 1.8.0 ### Minor Changes diff --git a/packages/config-loader/package.json b/packages/config-loader/package.json index 99dba31d4a..1b8c25f14e 100644 --- a/packages/config-loader/package.json +++ b/packages/config-loader/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/config-loader", - "version": "1.8.0", + "version": "1.8.1-next.0", "description": "Config loading functionality used by Backstage backend, and CLI", "backstage": { "role": "node-library" diff --git a/packages/core-compat-api/CHANGELOG.md b/packages/core-compat-api/CHANGELOG.md index 852b7303f0..3c307d7a3b 100644 --- a/packages/core-compat-api/CHANGELOG.md +++ b/packages/core-compat-api/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/core-compat-api +## 0.2.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/version-bridge@1.0.8 + ## 0.2.6-next.1 ### Patch Changes diff --git a/packages/core-compat-api/package.json b/packages/core-compat-api/package.json index 9fa663ba7a..a145668efd 100644 --- a/packages/core-compat-api/package.json +++ b/packages/core-compat-api/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/core-compat-api", - "version": "0.2.6-next.1", + "version": "0.2.6-next.2", "backstage": { "role": "web-library" }, diff --git a/packages/core-components/CHANGELOG.md b/packages/core-components/CHANGELOG.md index c85c90ae6c..e10d4f3a1f 100644 --- a/packages/core-components/CHANGELOG.md +++ b/packages/core-components/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/core-components +## 0.14.8-next.2 + +### Patch Changes + +- 59cee81: Use `inherit` variant on OverflowTooltip underlying Typography component. +- 83c4251: Adds icons to status component +- Updated dependencies + - @backstage/config@1.2.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/theme@0.5.6-next.0 + - @backstage/version-bridge@1.0.8 + ## 0.14.8-next.1 ### Patch Changes diff --git a/packages/core-components/package.json b/packages/core-components/package.json index 43e1713426..34470eca79 100644 --- a/packages/core-components/package.json +++ b/packages/core-components/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/core-components", "description": "Core components used by Backstage plugins and apps", - "version": "0.14.8-next.1", + "version": "0.14.8-next.2", "publishConfig": { "access": "public" }, diff --git a/packages/create-app/CHANGELOG.md b/packages/create-app/CHANGELOG.md index b9af320d43..a4f3109722 100644 --- a/packages/create-app/CHANGELOG.md +++ b/packages/create-app/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/create-app +## 0.5.16-next.3 + +### Patch Changes + +- 34daaea: Fixed a broken link to the node-postgres documentation +- 1a212f9: Remove Tech Radar menu item from sidebar of scaffolded app to align with removal of tech-radar plugin from backend +- Updated dependencies + - @backstage/cli-common@0.1.14-next.0 + ## 0.5.16-next.2 ### Patch Changes diff --git a/packages/create-app/package.json b/packages/create-app/package.json index bb2e0caf7d..68420fb52b 100644 --- a/packages/create-app/package.json +++ b/packages/create-app/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/create-app", "description": "A CLI that helps you create your own Backstage app", - "version": "0.5.16-next.2", + "version": "0.5.16-next.3", "publishConfig": { "access": "public" }, diff --git a/packages/dev-utils/CHANGELOG.md b/packages/dev-utils/CHANGELOG.md index 303ffaa62c..fda76c1623 100644 --- a/packages/dev-utils/CHANGELOG.md +++ b/packages/dev-utils/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/dev-utils +## 1.0.33-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/app-defaults@1.5.6-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + ## 1.0.33-next.1 ### Patch Changes diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index 29430659d4..fe58a79069 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/dev-utils", - "version": "1.0.33-next.1", + "version": "1.0.33-next.2", "description": "Utilities for developing Backstage plugins.", "backstage": { "role": "web-library" diff --git a/packages/e2e-test/CHANGELOG.md b/packages/e2e-test/CHANGELOG.md index 47cf99d322..fe9af03e43 100644 --- a/packages/e2e-test/CHANGELOG.md +++ b/packages/e2e-test/CHANGELOG.md @@ -1,5 +1,14 @@ # e2e-test +## 0.2.17-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/cli-common@0.1.14-next.0 + - @backstage/create-app@0.5.16-next.3 + - @backstage/errors@1.2.4 + ## 0.2.17-next.1 ### Patch Changes diff --git a/packages/e2e-test/package.json b/packages/e2e-test/package.json index 454602e338..c2740a2830 100644 --- a/packages/e2e-test/package.json +++ b/packages/e2e-test/package.json @@ -1,7 +1,7 @@ { "name": "e2e-test", "description": "E2E test for verifying Backstage packages", - "version": "0.2.17-next.1", + "version": "0.2.17-next.2", "private": true, "backstage": { "role": "cli" diff --git a/packages/frontend-app-api/CHANGELOG.md b/packages/frontend-app-api/CHANGELOG.md index af86bc675b..65b4e9b0b9 100644 --- a/packages/frontend-app-api/CHANGELOG.md +++ b/packages/frontend-app-api/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/frontend-app-api +## 0.7.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/config@1.2.0 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/theme@0.5.6-next.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.8 + ## 0.7.1-next.1 ### Patch Changes diff --git a/packages/frontend-app-api/package.json b/packages/frontend-app-api/package.json index eb5019898c..a2db39277a 100644 --- a/packages/frontend-app-api/package.json +++ b/packages/frontend-app-api/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/frontend-app-api", - "version": "0.7.1-next.1", + "version": "0.7.1-next.2", "backstage": { "role": "web-library" }, diff --git a/packages/frontend-plugin-api/CHANGELOG.md b/packages/frontend-plugin-api/CHANGELOG.md index 790b7f32bb..d0336cae85 100644 --- a/packages/frontend-plugin-api/CHANGELOG.md +++ b/packages/frontend-plugin-api/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/frontend-plugin-api +## 0.6.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.8 + ## 0.6.6-next.1 ### Patch Changes diff --git a/packages/frontend-plugin-api/package.json b/packages/frontend-plugin-api/package.json index 6b2e15aa50..9e4e5eac97 100644 --- a/packages/frontend-plugin-api/package.json +++ b/packages/frontend-plugin-api/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/frontend-plugin-api", - "version": "0.6.6-next.1", + "version": "0.6.6-next.2", "backstage": { "role": "web-library" }, diff --git a/packages/frontend-test-utils/CHANGELOG.md b/packages/frontend-test-utils/CHANGELOG.md index 2d1d700001..95064be18b 100644 --- a/packages/frontend-test-utils/CHANGELOG.md +++ b/packages/frontend-test-utils/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/frontend-test-utils +## 0.1.8-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-app-api@0.7.1-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/test-utils@1.5.6-next.2 + - @backstage/types@1.1.1 + ## 0.1.8-next.1 ### Patch Changes diff --git a/packages/frontend-test-utils/package.json b/packages/frontend-test-utils/package.json index 8da8dbc0fc..2671165b13 100644 --- a/packages/frontend-test-utils/package.json +++ b/packages/frontend-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/frontend-test-utils", - "version": "0.1.8-next.1", + "version": "0.1.8-next.2", "backstage": { "role": "web-library" }, diff --git a/packages/integration-react/CHANGELOG.md b/packages/integration-react/CHANGELOG.md index 1f9bc9f9fe..703eccbdad 100644 --- a/packages/integration-react/CHANGELOG.md +++ b/packages/integration-react/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/integration-react +## 1.1.28-next.1 + +### Patch Changes + +- 23ee9ab: Fix AWS CodeCommit integration by allowing to change the host +- Updated dependencies + - @backstage/integration@1.12.0-next.1 + - @backstage/config@1.2.0 + - @backstage/core-plugin-api@1.9.3-next.0 + ## 1.1.28-next.0 ### Patch Changes diff --git a/packages/integration-react/package.json b/packages/integration-react/package.json index e7d653b09a..79cf7694fd 100644 --- a/packages/integration-react/package.json +++ b/packages/integration-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/integration-react", - "version": "1.1.28-next.0", + "version": "1.1.28-next.1", "description": "Frontend package for managing integrations towards external systems", "backstage": { "role": "web-library" diff --git a/packages/integration/CHANGELOG.md b/packages/integration/CHANGELOG.md index aea2956f17..928e62d67f 100644 --- a/packages/integration/CHANGELOG.md +++ b/packages/integration/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/integration +## 1.12.0-next.1 + +### Minor Changes + +- be1014d: **BREAKING** Removed deprecated code from when casing was changed from `GitHub` to `Github` nearly two years ago. The following items have been removed: + + - `getGitHubFileFetchUrl` (use `getGithubFileFetchUrl` instead) + - `GitHubIntegrationConfig` (use `GithubIntegrationConfig` instead) + - `GitHubIntegration` (use `GithubIntegration` instead) + - `readGitHubIntegrationConfig` (use `readGithubIntegrationConfig` instead) + - `readGitHubIntegrationConfigs` (use `readGithubIntegrationConfigs` instead) + - `replaceGitHubUrlType` (use `replaceGithubUrlType` instead) + +### Patch Changes + +- 23ee9ab: Fix AWS CodeCommit integration by allowing to change the host +- Updated dependencies + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 1.12.0-next.0 ### Minor Changes diff --git a/packages/integration/package.json b/packages/integration/package.json index ec5944ccbd..9adc2519f1 100644 --- a/packages/integration/package.json +++ b/packages/integration/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/integration", - "version": "1.12.0-next.0", + "version": "1.12.0-next.1", "description": "Helpers for managing integrations towards external systems", "backstage": { "role": "common-library" diff --git a/packages/repo-tools/CHANGELOG.md b/packages/repo-tools/CHANGELOG.md index 986a814a14..1a303a9c07 100644 --- a/packages/repo-tools/CHANGELOG.md +++ b/packages/repo-tools/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/repo-tools +## 0.9.1-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/cli-node@0.2.6-next.2 + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/catalog-model@1.5.0 + - @backstage/errors@1.2.4 + ## 0.9.1-next.2 ### Patch Changes diff --git a/packages/repo-tools/package.json b/packages/repo-tools/package.json index 9f83572bfb..905d783369 100644 --- a/packages/repo-tools/package.json +++ b/packages/repo-tools/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/repo-tools", "description": "CLI for Backstage repo tooling ", - "version": "0.9.1-next.2", + "version": "0.9.1-next.3", "publishConfig": { "access": "public" }, diff --git a/packages/techdocs-cli-embedded-app/CHANGELOG.md b/packages/techdocs-cli-embedded-app/CHANGELOG.md index d61570eed3..f35df3e326 100644 --- a/packages/techdocs-cli-embedded-app/CHANGELOG.md +++ b/packages/techdocs-cli-embedded-app/CHANGELOG.md @@ -1,5 +1,24 @@ # techdocs-cli-embedded-app +## 0.2.97-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-techdocs-react@1.2.5-next.2 + - @backstage/plugin-techdocs@1.10.6-next.2 + - @backstage/plugin-catalog@1.21.0-next.3 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/cli@0.26.7-next.3 + - @backstage/app-defaults@1.5.6-next.2 + - @backstage/test-utils@1.5.6-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + ## 0.2.97-next.1 ### Patch Changes diff --git a/packages/techdocs-cli-embedded-app/package.json b/packages/techdocs-cli-embedded-app/package.json index 9e7d0b9c04..b19ad856c8 100644 --- a/packages/techdocs-cli-embedded-app/package.json +++ b/packages/techdocs-cli-embedded-app/package.json @@ -1,6 +1,6 @@ { "name": "techdocs-cli-embedded-app", - "version": "0.2.97-next.1", + "version": "0.2.97-next.2", "private": true, "backstage": { "role": "frontend" diff --git a/packages/techdocs-cli/CHANGELOG.md b/packages/techdocs-cli/CHANGELOG.md index 5192493290..59f4d5f7d3 100644 --- a/packages/techdocs-cli/CHANGELOG.md +++ b/packages/techdocs-cli/CHANGELOG.md @@ -1,5 +1,16 @@ # @techdocs/cli +## 1.8.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-techdocs-node@1.12.5-next.3 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + ## 1.8.12-next.2 ### Patch Changes diff --git a/packages/techdocs-cli/package.json b/packages/techdocs-cli/package.json index fe0d9e209f..74c90b4854 100644 --- a/packages/techdocs-cli/package.json +++ b/packages/techdocs-cli/package.json @@ -1,7 +1,7 @@ { "name": "@techdocs/cli", "description": "Utility CLI for managing TechDocs sites in Backstage.", - "version": "1.8.12-next.2", + "version": "1.8.12-next.3", "publishConfig": { "access": "public" }, diff --git a/packages/test-utils/CHANGELOG.md b/packages/test-utils/CHANGELOG.md index 3864b3549c..ada9ea4654 100644 --- a/packages/test-utils/CHANGELOG.md +++ b/packages/test-utils/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/test-utils +## 1.5.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/config@1.2.0 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + - @backstage/types@1.1.1 + ## 1.5.6-next.1 ### Patch Changes diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index 5e61ff8cf4..7ab7a73af7 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/test-utils", - "version": "1.5.6-next.1", + "version": "1.5.6-next.2", "description": "Utilities to test Backstage plugins and apps.", "backstage": { "role": "web-library" diff --git a/packages/yarn-plugin/CHANGELOG.md b/packages/yarn-plugin/CHANGELOG.md new file mode 100644 index 0000000000..6878933d9f --- /dev/null +++ b/packages/yarn-plugin/CHANGELOG.md @@ -0,0 +1,9 @@ +# yarn-plugin-backstage + +## 0.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/cli-common@0.1.14-next.0 + - @backstage/release-manifests@0.0.11 diff --git a/packages/yarn-plugin/package.json b/packages/yarn-plugin/package.json index b6b97c0475..7ff1b72fd8 100644 --- a/packages/yarn-plugin/package.json +++ b/packages/yarn-plugin/package.json @@ -1,6 +1,6 @@ { "name": "yarn-plugin-backstage", - "version": "0.0.0", + "version": "0.0.1-next.0", "description": "Yarn plugin for working with Backstage monorepos", "backstage": { "role": "node-library" diff --git a/plugins/api-docs-module-protoc-gen-doc/CHANGELOG.md b/plugins/api-docs-module-protoc-gen-doc/CHANGELOG.md index 31e62e11eb..9c0e32964e 100644 --- a/plugins/api-docs-module-protoc-gen-doc/CHANGELOG.md +++ b/plugins/api-docs-module-protoc-gen-doc/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/plugin-api-docs-module-protoc-gen-doc +## 0.1.7-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. + ## 0.1.6 ### Patch Changes diff --git a/plugins/api-docs-module-protoc-gen-doc/package.json b/plugins/api-docs-module-protoc-gen-doc/package.json index 053db849ca..3cab38359d 100644 --- a/plugins/api-docs-module-protoc-gen-doc/package.json +++ b/plugins/api-docs-module-protoc-gen-doc/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-api-docs-module-protoc-gen-doc", - "version": "0.1.6", + "version": "0.1.7-next.0", "description": "Additional functionalities for the api-docs plugin that renders the output of the protoc-gen-doc", "backstage": { "role": "frontend-plugin-module", diff --git a/plugins/api-docs/CHANGELOG.md b/plugins/api-docs/CHANGELOG.md index 8c6c348a34..b8284e69d7 100644 --- a/plugins/api-docs/CHANGELOG.md +++ b/plugins/api-docs/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-api-docs +## 0.11.6-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-catalog@1.21.0-next.3 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + ## 0.11.6-next.1 ### Patch Changes diff --git a/plugins/api-docs/package.json b/plugins/api-docs/package.json index 29a16e6ece..47526fb80d 100644 --- a/plugins/api-docs/package.json +++ b/plugins/api-docs/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-api-docs", - "version": "0.11.6-next.1", + "version": "0.11.6-next.2", "description": "A Backstage plugin that helps represent API entities in the frontend", "backstage": { "role": "frontend-plugin", diff --git a/plugins/app-backend/CHANGELOG.md b/plugins/app-backend/CHANGELOG.md index ea9a21be29..2dc4f3d1ef 100644 --- a/plugins/app-backend/CHANGELOG.md +++ b/plugins/app-backend/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-app-backend +## 0.3.68-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-app-node@0.1.19-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.3.68-next.2 ### Patch Changes diff --git a/plugins/app-backend/package.json b/plugins/app-backend/package.json index c255c8ea40..dd6a726a00 100644 --- a/plugins/app-backend/package.json +++ b/plugins/app-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-app-backend", - "version": "0.3.68-next.2", + "version": "0.3.68-next.3", "description": "A Backstage backend plugin that serves the Backstage frontend app", "backstage": { "role": "backend-plugin", diff --git a/plugins/app-node/CHANGELOG.md b/plugins/app-node/CHANGELOG.md index a9dc3aeb8a..e719fb306e 100644 --- a/plugins/app-node/CHANGELOG.md +++ b/plugins/app-node/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-app-node +## 0.1.19-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/config-loader@1.8.1-next.0 + ## 0.1.19-next.1 ### Patch Changes diff --git a/plugins/app-node/package.json b/plugins/app-node/package.json index b258e3714e..94566895df 100644 --- a/plugins/app-node/package.json +++ b/plugins/app-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-app-node", - "version": "0.1.19-next.1", + "version": "0.1.19-next.2", "description": "Node.js library for the app plugin", "backstage": { "role": "node-library", diff --git a/plugins/app-visualizer/CHANGELOG.md b/plugins/app-visualizer/CHANGELOG.md index 837d248762..7fb8f46223 100644 --- a/plugins/app-visualizer/CHANGELOG.md +++ b/plugins/app-visualizer/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-app-visualizer +## 0.1.7-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + ## 0.1.7-next.1 ### Patch Changes diff --git a/plugins/app-visualizer/package.json b/plugins/app-visualizer/package.json index 1d30d2b2b3..6ab7831e09 100644 --- a/plugins/app-visualizer/package.json +++ b/plugins/app-visualizer/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-app-visualizer", - "version": "0.1.7-next.1", + "version": "0.1.7-next.2", "description": "Visualizes the Backstage app structure", "backstage": { "role": "frontend-plugin", diff --git a/plugins/auth-backend-module-atlassian-provider/CHANGELOG.md b/plugins/auth-backend-module-atlassian-provider/CHANGELOG.md index 446557002c..e5cbd93934 100644 --- a/plugins/auth-backend-module-atlassian-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-atlassian-provider/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-auth-backend-module-atlassian-provider +## 0.2.0-next.2 + +### Minor Changes + +- 8efc6cf: **BREAKING**: The `scope` and `scopes` config options have been removed and replaced by the standard `additionalScopes` config. In addition, the `offline_access`, `read:jira-work`, and `read:jira-user` scopes have been set to required and will always be present. + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + ## 0.1.11-next.1 ### Patch Changes diff --git a/plugins/auth-backend-module-atlassian-provider/package.json b/plugins/auth-backend-module-atlassian-provider/package.json index 6ee6423e49..f0b847d6b7 100644 --- a/plugins/auth-backend-module-atlassian-provider/package.json +++ b/plugins/auth-backend-module-atlassian-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-atlassian-provider", - "version": "0.1.11-next.1", + "version": "0.2.0-next.2", "description": "The atlassian-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-aws-alb-provider/CHANGELOG.md b/plugins/auth-backend-module-aws-alb-provider/CHANGELOG.md index b3ccc9c8ba..ec67f5fa79 100644 --- a/plugins/auth-backend-module-aws-alb-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-aws-alb-provider/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-auth-backend-module-aws-alb-provider +## 0.1.11-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-auth-backend@0.22.6-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/errors@1.2.4 + ## 0.1.11-next.2 ### Patch Changes diff --git a/plugins/auth-backend-module-aws-alb-provider/package.json b/plugins/auth-backend-module-aws-alb-provider/package.json index e47dd7d6d9..faf74b1eb6 100644 --- a/plugins/auth-backend-module-aws-alb-provider/package.json +++ b/plugins/auth-backend-module-aws-alb-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-aws-alb-provider", - "version": "0.1.11-next.2", + "version": "0.1.11-next.3", "description": "The aws-alb provider module for the Backstage auth backend.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-azure-easyauth-provider/CHANGELOG.md b/plugins/auth-backend-module-azure-easyauth-provider/CHANGELOG.md index 1a9a3e052e..95c70cc6ca 100644 --- a/plugins/auth-backend-module-azure-easyauth-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-azure-easyauth-provider/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-auth-backend-module-azure-easyauth-provider +## 0.1.2-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/errors@1.2.4 + ## 0.1.2-next.1 ### Patch Changes diff --git a/plugins/auth-backend-module-azure-easyauth-provider/package.json b/plugins/auth-backend-module-azure-easyauth-provider/package.json index cc15bc27d6..232f80fe1a 100644 --- a/plugins/auth-backend-module-azure-easyauth-provider/package.json +++ b/plugins/auth-backend-module-azure-easyauth-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-azure-easyauth-provider", - "version": "0.1.2-next.1", + "version": "0.1.2-next.2", "description": "The azure-easyauth-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-bitbucket-provider/CHANGELOG.md b/plugins/auth-backend-module-bitbucket-provider/CHANGELOG.md index b3dc83dfb1..f8c3b6390b 100644 --- a/plugins/auth-backend-module-bitbucket-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-bitbucket-provider/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-auth-backend-module-bitbucket-provider +## 0.1.2-next.2 + +### Patch Changes + +- 8efc6cf: Added support for the new shared `additionalScopes` configuration. In addition, the `account` scope has been set to required and will always be present. +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + ## 0.1.2-next.1 ### Patch Changes diff --git a/plugins/auth-backend-module-bitbucket-provider/package.json b/plugins/auth-backend-module-bitbucket-provider/package.json index 6327422311..458f65ae47 100644 --- a/plugins/auth-backend-module-bitbucket-provider/package.json +++ b/plugins/auth-backend-module-bitbucket-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-bitbucket-provider", - "version": "0.1.2-next.1", + "version": "0.1.2-next.2", "description": "The bitbucket-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-cloudflare-access-provider/CHANGELOG.md b/plugins/auth-backend-module-cloudflare-access-provider/CHANGELOG.md index e18a9f4074..bd41ad091d 100644 --- a/plugins/auth-backend-module-cloudflare-access-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-cloudflare-access-provider/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-auth-backend-module-cloudflare-access-provider +## 0.1.2-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.1.2-next.2 ### Patch Changes diff --git a/plugins/auth-backend-module-cloudflare-access-provider/package.json b/plugins/auth-backend-module-cloudflare-access-provider/package.json index 01350b5616..15e7dfc69d 100644 --- a/plugins/auth-backend-module-cloudflare-access-provider/package.json +++ b/plugins/auth-backend-module-cloudflare-access-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-cloudflare-access-provider", - "version": "0.1.2-next.2", + "version": "0.1.2-next.3", "description": "The cloudflare-access-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md b/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md index 872835330d..2061f04974 100644 --- a/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-auth-backend-module-gcp-iap-provider +## 0.2.14-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.2.14-next.1 ### Patch Changes diff --git a/plugins/auth-backend-module-gcp-iap-provider/package.json b/plugins/auth-backend-module-gcp-iap-provider/package.json index 1c2d6b006d..b390db9cdf 100644 --- a/plugins/auth-backend-module-gcp-iap-provider/package.json +++ b/plugins/auth-backend-module-gcp-iap-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-gcp-iap-provider", - "version": "0.2.14-next.1", + "version": "0.2.14-next.2", "description": "A GCP IAP auth provider module for the Backstage auth backend", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-github-provider/CHANGELOG.md b/plugins/auth-backend-module-github-provider/CHANGELOG.md index b7983172ef..b509ec3110 100644 --- a/plugins/auth-backend-module-github-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-github-provider/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-auth-backend-module-github-provider +## 0.1.16-next.2 + +### Patch Changes + +- 8efc6cf: Added support for the new shared `additionalScopes` configuration. In addition, the `read:user` scope has been set to required and will always be present. +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + ## 0.1.16-next.1 ### Patch Changes diff --git a/plugins/auth-backend-module-github-provider/package.json b/plugins/auth-backend-module-github-provider/package.json index 631ace3ef9..226e51c039 100644 --- a/plugins/auth-backend-module-github-provider/package.json +++ b/plugins/auth-backend-module-github-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-github-provider", - "version": "0.1.16-next.1", + "version": "0.1.16-next.2", "description": "The github-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md b/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md index b82ae5b21b..da9a38f7dc 100644 --- a/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-auth-backend-module-gitlab-provider +## 0.1.16-next.2 + +### Patch Changes + +- 8efc6cf: Added support for the new shared `additionalScopes` configuration. In addition, the `read_user` scope has been set to required and will always be present. +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + ## 0.1.16-next.1 ### Patch Changes diff --git a/plugins/auth-backend-module-gitlab-provider/package.json b/plugins/auth-backend-module-gitlab-provider/package.json index b1a2a0a59c..a90a70ee19 100644 --- a/plugins/auth-backend-module-gitlab-provider/package.json +++ b/plugins/auth-backend-module-gitlab-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-gitlab-provider", - "version": "0.1.16-next.1", + "version": "0.1.16-next.2", "description": "The gitlab-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-google-provider/CHANGELOG.md b/plugins/auth-backend-module-google-provider/CHANGELOG.md index c79a83be6f..6cce19a35c 100644 --- a/plugins/auth-backend-module-google-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-google-provider/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-auth-backend-module-google-provider +## 0.1.16-next.2 + +### Patch Changes + +- 8efc6cf: Added support for the new shared `additionalScopes` configuration. In addition, the `openid`, `userinfo.email`, and `userinfo.profile` scopes have been set to required and will always be present. +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + ## 0.1.16-next.1 ### Patch Changes diff --git a/plugins/auth-backend-module-google-provider/package.json b/plugins/auth-backend-module-google-provider/package.json index b66bdba4e8..73bea4510e 100644 --- a/plugins/auth-backend-module-google-provider/package.json +++ b/plugins/auth-backend-module-google-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-google-provider", - "version": "0.1.16-next.1", + "version": "0.1.16-next.2", "description": "A Google auth provider module for the Backstage auth backend", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-guest-provider/CHANGELOG.md b/plugins/auth-backend-module-guest-provider/CHANGELOG.md index c061810bf3..a22908f1c4 100644 --- a/plugins/auth-backend-module-guest-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-guest-provider/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-auth-backend-module-guest-provider +## 0.1.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/errors@1.2.4 + ## 0.1.5-next.2 ### Patch Changes diff --git a/plugins/auth-backend-module-guest-provider/package.json b/plugins/auth-backend-module-guest-provider/package.json index 6fa4e8f5a3..35ed295f41 100644 --- a/plugins/auth-backend-module-guest-provider/package.json +++ b/plugins/auth-backend-module-guest-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-guest-provider", - "version": "0.1.5-next.2", + "version": "0.1.5-next.3", "description": "The guest-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-microsoft-provider/CHANGELOG.md b/plugins/auth-backend-module-microsoft-provider/CHANGELOG.md index 8fed3c1aef..8f93dbdf87 100644 --- a/plugins/auth-backend-module-microsoft-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-microsoft-provider/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-auth-backend-module-microsoft-provider +## 0.1.14-next.2 + +### Patch Changes + +- 8efc6cf: Added support for the new shared `additionalScopes` configuration. +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + ## 0.1.14-next.1 ### Patch Changes diff --git a/plugins/auth-backend-module-microsoft-provider/package.json b/plugins/auth-backend-module-microsoft-provider/package.json index 5c386706f1..bea5991966 100644 --- a/plugins/auth-backend-module-microsoft-provider/package.json +++ b/plugins/auth-backend-module-microsoft-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-microsoft-provider", - "version": "0.1.14-next.1", + "version": "0.1.14-next.2", "description": "The microsoft-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md b/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md index c9e64d5740..91e5ab6890 100644 --- a/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-auth-backend-module-oauth2-provider +## 0.2.0-next.2 + +### Minor Changes + +- 8efc6cf: **BREAKING**: The `scope` config option have been removed and replaced by the standard `additionalScopes` config. + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + ## 0.1.16-next.1 ### Patch Changes diff --git a/plugins/auth-backend-module-oauth2-provider/package.json b/plugins/auth-backend-module-oauth2-provider/package.json index aea5451b7b..959e301038 100644 --- a/plugins/auth-backend-module-oauth2-provider/package.json +++ b/plugins/auth-backend-module-oauth2-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-oauth2-provider", - "version": "0.1.16-next.1", + "version": "0.2.0-next.2", "description": "The oauth2-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-oauth2-proxy-provider/CHANGELOG.md b/plugins/auth-backend-module-oauth2-proxy-provider/CHANGELOG.md index 7b3ec7ad82..bb6fc711ba 100644 --- a/plugins/auth-backend-module-oauth2-proxy-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-oauth2-proxy-provider/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-auth-backend-module-oauth2-proxy-provider +## 0.1.12-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/errors@1.2.4 + ## 0.1.12-next.1 ### Patch Changes diff --git a/plugins/auth-backend-module-oauth2-proxy-provider/package.json b/plugins/auth-backend-module-oauth2-proxy-provider/package.json index a8a981e13f..bbc3bb5a7a 100644 --- a/plugins/auth-backend-module-oauth2-proxy-provider/package.json +++ b/plugins/auth-backend-module-oauth2-proxy-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-oauth2-proxy-provider", - "version": "0.1.12-next.1", + "version": "0.1.12-next.2", "description": "The oauth2-proxy-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-oidc-provider/CHANGELOG.md b/plugins/auth-backend-module-oidc-provider/CHANGELOG.md index d9f0d1a3f8..33173baf53 100644 --- a/plugins/auth-backend-module-oidc-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-oidc-provider/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-auth-backend-module-oidc-provider +## 0.2.0-next.3 + +### Minor Changes + +- 8efc6cf: **BREAKING**: The `scope` config option have been removed and replaced by the standard `additionalScopes` config. In addition, `openid`, `profile`, and `email` scopes have been set to required and will always be present. + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-auth-backend@0.22.6-next.3 + - @backstage/backend-common@0.23.0-next.3 + ## 0.1.10-next.2 ### Patch Changes diff --git a/plugins/auth-backend-module-oidc-provider/package.json b/plugins/auth-backend-module-oidc-provider/package.json index f0a6d006c9..916b543b28 100644 --- a/plugins/auth-backend-module-oidc-provider/package.json +++ b/plugins/auth-backend-module-oidc-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-oidc-provider", - "version": "0.1.10-next.2", + "version": "0.2.0-next.3", "description": "The oidc-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-okta-provider/CHANGELOG.md b/plugins/auth-backend-module-okta-provider/CHANGELOG.md index f1edf43638..c5331c89b0 100644 --- a/plugins/auth-backend-module-okta-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-okta-provider/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-auth-backend-module-okta-provider +## 0.0.12-next.2 + +### Patch Changes + +- 8efc6cf: Added support for the new shared `additionalScopes` configuration, which means it can now also be specified as an array. In addition, the `openid`, `email`, `profile`, and `offline_access` scopes have been set to required and will always be present. +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + ## 0.0.12-next.1 ### Patch Changes diff --git a/plugins/auth-backend-module-okta-provider/package.json b/plugins/auth-backend-module-okta-provider/package.json index 869142062e..1b2d861ae0 100644 --- a/plugins/auth-backend-module-okta-provider/package.json +++ b/plugins/auth-backend-module-okta-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-okta-provider", - "version": "0.0.12-next.1", + "version": "0.0.12-next.2", "description": "The okta-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-onelogin-provider/CHANGELOG.md b/plugins/auth-backend-module-onelogin-provider/CHANGELOG.md new file mode 100644 index 0000000000..03954ed3ae --- /dev/null +++ b/plugins/auth-backend-module-onelogin-provider/CHANGELOG.md @@ -0,0 +1,14 @@ +# @backstage/plugin-auth-backend-module-onelogin-provider + +## 0.1.0-next.0 + +### Minor Changes + +- 566d7cb: Separate out the OneLogin provider into its own module + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 diff --git a/plugins/auth-backend-module-onelogin-provider/package.json b/plugins/auth-backend-module-onelogin-provider/package.json index 45a3ff45b7..c4c2cfa2af 100644 --- a/plugins/auth-backend-module-onelogin-provider/package.json +++ b/plugins/auth-backend-module-onelogin-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-onelogin-provider", - "version": "0.0.0", + "version": "0.1.0-next.0", "description": "The onelogin-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-pinniped-provider/CHANGELOG.md b/plugins/auth-backend-module-pinniped-provider/CHANGELOG.md index e936af290b..b43ab255b1 100644 --- a/plugins/auth-backend-module-pinniped-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-pinniped-provider/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-auth-backend-module-pinniped-provider +## 0.1.13-next.2 + +### Patch Changes + +- 8efc6cf: **BREAKING**: The `scope` config option have been removed and replaced by the standard `additionalScopes` config. In addition, the `openid`, `pinniped:request-audience`, `username`, and `offline_access` scopes have been set to required and will always be present. +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/config@1.2.0 + ## 0.1.13-next.1 ### Patch Changes diff --git a/plugins/auth-backend-module-pinniped-provider/package.json b/plugins/auth-backend-module-pinniped-provider/package.json index fed98690b2..3416e2f18b 100644 --- a/plugins/auth-backend-module-pinniped-provider/package.json +++ b/plugins/auth-backend-module-pinniped-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-pinniped-provider", - "version": "0.1.13-next.1", + "version": "0.1.13-next.2", "description": "The pinniped-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend-module-vmware-cloud-provider/CHANGELOG.md b/plugins/auth-backend-module-vmware-cloud-provider/CHANGELOG.md index bb5c857fb7..8b3fc7e7fa 100644 --- a/plugins/auth-backend-module-vmware-cloud-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-vmware-cloud-provider/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-auth-backend-module-vmware-cloud-provider +## 0.2.0-next.2 + +### Minor Changes + +- 8efc6cf: **BREAKING**: The `scope` config option have been removed and replaced by the standard `additionalScopes` config. In addition, `openid`, and `offline_access` scopes have been set to required and will always be present. + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/catalog-model@1.5.0 + ## 0.1.11-next.1 ### Patch Changes diff --git a/plugins/auth-backend-module-vmware-cloud-provider/package.json b/plugins/auth-backend-module-vmware-cloud-provider/package.json index 9afe3fdf97..6375325cc5 100644 --- a/plugins/auth-backend-module-vmware-cloud-provider/package.json +++ b/plugins/auth-backend-module-vmware-cloud-provider/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend-module-vmware-cloud-provider", - "version": "0.1.11-next.1", + "version": "0.2.0-next.2", "description": "The vmware-cloud-provider backend module for the auth plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/auth-backend/CHANGELOG.md b/plugins/auth-backend/CHANGELOG.md index a9d8d06054..46abaeafa2 100644 --- a/plugins/auth-backend/CHANGELOG.md +++ b/plugins/auth-backend/CHANGELOG.md @@ -1,5 +1,37 @@ # @backstage/plugin-auth-backend +## 0.22.6-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- 3e1bb15: Updated to use the new `@backstage/plugin-auth-backend-module-onelogin-provider` implementation +- Updated dependencies + - @backstage/plugin-auth-backend-module-onelogin-provider@0.1.0-next.0 + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-auth-backend-module-atlassian-provider@0.2.0-next.2 + - @backstage/plugin-auth-backend-module-bitbucket-provider@0.1.2-next.2 + - @backstage/plugin-auth-backend-module-github-provider@0.1.16-next.2 + - @backstage/plugin-auth-backend-module-gitlab-provider@0.1.16-next.2 + - @backstage/plugin-auth-backend-module-google-provider@0.1.16-next.2 + - @backstage/plugin-auth-backend-module-microsoft-provider@0.1.14-next.2 + - @backstage/plugin-auth-backend-module-oauth2-provider@0.2.0-next.2 + - @backstage/plugin-auth-backend-module-oidc-provider@0.2.0-next.3 + - @backstage/plugin-auth-backend-module-okta-provider@0.0.12-next.2 + - @backstage/plugin-auth-backend-module-cloudflare-access-provider@0.1.2-next.3 + - @backstage/plugin-auth-backend-module-azure-easyauth-provider@0.1.2-next.2 + - @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.12-next.2 + - @backstage/plugin-auth-backend-module-aws-alb-provider@0.1.11-next.3 + - @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.14-next.2 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.22.6-next.2 ### Patch Changes diff --git a/plugins/auth-backend/package.json b/plugins/auth-backend/package.json index 16a820ea6c..0ea8518a51 100644 --- a/plugins/auth-backend/package.json +++ b/plugins/auth-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend", - "version": "0.22.6-next.2", + "version": "0.22.6-next.3", "description": "A Backstage backend plugin that handles authentication", "backstage": { "role": "backend-plugin", diff --git a/plugins/auth-node/CHANGELOG.md b/plugins/auth-node/CHANGELOG.md index d7c97df8e3..a860deed71 100644 --- a/plugins/auth-node/CHANGELOG.md +++ b/plugins/auth-node/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-auth-node +## 0.4.14-next.3 + +### Patch Changes + +- 798ec37: Updated scope management for OAuth providers, where the `createOAuthAuthenticator` now accepts a new collection of `scopes` options: + + - `scopes.persist` - Whether scopes should be persisted, replaces the `shouldPersistScopes` option. + - `scopes.required` - A list of required scopes that will always be requested. + - `scopes.transform` - A function that can be used to transform the scopes before they are requested. + + The `createOAuthProviderFactory` has also received a new `additionalScopes` option, and will also read `additionalScopes` from the auth provider configuration. Both of these can be used to add additional scopes that should always be requested. + + A significant change under the hood that this new scope management brings is that providers that persist scopes will now always merge the already granted scopes with the requested ones. The previous behavior was that the full authorization flow would not include existing scopes, while the refresh flow would only include the existing scopes. + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.4.14-next.2 ### Patch Changes diff --git a/plugins/auth-node/package.json b/plugins/auth-node/package.json index f38cb7915e..4c62f191cf 100644 --- a/plugins/auth-node/package.json +++ b/plugins/auth-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-node", - "version": "0.4.14-next.2", + "version": "0.4.14-next.3", "backstage": { "role": "node-library", "pluginId": "auth", diff --git a/plugins/auth-react/CHANGELOG.md b/plugins/auth-react/CHANGELOG.md index 1af3c2b839..f245ac9e50 100644 --- a/plugins/auth-react/CHANGELOG.md +++ b/plugins/auth-react/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-auth-react +## 0.1.3-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + ## 0.1.3-next.1 ### Patch Changes diff --git a/plugins/auth-react/package.json b/plugins/auth-react/package.json index ea0d247e69..8fd9008028 100644 --- a/plugins/auth-react/package.json +++ b/plugins/auth-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-react", - "version": "0.1.3-next.1", + "version": "0.1.3-next.2", "description": "Web library for the auth plugin", "backstage": { "role": "web-library", diff --git a/plugins/bitbucket-cloud-common/CHANGELOG.md b/plugins/bitbucket-cloud-common/CHANGELOG.md index 42b62a280b..2805e36324 100644 --- a/plugins/bitbucket-cloud-common/CHANGELOG.md +++ b/plugins/bitbucket-cloud-common/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-bitbucket-cloud-common +## 0.2.20-next.1 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/integration@1.12.0-next.1 + ## 0.2.20-next.0 ### Patch Changes diff --git a/plugins/bitbucket-cloud-common/package.json b/plugins/bitbucket-cloud-common/package.json index 0e92907cc1..a43407fd04 100644 --- a/plugins/bitbucket-cloud-common/package.json +++ b/plugins/bitbucket-cloud-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-bitbucket-cloud-common", - "version": "0.2.20-next.0", + "version": "0.2.20-next.1", "description": "Common functionalities for bitbucket-cloud plugins", "backstage": { "role": "common-library", diff --git a/plugins/catalog-backend-module-aws/CHANGELOG.md b/plugins/catalog-backend-module-aws/CHANGELOG.md index 4877e42852..fa3d233b10 100644 --- a/plugins/catalog-backend-module-aws/CHANGELOG.md +++ b/plugins/catalog-backend-module-aws/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-catalog-backend-module-aws +## 0.3.14-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-kubernetes-common@0.8.0-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/integration-aws-node@0.1.12 + ## 0.3.14-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-aws/package.json b/plugins/catalog-backend-module-aws/package.json index 4562d0a798..ef8f828e3f 100644 --- a/plugins/catalog-backend-module-aws/package.json +++ b/plugins/catalog-backend-module-aws/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-aws", - "version": "0.3.14-next.2", + "version": "0.3.14-next.3", "description": "A Backstage catalog backend module that helps integrate towards AWS", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend-module-azure/CHANGELOG.md b/plugins/catalog-backend-module-azure/CHANGELOG.md index d2e22fe9b3..9799f6bb67 100644 --- a/plugins/catalog-backend-module-azure/CHANGELOG.md +++ b/plugins/catalog-backend-module-azure/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-catalog-backend-module-azure +## 0.1.39-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + ## 0.1.39-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-azure/package.json b/plugins/catalog-backend-module-azure/package.json index 7536c85789..06c048647c 100644 --- a/plugins/catalog-backend-module-azure/package.json +++ b/plugins/catalog-backend-module-azure/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-azure", - "version": "0.1.39-next.2", + "version": "0.1.39-next.3", "description": "A Backstage catalog backend module that helps integrate towards Azure", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend-module-backstage-openapi/CHANGELOG.md b/plugins/catalog-backend-module-backstage-openapi/CHANGELOG.md index 667853e9bd..c4e5324788 100644 --- a/plugins/catalog-backend-module-backstage-openapi/CHANGELOG.md +++ b/plugins/catalog-backend-module-backstage-openapi/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-catalog-backend-module-backstage-openapi +## 0.2.2-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-openapi-utils@0.1.12-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.2.2-next.1 ### Patch Changes diff --git a/plugins/catalog-backend-module-backstage-openapi/package.json b/plugins/catalog-backend-module-backstage-openapi/package.json index accbc5986c..70c1c118c2 100644 --- a/plugins/catalog-backend-module-backstage-openapi/package.json +++ b/plugins/catalog-backend-module-backstage-openapi/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-backstage-openapi", - "version": "0.2.2-next.1", + "version": "0.2.2-next.2", "backstage": { "role": "backend-plugin-module", "pluginId": "catalog", diff --git a/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md index f4d9864c7b..1aa0e7c3c7 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md +++ b/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-catalog-backend-module-bitbucket-cloud +## 0.2.6-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-bitbucket-cloud-common@0.2.20-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + ## 0.2.6-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-bitbucket-cloud/package.json b/plugins/catalog-backend-module-bitbucket-cloud/package.json index 7ae9003eab..0288bf3d44 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/package.json +++ b/plugins/catalog-backend-module-bitbucket-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-bitbucket-cloud", - "version": "0.2.6-next.2", + "version": "0.2.6-next.3", "description": "A Backstage catalog backend module that helps integrate towards Bitbucket Cloud", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md index 8cbb911104..e7b67f047e 100644 --- a/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md +++ b/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-catalog-backend-module-bitbucket-server +## 0.1.33-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.1.33-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-bitbucket-server/package.json b/plugins/catalog-backend-module-bitbucket-server/package.json index 7c360d1701..7e6f3a919a 100644 --- a/plugins/catalog-backend-module-bitbucket-server/package.json +++ b/plugins/catalog-backend-module-bitbucket-server/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-bitbucket-server", - "version": "0.1.33-next.2", + "version": "0.1.33-next.3", "backstage": { "role": "backend-plugin-module", "pluginId": "catalog", diff --git a/plugins/catalog-backend-module-gcp/CHANGELOG.md b/plugins/catalog-backend-module-gcp/CHANGELOG.md index fddbc29b0b..2d8493c2df 100644 --- a/plugins/catalog-backend-module-gcp/CHANGELOG.md +++ b/plugins/catalog-backend-module-gcp/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-catalog-backend-module-gcp +## 0.1.20-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-kubernetes-common@0.8.0-next.1 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + ## 0.1.20-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-gcp/package.json b/plugins/catalog-backend-module-gcp/package.json index 0806cd80bd..cd6a65e2c6 100644 --- a/plugins/catalog-backend-module-gcp/package.json +++ b/plugins/catalog-backend-module-gcp/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-gcp", - "version": "0.1.20-next.2", + "version": "0.1.20-next.3", "description": "A Backstage catalog backend module that helps integrate towards GCP", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend-module-gerrit/CHANGELOG.md b/plugins/catalog-backend-module-gerrit/CHANGELOG.md index 4f7579aa8e..0ef0bfa206 100644 --- a/plugins/catalog-backend-module-gerrit/CHANGELOG.md +++ b/plugins/catalog-backend-module-gerrit/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-catalog-backend-module-gerrit +## 0.1.36-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.1.36-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-gerrit/package.json b/plugins/catalog-backend-module-gerrit/package.json index a372da0b4c..84183c1e36 100644 --- a/plugins/catalog-backend-module-gerrit/package.json +++ b/plugins/catalog-backend-module-gerrit/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-gerrit", - "version": "0.1.36-next.2", + "version": "0.1.36-next.3", "backstage": { "role": "backend-plugin-module", "pluginId": "catalog", diff --git a/plugins/catalog-backend-module-github-org/CHANGELOG.md b/plugins/catalog-backend-module-github-org/CHANGELOG.md index 21ad8f8be3..844f62c572 100644 --- a/plugins/catalog-backend-module-github-org/CHANGELOG.md +++ b/plugins/catalog-backend-module-github-org/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-catalog-backend-module-github-org +## 0.1.14-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-catalog-backend-module-github@0.6.2-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + ## 0.1.14-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-github-org/package.json b/plugins/catalog-backend-module-github-org/package.json index 09cb2defb2..45b981e178 100644 --- a/plugins/catalog-backend-module-github-org/package.json +++ b/plugins/catalog-backend-module-github-org/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-github-org", - "version": "0.1.14-next.2", + "version": "0.1.14-next.3", "description": "The github-org backend module for the catalog plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend-module-github/CHANGELOG.md b/plugins/catalog-backend-module-github/CHANGELOG.md index bd01b1116d..720ba05101 100644 --- a/plugins/catalog-backend-module-github/CHANGELOG.md +++ b/plugins/catalog-backend-module-github/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-catalog-backend-module-github +## 0.6.2-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-backend@1.23.0-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + ## 0.6.2-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-github/package.json b/plugins/catalog-backend-module-github/package.json index daa6aa8c9b..a88a64f59d 100644 --- a/plugins/catalog-backend-module-github/package.json +++ b/plugins/catalog-backend-module-github/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-github", - "version": "0.6.2-next.2", + "version": "0.6.2-next.3", "description": "A Backstage catalog backend module that helps integrate towards GitHub", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend-module-gitlab-org/CHANGELOG.md b/plugins/catalog-backend-module-gitlab-org/CHANGELOG.md index 6e8c7fac3d..78c7ad3e8c 100644 --- a/plugins/catalog-backend-module-gitlab-org/CHANGELOG.md +++ b/plugins/catalog-backend-module-gitlab-org/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-catalog-backend-module-gitlab-org +## 0.0.2-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-catalog-backend-module-gitlab@0.3.18-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-common@0.23.0-next.3 + ## 0.0.2-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-gitlab-org/package.json b/plugins/catalog-backend-module-gitlab-org/package.json index d3a2310feb..1c7f158277 100644 --- a/plugins/catalog-backend-module-gitlab-org/package.json +++ b/plugins/catalog-backend-module-gitlab-org/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-gitlab-org", - "version": "0.0.2-next.2", + "version": "0.0.2-next.3", "description": "The gitlab-org backend module for the catalog plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend-module-gitlab/CHANGELOG.md b/plugins/catalog-backend-module-gitlab/CHANGELOG.md index b65c12cd0b..2f399995be 100644 --- a/plugins/catalog-backend-module-gitlab/CHANGELOG.md +++ b/plugins/catalog-backend-module-gitlab/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-catalog-backend-module-gitlab +## 0.3.18-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + ## 0.3.18-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-gitlab/package.json b/plugins/catalog-backend-module-gitlab/package.json index 3b9454c732..6d01d225cd 100644 --- a/plugins/catalog-backend-module-gitlab/package.json +++ b/plugins/catalog-backend-module-gitlab/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-gitlab", - "version": "0.3.18-next.2", + "version": "0.3.18-next.3", "description": "A Backstage catalog backend module that helps integrate towards GitLab", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend-module-incremental-ingestion/CHANGELOG.md b/plugins/catalog-backend-module-incremental-ingestion/CHANGELOG.md index 45c25eaa95..51904c8e97 100644 --- a/plugins/catalog-backend-module-incremental-ingestion/CHANGELOG.md +++ b/plugins/catalog-backend-module-incremental-ingestion/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-catalog-backend-module-incremental-ingestion +## 0.4.24-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-catalog-backend@1.23.0-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.4.24-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-incremental-ingestion/package.json b/plugins/catalog-backend-module-incremental-ingestion/package.json index 2baed748b3..14e8e37ae9 100644 --- a/plugins/catalog-backend-module-incremental-ingestion/package.json +++ b/plugins/catalog-backend-module-incremental-ingestion/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-incremental-ingestion", - "version": "0.4.24-next.2", + "version": "0.4.24-next.3", "description": "An entity provider for streaming large asset sources into the catalog", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend-module-ldap/CHANGELOG.md b/plugins/catalog-backend-module-ldap/CHANGELOG.md index 57395fb76b..2dd3815850 100644 --- a/plugins/catalog-backend-module-ldap/CHANGELOG.md +++ b/plugins/catalog-backend-module-ldap/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-catalog-backend-module-ldap +## 0.6.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.6.0-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-ldap/package.json b/plugins/catalog-backend-module-ldap/package.json index 8b729ca620..dfce5277d2 100644 --- a/plugins/catalog-backend-module-ldap/package.json +++ b/plugins/catalog-backend-module-ldap/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-ldap", - "version": "0.6.0-next.2", + "version": "0.6.0-next.3", "description": "A Backstage catalog backend module that helps integrate towards LDAP", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend-module-msgraph/CHANGELOG.md b/plugins/catalog-backend-module-msgraph/CHANGELOG.md index ae9e2e18b1..cb9acc5380 100644 --- a/plugins/catalog-backend-module-msgraph/CHANGELOG.md +++ b/plugins/catalog-backend-module-msgraph/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-catalog-backend-module-msgraph +## 0.5.27-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + ## 0.5.27-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-msgraph/package.json b/plugins/catalog-backend-module-msgraph/package.json index 5b1fd2d29b..035093e58c 100644 --- a/plugins/catalog-backend-module-msgraph/package.json +++ b/plugins/catalog-backend-module-msgraph/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-msgraph", - "version": "0.5.27-next.2", + "version": "0.5.27-next.3", "description": "A Backstage catalog backend module that helps integrate towards Microsoft Graph", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend-module-openapi/CHANGELOG.md b/plugins/catalog-backend-module-openapi/CHANGELOG.md index b3f6a2a1f9..876c095e24 100644 --- a/plugins/catalog-backend-module-openapi/CHANGELOG.md +++ b/plugins/catalog-backend-module-openapi/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-catalog-backend-module-openapi +## 0.1.37-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-backend@1.23.0-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/types@1.1.1 + ## 0.1.37-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-openapi/package.json b/plugins/catalog-backend-module-openapi/package.json index 98008900f8..3691f1fcb3 100644 --- a/plugins/catalog-backend-module-openapi/package.json +++ b/plugins/catalog-backend-module-openapi/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-openapi", - "version": "0.1.37-next.2", + "version": "0.1.37-next.3", "description": "A Backstage catalog backend module that helps with OpenAPI specifications", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend-module-puppetdb/CHANGELOG.md b/plugins/catalog-backend-module-puppetdb/CHANGELOG.md index 733403ea3e..ef16a4547c 100644 --- a/plugins/catalog-backend-module-puppetdb/CHANGELOG.md +++ b/plugins/catalog-backend-module-puppetdb/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-catalog-backend-module-puppetdb +## 0.1.25-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.1.25-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-puppetdb/package.json b/plugins/catalog-backend-module-puppetdb/package.json index f1e0cbf935..48997e80a9 100644 --- a/plugins/catalog-backend-module-puppetdb/package.json +++ b/plugins/catalog-backend-module-puppetdb/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-puppetdb", - "version": "0.1.25-next.2", + "version": "0.1.25-next.3", "description": "A Backstage catalog backend module that helps integrate towards PuppetDB", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend-module-scaffolder-entity-model/CHANGELOG.md b/plugins/catalog-backend-module-scaffolder-entity-model/CHANGELOG.md index f0147edac5..e177994807 100644 --- a/plugins/catalog-backend-module-scaffolder-entity-model/CHANGELOG.md +++ b/plugins/catalog-backend-module-scaffolder-entity-model/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-catalog-backend-module-scaffolder-entity-model +## 0.1.17-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-scaffolder-common@1.5.3-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/catalog-model@1.5.0 + ## 0.1.17-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-scaffolder-entity-model/package.json b/plugins/catalog-backend-module-scaffolder-entity-model/package.json index a4c7532e2a..4b7813d8a3 100644 --- a/plugins/catalog-backend-module-scaffolder-entity-model/package.json +++ b/plugins/catalog-backend-module-scaffolder-entity-model/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-scaffolder-entity-model", - "version": "0.1.17-next.2", + "version": "0.1.17-next.3", "description": "Adds support for the scaffolder specific entity model (e.g. the Template kind) to the catalog backend plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend-module-unprocessed/CHANGELOG.md b/plugins/catalog-backend-module-unprocessed/CHANGELOG.md index 3012fe3912..93ff11abaa 100644 --- a/plugins/catalog-backend-module-unprocessed/CHANGELOG.md +++ b/plugins/catalog-backend-module-unprocessed/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-catalog-backend-module-unprocessed +## 0.4.6-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-catalog-unprocessed-entities-common@0.0.2-next.0 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/errors@1.2.4 + ## 0.4.6-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-unprocessed/package.json b/plugins/catalog-backend-module-unprocessed/package.json index 13939adc24..22e6d46649 100644 --- a/plugins/catalog-backend-module-unprocessed/package.json +++ b/plugins/catalog-backend-module-unprocessed/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-unprocessed", - "version": "0.4.6-next.2", + "version": "0.4.6-next.3", "description": "Backstage Catalog module to view unprocessed entities", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/catalog-backend/CHANGELOG.md b/plugins/catalog-backend/CHANGELOG.md index f6d31406e6..e1dc06e78b 100644 --- a/plugins/catalog-backend/CHANGELOG.md +++ b/plugins/catalog-backend/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/plugin-catalog-backend +## 1.23.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-search-backend-module-catalog@0.1.25-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/backend-openapi-utils@0.1.12-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 1.23.0-next.2 ### Patch Changes diff --git a/plugins/catalog-backend/package.json b/plugins/catalog-backend/package.json index 988c040037..f1a22f839a 100644 --- a/plugins/catalog-backend/package.json +++ b/plugins/catalog-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend", - "version": "1.23.0-next.2", + "version": "1.23.0-next.3", "description": "The Backstage backend plugin that provides the Backstage catalog", "backstage": { "role": "backend-plugin", diff --git a/plugins/catalog-common/CHANGELOG.md b/plugins/catalog-common/CHANGELOG.md index a6dc3f06d6..75b3c0d6d5 100644 --- a/plugins/catalog-common/CHANGELOG.md +++ b/plugins/catalog-common/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-catalog-common +## 1.0.24-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/catalog-model@1.5.0 + ## 1.0.23 ### Patch Changes diff --git a/plugins/catalog-common/package.json b/plugins/catalog-common/package.json index bb56c0c804..7bdcfc2bc7 100644 --- a/plugins/catalog-common/package.json +++ b/plugins/catalog-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-common", - "version": "1.0.23", + "version": "1.0.24-next.0", "description": "Common functionalities for the catalog plugin", "backstage": { "role": "common-library", diff --git a/plugins/catalog-graph/CHANGELOG.md b/plugins/catalog-graph/CHANGELOG.md index 887eb0b67a..c7194dcac9 100644 --- a/plugins/catalog-graph/CHANGELOG.md +++ b/plugins/catalog-graph/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-catalog-graph +## 0.4.6-next.2 + +### Patch Changes + +- 8d474d3: Add function to `EntityRelationsGraph` filter that excludes entities from graph +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/types@1.1.1 + ## 0.4.6-next.1 ### Patch Changes diff --git a/plugins/catalog-graph/package.json b/plugins/catalog-graph/package.json index 14a0e8ce20..5b44c7afa5 100644 --- a/plugins/catalog-graph/package.json +++ b/plugins/catalog-graph/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-graph", - "version": "0.4.6-next.1", + "version": "0.4.6-next.2", "backstage": { "role": "frontend-plugin", "pluginId": "catalog-graph", diff --git a/plugins/catalog-import/CHANGELOG.md b/plugins/catalog-import/CHANGELOG.md index c27568a0b6..ed04b5a0f8 100644 --- a/plugins/catalog-import/CHANGELOG.md +++ b/plugins/catalog-import/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-catalog-import +## 0.12.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + ## 0.12.0-next.2 ### Patch Changes diff --git a/plugins/catalog-import/package.json b/plugins/catalog-import/package.json index fe1ad1c667..08c07000d5 100644 --- a/plugins/catalog-import/package.json +++ b/plugins/catalog-import/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-import", - "version": "0.12.0-next.2", + "version": "0.12.0-next.3", "description": "A Backstage plugin the helps you import entities into your catalog", "backstage": { "role": "frontend-plugin", diff --git a/plugins/catalog-node/CHANGELOG.md b/plugins/catalog-node/CHANGELOG.md index 2e05c7efc4..2c4bf5025d 100644 --- a/plugins/catalog-node/CHANGELOG.md +++ b/plugins/catalog-node/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-catalog-node +## 1.12.1-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 1.12.1-next.1 ### Patch Changes diff --git a/plugins/catalog-node/package.json b/plugins/catalog-node/package.json index 27bc1b709f..e750a32249 100644 --- a/plugins/catalog-node/package.json +++ b/plugins/catalog-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-node", - "version": "1.12.1-next.1", + "version": "1.12.1-next.2", "description": "The plugin-catalog-node module for @backstage/plugin-catalog-backend", "backstage": { "role": "node-library", diff --git a/plugins/catalog-react/CHANGELOG.md b/plugins/catalog-react/CHANGELOG.md index b900fec4a2..a4f2bf8980 100644 --- a/plugins/catalog-react/CHANGELOG.md +++ b/plugins/catalog-react/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-catalog-react +## 1.12.1-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- fa8560e: Prevents Autocomplete dropdown from overlapping sidebar on hovering it +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.8 + ## 1.12.1-next.1 ### Patch Changes diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json index 2bca89fa88..64cbc27fb1 100644 --- a/plugins/catalog-react/package.json +++ b/plugins/catalog-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-react", - "version": "1.12.1-next.1", + "version": "1.12.1-next.2", "description": "A frontend library that helps other Backstage plugins interact with the catalog", "backstage": { "role": "web-library", diff --git a/plugins/catalog-unprocessed-entities-common/CHANGELOG.md b/plugins/catalog-unprocessed-entities-common/CHANGELOG.md index 9e6db9682f..f399f80bc0 100644 --- a/plugins/catalog-unprocessed-entities-common/CHANGELOG.md +++ b/plugins/catalog-unprocessed-entities-common/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-catalog-unprocessed-entities-common +## 0.0.2-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + ## 0.0.1 ### Patch Changes diff --git a/plugins/catalog-unprocessed-entities-common/package.json b/plugins/catalog-unprocessed-entities-common/package.json index 21e85e426f..9367e4d17d 100644 --- a/plugins/catalog-unprocessed-entities-common/package.json +++ b/plugins/catalog-unprocessed-entities-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-unprocessed-entities-common", - "version": "0.0.1", + "version": "0.0.2-next.0", "description": "Common functionalities for the catalog-unprocessed-entities plugin", "backstage": { "role": "common-library", diff --git a/plugins/catalog-unprocessed-entities/CHANGELOG.md b/plugins/catalog-unprocessed-entities/CHANGELOG.md index d6dd87c51b..a87b0b1957 100644 --- a/plugins/catalog-unprocessed-entities/CHANGELOG.md +++ b/plugins/catalog-unprocessed-entities/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-catalog-unprocessed-entities +## 0.2.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + ## 0.2.5-next.1 ### Patch Changes diff --git a/plugins/catalog-unprocessed-entities/package.json b/plugins/catalog-unprocessed-entities/package.json index c8e91c7061..7411123c6c 100644 --- a/plugins/catalog-unprocessed-entities/package.json +++ b/plugins/catalog-unprocessed-entities/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-unprocessed-entities", - "version": "0.2.5-next.1", + "version": "0.2.5-next.2", "backstage": { "role": "frontend-plugin", "pluginId": "catalog-unprocessed-entities", diff --git a/plugins/catalog/CHANGELOG.md b/plugins/catalog/CHANGELOG.md index 01fde9d752..0434b0262b 100644 --- a/plugins/catalog/CHANGELOG.md +++ b/plugins/catalog/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/plugin-catalog +## 1.21.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- e04e57d: Fix bug with missing Actions column after adding "pagination" prop to catalog table +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-scaffolder-common@1.5.3-next.1 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-search-react@1.7.12-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 1.21.0-next.2 ### Minor Changes diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index 92ba874b24..dba938217f 100644 --- a/plugins/catalog/package.json +++ b/plugins/catalog/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog", - "version": "1.21.0-next.2", + "version": "1.21.0-next.3", "description": "The Backstage plugin for browsing the Backstage catalog", "backstage": { "role": "frontend-plugin", diff --git a/plugins/config-schema/CHANGELOG.md b/plugins/config-schema/CHANGELOG.md index c9befd72ce..59430dca35 100644 --- a/plugins/config-schema/CHANGELOG.md +++ b/plugins/config-schema/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-config-schema +## 0.1.56-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.1.56-next.1 ### Patch Changes diff --git a/plugins/config-schema/package.json b/plugins/config-schema/package.json index f838b355f7..8a0f1fb1c7 100644 --- a/plugins/config-schema/package.json +++ b/plugins/config-schema/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-config-schema", - "version": "0.1.56-next.1", + "version": "0.1.56-next.2", "description": "A Backstage plugin that lets you browse the configuration schema of your app", "backstage": { "role": "frontend-plugin", diff --git a/plugins/devtools-backend/CHANGELOG.md b/plugins/devtools-backend/CHANGELOG.md index 8c2022b9b8..ef2e9801d5 100644 --- a/plugins/devtools-backend/CHANGELOG.md +++ b/plugins/devtools-backend/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-devtools-backend +## 0.3.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-devtools-common@0.1.10-next.0 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/cli-common@0.1.14-next.0 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config-loader@1.8.1-next.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.3.5-next.2 ### Patch Changes diff --git a/plugins/devtools-backend/package.json b/plugins/devtools-backend/package.json index adbc645b93..415199f0f8 100644 --- a/plugins/devtools-backend/package.json +++ b/plugins/devtools-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-devtools-backend", - "version": "0.3.5-next.2", + "version": "0.3.5-next.3", "backstage": { "role": "backend-plugin", "pluginId": "devtools", diff --git a/plugins/devtools-common/CHANGELOG.md b/plugins/devtools-common/CHANGELOG.md index cc6f2442c7..f887a90338 100644 --- a/plugins/devtools-common/CHANGELOG.md +++ b/plugins/devtools-common/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-devtools-common +## 0.1.10-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/types@1.1.1 + ## 0.1.9 ### Patch Changes diff --git a/plugins/devtools-common/package.json b/plugins/devtools-common/package.json index fb664adabc..06577b2c0f 100644 --- a/plugins/devtools-common/package.json +++ b/plugins/devtools-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-devtools-common", - "version": "0.1.9", + "version": "0.1.10-next.0", "description": "Common functionalities for the devtools plugin", "backstage": { "role": "common-library", diff --git a/plugins/devtools/CHANGELOG.md b/plugins/devtools/CHANGELOG.md index da6067de1a..448734d4c8 100644 --- a/plugins/devtools/CHANGELOG.md +++ b/plugins/devtools/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-devtools +## 0.1.15-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-devtools-common@0.1.10-next.0 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + ## 0.1.15-next.1 ### Patch Changes diff --git a/plugins/devtools/package.json b/plugins/devtools/package.json index 71795111a4..fd16205104 100644 --- a/plugins/devtools/package.json +++ b/plugins/devtools/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-devtools", - "version": "0.1.15-next.1", + "version": "0.1.15-next.2", "backstage": { "role": "frontend-plugin", "pluginId": "devtools", diff --git a/plugins/events-backend-module-aws-sqs/CHANGELOG.md b/plugins/events-backend-module-aws-sqs/CHANGELOG.md index 409b28e30a..917c613b7a 100644 --- a/plugins/events-backend-module-aws-sqs/CHANGELOG.md +++ b/plugins/events-backend-module-aws-sqs/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-events-backend-module-aws-sqs +## 0.3.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/types@1.1.1 + ## 0.3.5-next.2 ### Patch Changes diff --git a/plugins/events-backend-module-aws-sqs/package.json b/plugins/events-backend-module-aws-sqs/package.json index 6d48c7aec9..625dff4e6f 100644 --- a/plugins/events-backend-module-aws-sqs/package.json +++ b/plugins/events-backend-module-aws-sqs/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-aws-sqs", - "version": "0.3.5-next.2", + "version": "0.3.5-next.3", "backstage": { "role": "backend-plugin-module", "pluginId": "events", diff --git a/plugins/events-backend-module-azure/CHANGELOG.md b/plugins/events-backend-module-azure/CHANGELOG.md index a822e82a97..9d41baa75c 100644 --- a/plugins/events-backend-module-azure/CHANGELOG.md +++ b/plugins/events-backend-module-azure/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-events-backend-module-azure +## 0.2.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + ## 0.2.5-next.1 ### Patch Changes diff --git a/plugins/events-backend-module-azure/package.json b/plugins/events-backend-module-azure/package.json index 950e2f2675..6e124a6703 100644 --- a/plugins/events-backend-module-azure/package.json +++ b/plugins/events-backend-module-azure/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-azure", - "version": "0.2.5-next.1", + "version": "0.2.5-next.2", "backstage": { "role": "backend-plugin-module", "pluginId": "events", diff --git a/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md b/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md index 6acbbb36b3..7b5a3c4e5e 100644 --- a/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md +++ b/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-events-backend-module-bitbucket-cloud +## 0.2.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + ## 0.2.5-next.1 ### Patch Changes diff --git a/plugins/events-backend-module-bitbucket-cloud/package.json b/plugins/events-backend-module-bitbucket-cloud/package.json index 85570c8c43..efb4809dd6 100644 --- a/plugins/events-backend-module-bitbucket-cloud/package.json +++ b/plugins/events-backend-module-bitbucket-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-bitbucket-cloud", - "version": "0.2.5-next.1", + "version": "0.2.5-next.2", "backstage": { "role": "backend-plugin-module", "pluginId": "events", diff --git a/plugins/events-backend-module-gerrit/CHANGELOG.md b/plugins/events-backend-module-gerrit/CHANGELOG.md index 494745cc3f..ff33bde8ec 100644 --- a/plugins/events-backend-module-gerrit/CHANGELOG.md +++ b/plugins/events-backend-module-gerrit/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-events-backend-module-gerrit +## 0.2.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + ## 0.2.5-next.1 ### Patch Changes diff --git a/plugins/events-backend-module-gerrit/package.json b/plugins/events-backend-module-gerrit/package.json index 0867b52bf9..7a708a8fe5 100644 --- a/plugins/events-backend-module-gerrit/package.json +++ b/plugins/events-backend-module-gerrit/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-gerrit", - "version": "0.2.5-next.1", + "version": "0.2.5-next.2", "backstage": { "role": "backend-plugin-module", "pluginId": "events", diff --git a/plugins/events-backend-module-github/CHANGELOG.md b/plugins/events-backend-module-github/CHANGELOG.md index f2fb8bf437..1447cb2c6d 100644 --- a/plugins/events-backend-module-github/CHANGELOG.md +++ b/plugins/events-backend-module-github/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-events-backend-module-github +## 0.2.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/config@1.2.0 + ## 0.2.5-next.1 ### Patch Changes diff --git a/plugins/events-backend-module-github/package.json b/plugins/events-backend-module-github/package.json index a661ecde9f..80681a2228 100644 --- a/plugins/events-backend-module-github/package.json +++ b/plugins/events-backend-module-github/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-github", - "version": "0.2.5-next.1", + "version": "0.2.5-next.2", "backstage": { "role": "backend-plugin-module", "pluginId": "events", diff --git a/plugins/events-backend-module-gitlab/CHANGELOG.md b/plugins/events-backend-module-gitlab/CHANGELOG.md index 47edb2e93c..601b6061fa 100644 --- a/plugins/events-backend-module-gitlab/CHANGELOG.md +++ b/plugins/events-backend-module-gitlab/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-events-backend-module-gitlab +## 0.2.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/config@1.2.0 + ## 0.2.5-next.1 ### Patch Changes diff --git a/plugins/events-backend-module-gitlab/package.json b/plugins/events-backend-module-gitlab/package.json index 1f03224f25..7ee53328ef 100644 --- a/plugins/events-backend-module-gitlab/package.json +++ b/plugins/events-backend-module-gitlab/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-gitlab", - "version": "0.2.5-next.1", + "version": "0.2.5-next.2", "backstage": { "role": "backend-plugin-module", "pluginId": "events", diff --git a/plugins/events-backend-test-utils/CHANGELOG.md b/plugins/events-backend-test-utils/CHANGELOG.md index 3b1896a936..1c72ddb329 100644 --- a/plugins/events-backend-test-utils/CHANGELOG.md +++ b/plugins/events-backend-test-utils/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-events-backend-test-utils +## 0.1.29-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-events-node@0.3.5-next.2 + ## 0.1.29-next.1 ### Patch Changes diff --git a/plugins/events-backend-test-utils/package.json b/plugins/events-backend-test-utils/package.json index 0208778cd4..6b97deb195 100644 --- a/plugins/events-backend-test-utils/package.json +++ b/plugins/events-backend-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-test-utils", - "version": "0.1.29-next.1", + "version": "0.1.29-next.2", "description": "The plugin-events-backend-test-utils for @backstage/plugin-events-node", "backstage": { "role": "node-library", diff --git a/plugins/events-backend/CHANGELOG.md b/plugins/events-backend/CHANGELOG.md index 1c782bd269..0e4baec5bb 100644 --- a/plugins/events-backend/CHANGELOG.md +++ b/plugins/events-backend/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-events-backend +## 0.3.6-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + ## 0.3.6-next.2 ### Patch Changes diff --git a/plugins/events-backend/package.json b/plugins/events-backend/package.json index 689e6098fb..9aa7f160ff 100644 --- a/plugins/events-backend/package.json +++ b/plugins/events-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend", - "version": "0.3.6-next.2", + "version": "0.3.6-next.3", "backstage": { "role": "backend-plugin", "pluginId": "events", diff --git a/plugins/events-node/CHANGELOG.md b/plugins/events-node/CHANGELOG.md index d6eb61e842..3c3ecb48ba 100644 --- a/plugins/events-node/CHANGELOG.md +++ b/plugins/events-node/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-events-node +## 0.3.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + ## 0.3.5-next.1 ### Patch Changes diff --git a/plugins/events-node/package.json b/plugins/events-node/package.json index d52f6b6bf6..cd3ed6a8d9 100644 --- a/plugins/events-node/package.json +++ b/plugins/events-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-node", - "version": "0.3.5-next.1", + "version": "0.3.5-next.2", "description": "The plugin-events-node module for @backstage/plugin-events-backend", "backstage": { "role": "node-library", diff --git a/plugins/example-todo-list-backend/CHANGELOG.md b/plugins/example-todo-list-backend/CHANGELOG.md index 7e981d5cfe..303f21317c 100644 --- a/plugins/example-todo-list-backend/CHANGELOG.md +++ b/plugins/example-todo-list-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @internal/plugin-todo-list-backend +## 1.0.28-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/errors@1.2.4 + ## 1.0.28-next.2 ### Patch Changes diff --git a/plugins/example-todo-list-backend/package.json b/plugins/example-todo-list-backend/package.json index df80afa8d4..d562e96e6e 100644 --- a/plugins/example-todo-list-backend/package.json +++ b/plugins/example-todo-list-backend/package.json @@ -1,6 +1,6 @@ { "name": "@internal/plugin-todo-list-backend", - "version": "1.0.28-next.2", + "version": "1.0.28-next.3", "backstage": { "role": "backend-plugin", "pluginId": "todo-list", diff --git a/plugins/example-todo-list-common/CHANGELOG.md b/plugins/example-todo-list-common/CHANGELOG.md index 7bd211c8f3..a1434bbe2e 100644 --- a/plugins/example-todo-list-common/CHANGELOG.md +++ b/plugins/example-todo-list-common/CHANGELOG.md @@ -1,5 +1,12 @@ # @internal/plugin-todo-list-common +## 1.0.19-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + ## 1.0.18 ### Patch Changes diff --git a/plugins/example-todo-list-common/package.json b/plugins/example-todo-list-common/package.json index 8843bb86ec..ad53bfd0bb 100644 --- a/plugins/example-todo-list-common/package.json +++ b/plugins/example-todo-list-common/package.json @@ -1,6 +1,6 @@ { "name": "@internal/plugin-todo-list-common", - "version": "1.0.18", + "version": "1.0.19-next.0", "backstage": { "role": "common-library", "pluginId": "todo-list", diff --git a/plugins/example-todo-list/CHANGELOG.md b/plugins/example-todo-list/CHANGELOG.md index fac2dece3c..93ea989354 100644 --- a/plugins/example-todo-list/CHANGELOG.md +++ b/plugins/example-todo-list/CHANGELOG.md @@ -1,5 +1,13 @@ # @internal/plugin-todo-list +## 1.0.28-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + ## 1.0.28-next.1 ### Patch Changes diff --git a/plugins/example-todo-list/package.json b/plugins/example-todo-list/package.json index 916939f40f..a46216f52f 100644 --- a/plugins/example-todo-list/package.json +++ b/plugins/example-todo-list/package.json @@ -1,6 +1,6 @@ { "name": "@internal/plugin-todo-list", - "version": "1.0.28-next.1", + "version": "1.0.28-next.2", "backstage": { "role": "frontend-plugin", "pluginId": "todo-list", diff --git a/plugins/home-react/CHANGELOG.md b/plugins/home-react/CHANGELOG.md index e3b72fe1fa..fb76366dba 100644 --- a/plugins/home-react/CHANGELOG.md +++ b/plugins/home-react/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-home-react +## 0.1.14-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + ## 0.1.14-next.1 ### Patch Changes diff --git a/plugins/home-react/package.json b/plugins/home-react/package.json index 2a081579a8..757fe3ecdd 100644 --- a/plugins/home-react/package.json +++ b/plugins/home-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-home-react", - "version": "0.1.14-next.1", + "version": "0.1.14-next.2", "description": "A Backstage plugin that contains react components helps you build a home page", "backstage": { "role": "web-library", diff --git a/plugins/home/CHANGELOG.md b/plugins/home/CHANGELOG.md index a1cc98893c..4ef99e645a 100644 --- a/plugins/home/CHANGELOG.md +++ b/plugins/home/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-home +## 0.7.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-home-react@0.1.14-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + ## 0.7.5-next.1 ### Patch Changes diff --git a/plugins/home/package.json b/plugins/home/package.json index f28e3db13d..1e78e7c8f3 100644 --- a/plugins/home/package.json +++ b/plugins/home/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-home", - "version": "0.7.5-next.1", + "version": "0.7.5-next.2", "description": "A Backstage plugin that helps you build a home page", "backstage": { "role": "frontend-plugin", diff --git a/plugins/kubernetes-backend/CHANGELOG.md b/plugins/kubernetes-backend/CHANGELOG.md index 328fcd6457..a1a4d9135b 100644 --- a/plugins/kubernetes-backend/CHANGELOG.md +++ b/plugins/kubernetes-backend/CHANGELOG.md @@ -1,5 +1,26 @@ # @backstage/plugin-kubernetes-backend +## 0.18.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-kubernetes-common@0.8.0-next.1 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-kubernetes-node@0.1.13-next.3 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/integration-aws-node@0.1.12 + - @backstage/types@1.1.1 + ## 0.18.0-next.2 ### Patch Changes diff --git a/plugins/kubernetes-backend/package.json b/plugins/kubernetes-backend/package.json index 24d95cc020..0df77bfe8b 100644 --- a/plugins/kubernetes-backend/package.json +++ b/plugins/kubernetes-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-kubernetes-backend", - "version": "0.18.0-next.2", + "version": "0.18.0-next.3", "description": "A Backstage backend plugin that integrates towards Kubernetes", "backstage": { "role": "backend-plugin", diff --git a/plugins/kubernetes-cluster/CHANGELOG.md b/plugins/kubernetes-cluster/CHANGELOG.md index 34e7effd6d..9f169fbbf2 100644 --- a/plugins/kubernetes-cluster/CHANGELOG.md +++ b/plugins/kubernetes-cluster/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-kubernetes-cluster +## 0.0.12-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-kubernetes-common@0.8.0-next.1 + - @backstage/plugin-kubernetes-react@0.4.0-next.3 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + ## 0.0.12-next.2 ### Patch Changes diff --git a/plugins/kubernetes-cluster/package.json b/plugins/kubernetes-cluster/package.json index 4cd646eae1..3d8ba47acb 100644 --- a/plugins/kubernetes-cluster/package.json +++ b/plugins/kubernetes-cluster/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-kubernetes-cluster", - "version": "0.0.12-next.2", + "version": "0.0.12-next.3", "description": "A Backstage plugin that shows details of Kubernetes clusters", "backstage": { "role": "frontend-plugin", diff --git a/plugins/kubernetes-common/CHANGELOG.md b/plugins/kubernetes-common/CHANGELOG.md index 7bf7741f3f..c00b9eb41b 100644 --- a/plugins/kubernetes-common/CHANGELOG.md +++ b/plugins/kubernetes-common/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-kubernetes-common +## 0.8.0-next.1 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/catalog-model@1.5.0 + - @backstage/types@1.1.1 + ## 0.8.0-next.0 ### Minor Changes diff --git a/plugins/kubernetes-common/package.json b/plugins/kubernetes-common/package.json index 420805462a..25160b7bf2 100644 --- a/plugins/kubernetes-common/package.json +++ b/plugins/kubernetes-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-kubernetes-common", - "version": "0.8.0-next.0", + "version": "0.8.0-next.1", "description": "Common functionalities for kubernetes, to be shared between kubernetes and kubernetes-backend plugin", "backstage": { "role": "common-library", diff --git a/plugins/kubernetes-node/CHANGELOG.md b/plugins/kubernetes-node/CHANGELOG.md index e2e97c240d..713a9e64d7 100644 --- a/plugins/kubernetes-node/CHANGELOG.md +++ b/plugins/kubernetes-node/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-kubernetes-node +## 0.1.13-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-kubernetes-common@0.8.0-next.1 + - @backstage/catalog-model@1.5.0 + - @backstage/types@1.1.1 + ## 0.1.13-next.2 ### Patch Changes diff --git a/plugins/kubernetes-node/package.json b/plugins/kubernetes-node/package.json index 933d43184b..80f521b699 100644 --- a/plugins/kubernetes-node/package.json +++ b/plugins/kubernetes-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-kubernetes-node", - "version": "0.1.13-next.2", + "version": "0.1.13-next.3", "description": "Node.js library for the kubernetes plugin", "backstage": { "role": "node-library", diff --git a/plugins/kubernetes-react/CHANGELOG.md b/plugins/kubernetes-react/CHANGELOG.md index ce224e4be5..3aadf6f633 100644 --- a/plugins/kubernetes-react/CHANGELOG.md +++ b/plugins/kubernetes-react/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-kubernetes-react +## 0.4.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-kubernetes-common@0.8.0-next.1 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.4.0-next.2 ### Patch Changes diff --git a/plugins/kubernetes-react/package.json b/plugins/kubernetes-react/package.json index 00b96fed78..645d532c0a 100644 --- a/plugins/kubernetes-react/package.json +++ b/plugins/kubernetes-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-kubernetes-react", - "version": "0.4.0-next.2", + "version": "0.4.0-next.3", "description": "Web library for the kubernetes-react plugin", "backstage": { "role": "web-library", diff --git a/plugins/kubernetes/CHANGELOG.md b/plugins/kubernetes/CHANGELOG.md index 2b78addccc..022a64512d 100644 --- a/plugins/kubernetes/CHANGELOG.md +++ b/plugins/kubernetes/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-kubernetes +## 0.11.11-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-kubernetes-common@0.8.0-next.1 + - @backstage/plugin-kubernetes-react@0.4.0-next.3 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + ## 0.11.11-next.2 ### Patch Changes diff --git a/plugins/kubernetes/package.json b/plugins/kubernetes/package.json index 7262129adb..be1b61ecf2 100644 --- a/plugins/kubernetes/package.json +++ b/plugins/kubernetes/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-kubernetes", - "version": "0.11.11-next.2", + "version": "0.11.11-next.3", "description": "A Backstage plugin that integrates towards Kubernetes", "backstage": { "role": "frontend-plugin", diff --git a/plugins/notifications-backend-module-email/CHANGELOG.md b/plugins/notifications-backend-module-email/CHANGELOG.md index 08512ee48f..20de4f3288 100644 --- a/plugins/notifications-backend-module-email/CHANGELOG.md +++ b/plugins/notifications-backend-module-email/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-notifications-backend-module-email +## 0.1.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-notifications-common@0.0.4-next.0 + - @backstage/plugin-notifications-node@0.2.0-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/integration-aws-node@0.1.12 + - @backstage/types@1.1.1 + ## 0.1.0-next.2 ### Patch Changes diff --git a/plugins/notifications-backend-module-email/package.json b/plugins/notifications-backend-module-email/package.json index 4e6ac85fcf..2b92c78c74 100644 --- a/plugins/notifications-backend-module-email/package.json +++ b/plugins/notifications-backend-module-email/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-notifications-backend-module-email", - "version": "0.1.0-next.2", + "version": "0.1.0-next.3", "description": "The email backend module for the notifications plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/notifications-backend/CHANGELOG.md b/plugins/notifications-backend/CHANGELOG.md index cc2763ec3a..993d75036d 100644 --- a/plugins/notifications-backend/CHANGELOG.md +++ b/plugins/notifications-backend/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-notifications-backend +## 0.3.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-notifications-common@0.0.4-next.0 + - @backstage/plugin-notifications-node@0.2.0-next.3 + - @backstage/plugin-signals-node@0.1.5-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.3.0-next.2 ### Patch Changes diff --git a/plugins/notifications-backend/package.json b/plugins/notifications-backend/package.json index 403b86d5b0..12d2b760ba 100644 --- a/plugins/notifications-backend/package.json +++ b/plugins/notifications-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-notifications-backend", - "version": "0.3.0-next.2", + "version": "0.3.0-next.3", "backstage": { "role": "backend-plugin", "pluginId": "notifications", diff --git a/plugins/notifications-common/CHANGELOG.md b/plugins/notifications-common/CHANGELOG.md index 571f253c34..68d5a816eb 100644 --- a/plugins/notifications-common/CHANGELOG.md +++ b/plugins/notifications-common/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/plugin-notifications-common +## 0.0.4-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. + ## 0.0.3 ### Patch Changes diff --git a/plugins/notifications-common/package.json b/plugins/notifications-common/package.json index d3ca76342c..28dcf719b8 100644 --- a/plugins/notifications-common/package.json +++ b/plugins/notifications-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-notifications-common", - "version": "0.0.3", + "version": "0.0.4-next.0", "description": "Common functionalities for the notifications plugin", "backstage": { "role": "common-library", diff --git a/plugins/notifications-node/CHANGELOG.md b/plugins/notifications-node/CHANGELOG.md index ea7a3a2249..165abf6e62 100644 --- a/plugins/notifications-node/CHANGELOG.md +++ b/plugins/notifications-node/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-notifications-node +## 0.2.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-notifications-common@0.0.4-next.0 + - @backstage/plugin-signals-node@0.1.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + ## 0.2.0-next.2 ### Patch Changes diff --git a/plugins/notifications-node/package.json b/plugins/notifications-node/package.json index ea1ed94e81..143131b8e7 100644 --- a/plugins/notifications-node/package.json +++ b/plugins/notifications-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-notifications-node", - "version": "0.2.0-next.2", + "version": "0.2.0-next.3", "description": "Node.js library for the notifications plugin", "backstage": { "role": "node-library", diff --git a/plugins/notifications/CHANGELOG.md b/plugins/notifications/CHANGELOG.md index 25a46e8872..c89dbb0e72 100644 --- a/plugins/notifications/CHANGELOG.md +++ b/plugins/notifications/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-notifications +## 0.2.2-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-notifications-common@0.0.4-next.0 + - @backstage/plugin-signals-react@0.0.4-next.1 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/theme@0.5.6-next.0 + - @backstage/types@1.1.1 + ## 0.2.2-next.2 ### Patch Changes diff --git a/plugins/notifications/package.json b/plugins/notifications/package.json index 0cfd15648c..c1c896db64 100644 --- a/plugins/notifications/package.json +++ b/plugins/notifications/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-notifications", - "version": "0.2.2-next.2", + "version": "0.2.2-next.3", "backstage": { "role": "frontend-plugin", "pluginId": "notifications", diff --git a/plugins/org-react/CHANGELOG.md b/plugins/org-react/CHANGELOG.md index 487f3ce78f..8c55d3d5d0 100644 --- a/plugins/org-react/CHANGELOG.md +++ b/plugins/org-react/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-org-react +## 0.1.25-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + ## 0.1.25-next.1 ### Patch Changes diff --git a/plugins/org-react/package.json b/plugins/org-react/package.json index a89fcd9eb1..85376bf50e 100644 --- a/plugins/org-react/package.json +++ b/plugins/org-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-org-react", - "version": "0.1.25-next.1", + "version": "0.1.25-next.2", "backstage": { "role": "web-library", "pluginId": "org", diff --git a/plugins/org/CHANGELOG.md b/plugins/org/CHANGELOG.md index 40db440e4a..f1d41f42ee 100644 --- a/plugins/org/CHANGELOG.md +++ b/plugins/org/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-org +## 0.6.26-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + ## 0.6.26-next.1 ### Patch Changes diff --git a/plugins/org/package.json b/plugins/org/package.json index 17435095f8..f86c532595 100644 --- a/plugins/org/package.json +++ b/plugins/org/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-org", - "version": "0.6.26-next.1", + "version": "0.6.26-next.2", "description": "A Backstage plugin that helps you create entity pages for your organization", "backstage": { "role": "frontend-plugin", diff --git a/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md b/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md index 312392e413..6661f22b2b 100644 --- a/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md +++ b/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-permission-backend-module-allow-all-policy +## 0.1.16-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-permission-node@0.7.30-next.3 + ## 0.1.16-next.1 ### Patch Changes diff --git a/plugins/permission-backend-module-policy-allow-all/package.json b/plugins/permission-backend-module-policy-allow-all/package.json index e48bc83bc2..c41c09094a 100644 --- a/plugins/permission-backend-module-policy-allow-all/package.json +++ b/plugins/permission-backend-module-policy-allow-all/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-permission-backend-module-allow-all-policy", - "version": "0.1.16-next.1", + "version": "0.1.16-next.2", "description": "Allow all policy backend module for the permission plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/permission-backend/CHANGELOG.md b/plugins/permission-backend/CHANGELOG.md index 34b4bb3306..0517a7d5fb 100644 --- a/plugins/permission-backend/CHANGELOG.md +++ b/plugins/permission-backend/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-permission-backend +## 0.5.43-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.5.43-next.2 ### Patch Changes diff --git a/plugins/permission-backend/package.json b/plugins/permission-backend/package.json index 469d988ac6..8c563caef6 100644 --- a/plugins/permission-backend/package.json +++ b/plugins/permission-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-permission-backend", - "version": "0.5.43-next.2", + "version": "0.5.43-next.3", "backstage": { "role": "backend-plugin", "pluginId": "permission", diff --git a/plugins/permission-common/CHANGELOG.md b/plugins/permission-common/CHANGELOG.md index 76d26bd4ba..3eaa31b8d4 100644 --- a/plugins/permission-common/CHANGELOG.md +++ b/plugins/permission-common/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-permission-common +## 0.7.14-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.7.13 ### Patch Changes diff --git a/plugins/permission-common/package.json b/plugins/permission-common/package.json index 1080bf00fb..f97ff53aa4 100644 --- a/plugins/permission-common/package.json +++ b/plugins/permission-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-permission-common", - "version": "0.7.13", + "version": "0.7.14-next.0", "description": "Isomorphic types and client for Backstage permissions and authorization", "backstage": { "role": "common-library", diff --git a/plugins/permission-node/CHANGELOG.md b/plugins/permission-node/CHANGELOG.md index 45a09cd81d..a42053297e 100644 --- a/plugins/permission-node/CHANGELOG.md +++ b/plugins/permission-node/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-permission-node +## 0.7.30-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.7.30-next.2 ### Patch Changes diff --git a/plugins/permission-node/package.json b/plugins/permission-node/package.json index 7d64063d91..072a23e7cc 100644 --- a/plugins/permission-node/package.json +++ b/plugins/permission-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-permission-node", - "version": "0.7.30-next.2", + "version": "0.7.30-next.3", "description": "Common permission and authorization utilities for backend plugins", "backstage": { "role": "node-library", diff --git a/plugins/permission-react/CHANGELOG.md b/plugins/permission-react/CHANGELOG.md index e6bfc9d152..38a0f79dcb 100644 --- a/plugins/permission-react/CHANGELOG.md +++ b/plugins/permission-react/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-permission-react +## 0.4.23-next.1 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/config@1.2.0 + - @backstage/core-plugin-api@1.9.3-next.0 + ## 0.4.23-next.0 ### Patch Changes diff --git a/plugins/permission-react/package.json b/plugins/permission-react/package.json index 9105a401a8..2f7a2060cc 100644 --- a/plugins/permission-react/package.json +++ b/plugins/permission-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-permission-react", - "version": "0.4.23-next.0", + "version": "0.4.23-next.1", "backstage": { "role": "web-library", "pluginId": "permission", diff --git a/plugins/proxy-backend/CHANGELOG.md b/plugins/proxy-backend/CHANGELOG.md index b46fbba91e..fd64cb957d 100644 --- a/plugins/proxy-backend/CHANGELOG.md +++ b/plugins/proxy-backend/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-proxy-backend +## 0.5.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/types@1.1.1 + ## 0.5.0-next.2 ### Patch Changes diff --git a/plugins/proxy-backend/package.json b/plugins/proxy-backend/package.json index f229ec8c6a..39df8539dc 100644 --- a/plugins/proxy-backend/package.json +++ b/plugins/proxy-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-proxy-backend", - "version": "0.5.0-next.2", + "version": "0.5.0-next.3", "description": "A Backstage backend plugin that helps you set up proxy endpoints in the backend", "backstage": { "role": "backend-plugin", diff --git a/plugins/scaffolder-backend-module-azure/CHANGELOG.md b/plugins/scaffolder-backend-module-azure/CHANGELOG.md index de0e5375a6..06dc87373d 100644 --- a/plugins/scaffolder-backend-module-azure/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-azure/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-scaffolder-backend-module-azure +## 0.1.11-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.1.11-next.1 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-azure/package.json b/plugins/scaffolder-backend-module-azure/package.json index 23af17730e..4bc8f6348e 100644 --- a/plugins/scaffolder-backend-module-azure/package.json +++ b/plugins/scaffolder-backend-module-azure/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-azure", - "version": "0.1.11-next.1", + "version": "0.1.11-next.2", "description": "The azure module for @backstage/plugin-scaffolder-backend", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/scaffolder-backend-module-bitbucket-cloud/CHANGELOG.md b/plugins/scaffolder-backend-module-bitbucket-cloud/CHANGELOG.md index 8903aabe28..0510656db6 100644 --- a/plugins/scaffolder-backend-module-bitbucket-cloud/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-bitbucket-cloud/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-scaffolder-backend-module-bitbucket-cloud +## 0.1.9-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.1.9-next.1 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-bitbucket-cloud/package.json b/plugins/scaffolder-backend-module-bitbucket-cloud/package.json index bd69da6fe4..f846f751cc 100644 --- a/plugins/scaffolder-backend-module-bitbucket-cloud/package.json +++ b/plugins/scaffolder-backend-module-bitbucket-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud", - "version": "0.1.9-next.1", + "version": "0.1.9-next.2", "description": "The Bitbucket Cloud module for @backstage/plugin-scaffolder-backend", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/scaffolder-backend-module-bitbucket-server/CHANGELOG.md b/plugins/scaffolder-backend-module-bitbucket-server/CHANGELOG.md index b6290c606b..445e38129a 100644 --- a/plugins/scaffolder-backend-module-bitbucket-server/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-bitbucket-server/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-scaffolder-backend-module-bitbucket-server +## 0.1.9-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.1.9-next.1 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-bitbucket-server/package.json b/plugins/scaffolder-backend-module-bitbucket-server/package.json index 779767cd0b..ca5b6a5520 100644 --- a/plugins/scaffolder-backend-module-bitbucket-server/package.json +++ b/plugins/scaffolder-backend-module-bitbucket-server/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-bitbucket-server", - "version": "0.1.9-next.1", + "version": "0.1.9-next.2", "description": "The Bitbucket Server module for @backstage/plugin-scaffolder-backend", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/scaffolder-backend-module-bitbucket/CHANGELOG.md b/plugins/scaffolder-backend-module-bitbucket/CHANGELOG.md index 8ee2eac340..7e55079855 100644 --- a/plugins/scaffolder-backend-module-bitbucket/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-bitbucket/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-scaffolder-backend-module-bitbucket +## 0.2.9-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.9-next.2 + - @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.9-next.2 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.2.9-next.1 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-bitbucket/package.json b/plugins/scaffolder-backend-module-bitbucket/package.json index fa4f09c729..8c4e810190 100644 --- a/plugins/scaffolder-backend-module-bitbucket/package.json +++ b/plugins/scaffolder-backend-module-bitbucket/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-bitbucket", - "version": "0.2.9-next.1", + "version": "0.2.9-next.2", "description": "The bitbucket module for @backstage/plugin-scaffolder-backend", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md b/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md index 24dbad895d..dd01e3894c 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-scaffolder-backend-module-confluence-to-markdown +## 0.2.20-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.2.20-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/package.json b/plugins/scaffolder-backend-module-confluence-to-markdown/package.json index a0dcf8ac42..c161ab1358 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdown/package.json +++ b/plugins/scaffolder-backend-module-confluence-to-markdown/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-confluence-to-markdown", - "version": "0.2.20-next.2", + "version": "0.2.20-next.3", "description": "The confluence-to-markdown module for @backstage/plugin-scaffolder-backend", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md b/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md index 1cf284232f..cf6a482a0f 100644 --- a/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-scaffolder-backend-module-cookiecutter +## 0.2.43-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.2.43-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-cookiecutter/package.json b/plugins/scaffolder-backend-module-cookiecutter/package.json index 14dd97be21..ab7a49d700 100644 --- a/plugins/scaffolder-backend-module-cookiecutter/package.json +++ b/plugins/scaffolder-backend-module-cookiecutter/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-cookiecutter", - "version": "0.2.43-next.2", + "version": "0.2.43-next.3", "description": "A module for the scaffolder backend that lets you template projects using cookiecutter", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/scaffolder-backend-module-gerrit/CHANGELOG.md b/plugins/scaffolder-backend-module-gerrit/CHANGELOG.md index eb88831f44..b815b20b95 100644 --- a/plugins/scaffolder-backend-module-gerrit/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-gerrit/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-scaffolder-backend-module-gerrit +## 0.1.11-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.1.11-next.1 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-gerrit/package.json b/plugins/scaffolder-backend-module-gerrit/package.json index 064f7c6a34..b77c51c6b5 100644 --- a/plugins/scaffolder-backend-module-gerrit/package.json +++ b/plugins/scaffolder-backend-module-gerrit/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-gerrit", - "version": "0.1.11-next.1", + "version": "0.1.11-next.2", "description": "The gerrit module for @backstage/plugin-scaffolder-backend", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/scaffolder-backend-module-gitea/CHANGELOG.md b/plugins/scaffolder-backend-module-gitea/CHANGELOG.md index d699ae849f..330aaea23b 100644 --- a/plugins/scaffolder-backend-module-gitea/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-gitea/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-scaffolder-backend-module-gitea +## 0.1.9-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.1.9-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-gitea/package.json b/plugins/scaffolder-backend-module-gitea/package.json index 759c8c928a..f87f8695ec 100644 --- a/plugins/scaffolder-backend-module-gitea/package.json +++ b/plugins/scaffolder-backend-module-gitea/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-gitea", - "version": "0.1.9-next.2", + "version": "0.1.9-next.3", "description": "The gitea module for @backstage/plugin-scaffolder-backend", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/scaffolder-backend-module-github/CHANGELOG.md b/plugins/scaffolder-backend-module-github/CHANGELOG.md index 1d0865c1b3..baefd5bddb 100644 --- a/plugins/scaffolder-backend-module-github/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-github/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-scaffolder-backend-module-github +## 0.3.0-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.3.0-next.2 ### Minor Changes diff --git a/plugins/scaffolder-backend-module-github/package.json b/plugins/scaffolder-backend-module-github/package.json index 1887df205a..800309627c 100644 --- a/plugins/scaffolder-backend-module-github/package.json +++ b/plugins/scaffolder-backend-module-github/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-github", - "version": "0.3.0-next.2", + "version": "0.3.0-next.3", "description": "The github module for @backstage/plugin-scaffolder-backend", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md b/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md index 0a345f2dbd..f90872bbbb 100644 --- a/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-scaffolder-backend-module-gitlab +## 0.4.1-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.4.1-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-gitlab/package.json b/plugins/scaffolder-backend-module-gitlab/package.json index 3464882af3..71cb12c659 100644 --- a/plugins/scaffolder-backend-module-gitlab/package.json +++ b/plugins/scaffolder-backend-module-gitlab/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-gitlab", - "version": "0.4.1-next.2", + "version": "0.4.1-next.3", "backstage": { "role": "backend-plugin-module", "pluginId": "scaffolder", diff --git a/plugins/scaffolder-backend-module-notifications/CHANGELOG.md b/plugins/scaffolder-backend-module-notifications/CHANGELOG.md index 88e2ddfe6a..e8b308afb2 100644 --- a/plugins/scaffolder-backend-module-notifications/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-notifications/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-scaffolder-backend-module-notifications +## 0.0.2-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-notifications-common@0.0.4-next.0 + - @backstage/plugin-notifications-node@0.2.0-next.3 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + ## 0.0.2-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-notifications/package.json b/plugins/scaffolder-backend-module-notifications/package.json index 0dba6267a0..57baab7b6f 100644 --- a/plugins/scaffolder-backend-module-notifications/package.json +++ b/plugins/scaffolder-backend-module-notifications/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-notifications", - "version": "0.0.2-next.2", + "version": "0.0.2-next.3", "description": "The notifications backend module for the scaffolder plugin.", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/scaffolder-backend-module-rails/CHANGELOG.md b/plugins/scaffolder-backend-module-rails/CHANGELOG.md index 4f021e3b36..1771640389 100644 --- a/plugins/scaffolder-backend-module-rails/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-rails/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-scaffolder-backend-module-rails +## 0.4.36-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.4.36-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-rails/package.json b/plugins/scaffolder-backend-module-rails/package.json index 7851c8f5d8..e2d2d678a5 100644 --- a/plugins/scaffolder-backend-module-rails/package.json +++ b/plugins/scaffolder-backend-module-rails/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-rails", - "version": "0.4.36-next.2", + "version": "0.4.36-next.3", "description": "A module for the scaffolder backend that lets you template projects using Rails", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/scaffolder-backend-module-sentry/CHANGELOG.md b/plugins/scaffolder-backend-module-sentry/CHANGELOG.md index 677be59a3b..a02aaab7b6 100644 --- a/plugins/scaffolder-backend-module-sentry/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-sentry/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-scaffolder-backend-module-sentry +## 0.1.27-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.1.27-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-sentry/package.json b/plugins/scaffolder-backend-module-sentry/package.json index 026d3f6efa..2566c82596 100644 --- a/plugins/scaffolder-backend-module-sentry/package.json +++ b/plugins/scaffolder-backend-module-sentry/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-sentry", - "version": "0.1.27-next.2", + "version": "0.1.27-next.3", "backstage": { "role": "backend-plugin-module", "pluginId": "scaffolder", diff --git a/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md b/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md index bf5329efa4..80f976c1c0 100644 --- a/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-scaffolder-backend-module-yeoman +## 0.3.2-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-scaffolder-node-test-utils@0.1.5-next.3 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/types@1.1.1 + ## 0.3.2-next.1 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-yeoman/package.json b/plugins/scaffolder-backend-module-yeoman/package.json index d2006948c9..7172b4ae38 100644 --- a/plugins/scaffolder-backend-module-yeoman/package.json +++ b/plugins/scaffolder-backend-module-yeoman/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-yeoman", - "version": "0.3.2-next.1", + "version": "0.3.2-next.2", "backstage": { "role": "backend-plugin-module", "pluginId": "scaffolder", diff --git a/plugins/scaffolder-backend/CHANGELOG.md b/plugins/scaffolder-backend/CHANGELOG.md index ac0f327575..b920fc7e9c 100644 --- a/plugins/scaffolder-backend/CHANGELOG.md +++ b/plugins/scaffolder-backend/CHANGELOG.md @@ -1,5 +1,37 @@ # @backstage/plugin-scaffolder-backend +## 1.22.8-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- f4c8486: Increase max wait time in debug:wait action to 10 minutes +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.17-next.3 + - @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.9-next.2 + - @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.9-next.2 + - @backstage/plugin-scaffolder-backend-module-bitbucket@0.2.9-next.2 + - @backstage/plugin-scaffolder-backend-module-gerrit@0.1.11-next.2 + - @backstage/plugin-scaffolder-backend-module-github@0.3.0-next.3 + - @backstage/plugin-scaffolder-backend-module-gitlab@0.4.1-next.3 + - @backstage/plugin-scaffolder-backend-module-azure@0.1.11-next.2 + - @backstage/plugin-scaffolder-backend-module-gitea@0.1.9-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-scaffolder-common@1.5.3-next.1 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 1.22.8-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend/package.json b/plugins/scaffolder-backend/package.json index 73f7631ed8..4060529421 100644 --- a/plugins/scaffolder-backend/package.json +++ b/plugins/scaffolder-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend", - "version": "1.22.8-next.2", + "version": "1.22.8-next.3", "description": "The Backstage backend plugin that helps you create new things", "backstage": { "role": "backend-plugin", diff --git a/plugins/scaffolder-common/CHANGELOG.md b/plugins/scaffolder-common/CHANGELOG.md index cbd9579ce9..b26c36b793 100644 --- a/plugins/scaffolder-common/CHANGELOG.md +++ b/plugins/scaffolder-common/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-scaffolder-common +## 1.5.3-next.1 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/catalog-model@1.5.0 + - @backstage/types@1.1.1 + ## 1.5.3-next.0 ### Patch Changes diff --git a/plugins/scaffolder-common/package.json b/plugins/scaffolder-common/package.json index 54501d64e5..84aedbf963 100644 --- a/plugins/scaffolder-common/package.json +++ b/plugins/scaffolder-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-common", - "version": "1.5.3-next.0", + "version": "1.5.3-next.1", "description": "Common functionalities for the scaffolder, to be shared between scaffolder and scaffolder-backend plugin", "backstage": { "role": "common-library", diff --git a/plugins/scaffolder-node-test-utils/CHANGELOG.md b/plugins/scaffolder-node-test-utils/CHANGELOG.md index e006113379..ada4c38a67 100644 --- a/plugins/scaffolder-node-test-utils/CHANGELOG.md +++ b/plugins/scaffolder-node-test-utils/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-scaffolder-node-test-utils +## 0.1.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-test-utils@0.4.0-next.3 + - @backstage/plugin-scaffolder-node@0.4.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/types@1.1.1 + ## 0.1.5-next.2 ### Patch Changes diff --git a/plugins/scaffolder-node-test-utils/package.json b/plugins/scaffolder-node-test-utils/package.json index 2f46101b3c..2419074362 100644 --- a/plugins/scaffolder-node-test-utils/package.json +++ b/plugins/scaffolder-node-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-node-test-utils", - "version": "0.1.5-next.2", + "version": "0.1.5-next.3", "backstage": { "role": "node-library", "pluginId": "scaffolder", diff --git a/plugins/scaffolder-node/CHANGELOG.md b/plugins/scaffolder-node/CHANGELOG.md index 488e2c97c2..c4e974c297 100644 --- a/plugins/scaffolder-node/CHANGELOG.md +++ b/plugins/scaffolder-node/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-scaffolder-node +## 0.4.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-common@1.5.3-next.1 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.4.5-next.2 ### Patch Changes diff --git a/plugins/scaffolder-node/package.json b/plugins/scaffolder-node/package.json index aca3ff3f5a..233619ba99 100644 --- a/plugins/scaffolder-node/package.json +++ b/plugins/scaffolder-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-node", - "version": "0.4.5-next.2", + "version": "0.4.5-next.3", "description": "The plugin-scaffolder-node module for @backstage/plugin-scaffolder-backend", "backstage": { "role": "node-library", diff --git a/plugins/scaffolder-react/CHANGELOG.md b/plugins/scaffolder-react/CHANGELOG.md index 83e5825807..c33fbc059b 100644 --- a/plugins/scaffolder-react/CHANGELOG.md +++ b/plugins/scaffolder-react/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-scaffolder-react +## 1.8.7-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- fa8560e: Prevents Autocomplete dropdown from overlapping sidebar on hovering it +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-scaffolder-common@1.5.3-next.1 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.8 + ## 1.8.7-next.2 ### Patch Changes diff --git a/plugins/scaffolder-react/package.json b/plugins/scaffolder-react/package.json index 3138c992cd..63fcd264ad 100644 --- a/plugins/scaffolder-react/package.json +++ b/plugins/scaffolder-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-react", - "version": "1.8.7-next.2", + "version": "1.8.7-next.3", "description": "A frontend library that helps other Backstage plugins interact with the Scaffolder", "backstage": { "role": "web-library", diff --git a/plugins/scaffolder/CHANGELOG.md b/plugins/scaffolder/CHANGELOG.md index 7260522e54..f42ddfa0e1 100644 --- a/plugins/scaffolder/CHANGELOG.md +++ b/plugins/scaffolder/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/plugin-scaffolder +## 1.21.0-next.3 + +### Minor Changes + +- d57ebbc: Changed the way to display entities in EntityPicker to use entityPresentationApi instead of humanizeEntityRef + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-scaffolder-common@1.5.3-next.1 + - @backstage/plugin-permission-react@0.4.23-next.1 + - @backstage/plugin-scaffolder-react@1.8.7-next.3 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 1.21.0-next.2 ### Minor Changes diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json index cb6842c1c0..d1b58c8eca 100644 --- a/plugins/scaffolder/package.json +++ b/plugins/scaffolder/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder", - "version": "1.21.0-next.2", + "version": "1.21.0-next.3", "description": "The Backstage plugin that helps you create new things", "backstage": { "role": "frontend-plugin", diff --git a/plugins/search-backend-module-catalog/CHANGELOG.md b/plugins/search-backend-module-catalog/CHANGELOG.md index beb7c7dc3c..880053dff5 100644 --- a/plugins/search-backend-module-catalog/CHANGELOG.md +++ b/plugins/search-backend-module-catalog/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-search-backend-module-catalog +## 0.1.25-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 0.1.25-next.2 ### Patch Changes diff --git a/plugins/search-backend-module-catalog/package.json b/plugins/search-backend-module-catalog/package.json index ddeb0cb823..cf6a9a3e18 100644 --- a/plugins/search-backend-module-catalog/package.json +++ b/plugins/search-backend-module-catalog/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search-backend-module-catalog", - "version": "0.1.25-next.2", + "version": "0.1.25-next.3", "description": "A module for the search backend that exports catalog modules", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/search-backend-module-elasticsearch/CHANGELOG.md b/plugins/search-backend-module-elasticsearch/CHANGELOG.md index 350d8b3d5e..81b6dfdeba 100644 --- a/plugins/search-backend-module-elasticsearch/CHANGELOG.md +++ b/plugins/search-backend-module-elasticsearch/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-search-backend-module-elasticsearch +## 1.4.2-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/integration-aws-node@0.1.12 + ## 1.4.2-next.2 ### Patch Changes diff --git a/plugins/search-backend-module-elasticsearch/package.json b/plugins/search-backend-module-elasticsearch/package.json index a8c245c4d3..bf6c48910f 100644 --- a/plugins/search-backend-module-elasticsearch/package.json +++ b/plugins/search-backend-module-elasticsearch/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search-backend-module-elasticsearch", - "version": "1.4.2-next.2", + "version": "1.4.2-next.3", "description": "A module for the search backend that implements search using ElasticSearch", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/search-backend-module-explore/CHANGELOG.md b/plugins/search-backend-module-explore/CHANGELOG.md index 4ca395300b..9ce0c3ce31 100644 --- a/plugins/search-backend-module-explore/CHANGELOG.md +++ b/plugins/search-backend-module-explore/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-search-backend-module-explore +## 0.1.25-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + ## 0.1.25-next.2 ### Patch Changes diff --git a/plugins/search-backend-module-explore/package.json b/plugins/search-backend-module-explore/package.json index 2d177c73bf..88239e5853 100644 --- a/plugins/search-backend-module-explore/package.json +++ b/plugins/search-backend-module-explore/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search-backend-module-explore", - "version": "0.1.25-next.2", + "version": "0.1.25-next.3", "description": "A module for the search backend that exports explore modules", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/search-backend-module-pg/CHANGELOG.md b/plugins/search-backend-module-pg/CHANGELOG.md index afd7d5d5b6..f02ea765b4 100644 --- a/plugins/search-backend-module-pg/CHANGELOG.md +++ b/plugins/search-backend-module-pg/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-search-backend-module-pg +## 0.5.28-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/backend-app-api@0.7.6-next.3 + - @backstage/config@1.2.0 + ## 0.5.28-next.2 ### Patch Changes diff --git a/plugins/search-backend-module-pg/package.json b/plugins/search-backend-module-pg/package.json index 83f6d72875..236adaac63 100644 --- a/plugins/search-backend-module-pg/package.json +++ b/plugins/search-backend-module-pg/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search-backend-module-pg", - "version": "0.5.28-next.2", + "version": "0.5.28-next.3", "description": "A module for the search backend that implements search using PostgreSQL", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/search-backend-module-stack-overflow-collator/CHANGELOG.md b/plugins/search-backend-module-stack-overflow-collator/CHANGELOG.md index 63f008a851..10705399e0 100644 --- a/plugins/search-backend-module-stack-overflow-collator/CHANGELOG.md +++ b/plugins/search-backend-module-stack-overflow-collator/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-search-backend-module-stack-overflow-collator +## 0.1.12-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + ## 0.1.12-next.2 ### Patch Changes diff --git a/plugins/search-backend-module-stack-overflow-collator/package.json b/plugins/search-backend-module-stack-overflow-collator/package.json index c35347f8da..b35262a949 100644 --- a/plugins/search-backend-module-stack-overflow-collator/package.json +++ b/plugins/search-backend-module-stack-overflow-collator/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search-backend-module-stack-overflow-collator", - "version": "0.1.12-next.2", + "version": "0.1.12-next.3", "description": "A module for the search backend that exports stack overflow modules", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/search-backend-module-techdocs/CHANGELOG.md b/plugins/search-backend-module-techdocs/CHANGELOG.md index e2d7c21867..d3173bcf2c 100644 --- a/plugins/search-backend-module-techdocs/CHANGELOG.md +++ b/plugins/search-backend-module-techdocs/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-search-backend-module-techdocs +## 0.1.24-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-techdocs-node@1.12.5-next.3 + - @backstage/plugin-catalog-node@1.12.1-next.2 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + ## 0.1.24-next.2 ### Patch Changes diff --git a/plugins/search-backend-module-techdocs/package.json b/plugins/search-backend-module-techdocs/package.json index d487866f3d..5646ac0b6d 100644 --- a/plugins/search-backend-module-techdocs/package.json +++ b/plugins/search-backend-module-techdocs/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search-backend-module-techdocs", - "version": "0.1.24-next.2", + "version": "0.1.24-next.3", "description": "A module for the search backend that exports techdocs modules", "backstage": { "role": "backend-plugin-module", diff --git a/plugins/search-backend-node/CHANGELOG.md b/plugins/search-backend-node/CHANGELOG.md index c0cc9e1c0e..87f7db5616 100644 --- a/plugins/search-backend-node/CHANGELOG.md +++ b/plugins/search-backend-node/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-search-backend-node +## 1.2.24-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/backend-tasks@0.5.24-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 1.2.24-next.2 ### Patch Changes diff --git a/plugins/search-backend-node/package.json b/plugins/search-backend-node/package.json index 20d5e70048..932404902e 100644 --- a/plugins/search-backend-node/package.json +++ b/plugins/search-backend-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search-backend-node", - "version": "1.2.24-next.2", + "version": "1.2.24-next.3", "description": "A library for Backstage backend plugins that want to interact with the search backend plugin", "backstage": { "role": "node-library", diff --git a/plugins/search-backend/CHANGELOG.md b/plugins/search-backend/CHANGELOG.md index c51185b2a3..f4e94b34b9 100644 --- a/plugins/search-backend/CHANGELOG.md +++ b/plugins/search-backend/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-search-backend +## 1.5.10-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/backend-defaults@0.3.0-next.3 + - @backstage/plugin-search-backend-node@1.2.24-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-permission-node@0.7.30-next.3 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/backend-openapi-utils@0.1.12-next.2 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 1.5.10-next.2 ### Patch Changes diff --git a/plugins/search-backend/package.json b/plugins/search-backend/package.json index 97287b8f87..1f44819562 100644 --- a/plugins/search-backend/package.json +++ b/plugins/search-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search-backend", - "version": "1.5.10-next.2", + "version": "1.5.10-next.3", "description": "The Backstage backend plugin that provides your backstage app with search", "backstage": { "role": "backend-plugin", diff --git a/plugins/search-common/CHANGELOG.md b/plugins/search-common/CHANGELOG.md index ae1b24dea6..e0c9991457 100644 --- a/plugins/search-common/CHANGELOG.md +++ b/plugins/search-common/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-search-common +## 1.2.12-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/types@1.1.1 + ## 1.2.11 ### Patch Changes diff --git a/plugins/search-common/package.json b/plugins/search-common/package.json index 346a248bf6..19657dee23 100644 --- a/plugins/search-common/package.json +++ b/plugins/search-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search-common", - "version": "1.2.11", + "version": "1.2.12-next.0", "description": "Common functionalities for Search, to be shared between various search-enabled plugins", "backstage": { "role": "common-library", diff --git a/plugins/search-react/CHANGELOG.md b/plugins/search-react/CHANGELOG.md index ab153126eb..d0ca8d04f6 100644 --- a/plugins/search-react/CHANGELOG.md +++ b/plugins/search-react/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-search-react +## 1.7.12-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.8 + ## 1.7.12-next.1 ### Patch Changes diff --git a/plugins/search-react/package.json b/plugins/search-react/package.json index 2cd8d0af3d..bca09316da 100644 --- a/plugins/search-react/package.json +++ b/plugins/search-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search-react", - "version": "1.7.12-next.1", + "version": "1.7.12-next.2", "backstage": { "role": "web-library", "pluginId": "search", diff --git a/plugins/search/CHANGELOG.md b/plugins/search/CHANGELOG.md index d1bcaa6c97..6d2bcc0418 100644 --- a/plugins/search/CHANGELOG.md +++ b/plugins/search/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-search +## 1.4.12-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-search-react@1.7.12-next.2 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.8 + ## 1.4.12-next.2 ### Patch Changes diff --git a/plugins/search/package.json b/plugins/search/package.json index bfc4f0f103..ec5d704e87 100644 --- a/plugins/search/package.json +++ b/plugins/search/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search", - "version": "1.4.12-next.2", + "version": "1.4.12-next.3", "description": "The Backstage plugin that provides your backstage app with search", "backstage": { "role": "frontend-plugin", diff --git a/plugins/signals-backend/CHANGELOG.md b/plugins/signals-backend/CHANGELOG.md index ecb0b6905b..aed8136b7b 100644 --- a/plugins/signals-backend/CHANGELOG.md +++ b/plugins/signals-backend/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-signals-backend +## 0.1.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-signals-node@0.1.5-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/types@1.1.1 + ## 0.1.5-next.2 ### Patch Changes diff --git a/plugins/signals-backend/package.json b/plugins/signals-backend/package.json index f4e4f03a8d..33fd9e5020 100644 --- a/plugins/signals-backend/package.json +++ b/plugins/signals-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-signals-backend", - "version": "0.1.5-next.2", + "version": "0.1.5-next.3", "backstage": { "role": "backend-plugin", "pluginId": "signals", diff --git a/plugins/signals-node/CHANGELOG.md b/plugins/signals-node/CHANGELOG.md index 1e033a75e2..3563cbd5e2 100644 --- a/plugins/signals-node/CHANGELOG.md +++ b/plugins/signals-node/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-signals-node +## 0.1.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-events-node@0.3.5-next.2 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/types@1.1.1 + ## 0.1.5-next.2 ### Patch Changes diff --git a/plugins/signals-node/package.json b/plugins/signals-node/package.json index e7eb39c9e1..eb40dc897a 100644 --- a/plugins/signals-node/package.json +++ b/plugins/signals-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-signals-node", - "version": "0.1.5-next.2", + "version": "0.1.5-next.3", "description": "Node.js library for the signals plugin", "backstage": { "role": "node-library", diff --git a/plugins/signals-react/CHANGELOG.md b/plugins/signals-react/CHANGELOG.md index b013dfeb84..12810ba0b0 100644 --- a/plugins/signals-react/CHANGELOG.md +++ b/plugins/signals-react/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-signals-react +## 0.0.4-next.1 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/types@1.1.1 + ## 0.0.4-next.0 ### Patch Changes diff --git a/plugins/signals-react/package.json b/plugins/signals-react/package.json index 37353a7d80..7ea1bbafcd 100644 --- a/plugins/signals-react/package.json +++ b/plugins/signals-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-signals-react", - "version": "0.0.4-next.0", + "version": "0.0.4-next.1", "description": "Web library for the signals plugin", "backstage": { "role": "web-library", diff --git a/plugins/signals/CHANGELOG.md b/plugins/signals/CHANGELOG.md index fb60992916..6c35f82895 100644 --- a/plugins/signals/CHANGELOG.md +++ b/plugins/signals/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-signals +## 0.0.7-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-signals-react@0.0.4-next.1 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/theme@0.5.6-next.0 + - @backstage/types@1.1.1 + ## 0.0.7-next.1 ### Patch Changes diff --git a/plugins/signals/package.json b/plugins/signals/package.json index c211003927..c19f9cd3dc 100644 --- a/plugins/signals/package.json +++ b/plugins/signals/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-signals", - "version": "0.0.7-next.1", + "version": "0.0.7-next.2", "backstage": { "role": "frontend-plugin", "pluginId": "signals", diff --git a/plugins/techdocs-addons-test-utils/CHANGELOG.md b/plugins/techdocs-addons-test-utils/CHANGELOG.md index 5838a42270..67c17b6e9d 100644 --- a/plugins/techdocs-addons-test-utils/CHANGELOG.md +++ b/plugins/techdocs-addons-test-utils/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-techdocs-addons-test-utils +## 1.0.33-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.2.5-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-search-react@1.7.12-next.2 + - @backstage/plugin-techdocs@1.10.6-next.2 + - @backstage/plugin-catalog@1.21.0-next.3 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/test-utils@1.5.6-next.2 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + ## 1.0.33-next.1 ### Patch Changes diff --git a/plugins/techdocs-addons-test-utils/package.json b/plugins/techdocs-addons-test-utils/package.json index b3fa6128fb..b805b05ae7 100644 --- a/plugins/techdocs-addons-test-utils/package.json +++ b/plugins/techdocs-addons-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-techdocs-addons-test-utils", - "version": "1.0.33-next.1", + "version": "1.0.33-next.2", "backstage": { "role": "web-library", "pluginId": "techdocs-addons", diff --git a/plugins/techdocs-backend/CHANGELOG.md b/plugins/techdocs-backend/CHANGELOG.md index f201caa389..05d8f1fd46 100644 --- a/plugins/techdocs-backend/CHANGELOG.md +++ b/plugins/techdocs-backend/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-techdocs-backend +## 1.10.6-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-search-backend-module-techdocs@0.1.24-next.3 + - @backstage/plugin-permission-common@0.7.14-next.0 + - @backstage/plugin-catalog-common@1.0.24-next.0 + - @backstage/plugin-techdocs-node@1.12.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-client@1.6.5 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + ## 1.10.6-next.2 ### Patch Changes diff --git a/plugins/techdocs-backend/package.json b/plugins/techdocs-backend/package.json index d202c35719..1abf653784 100644 --- a/plugins/techdocs-backend/package.json +++ b/plugins/techdocs-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-techdocs-backend", - "version": "1.10.6-next.2", + "version": "1.10.6-next.3", "description": "The Backstage backend plugin that renders technical documentation for your components", "backstage": { "role": "backend-plugin", diff --git a/plugins/techdocs-module-addons-contrib/CHANGELOG.md b/plugins/techdocs-module-addons-contrib/CHANGELOG.md index 72efbff1af..a5631f2492 100644 --- a/plugins/techdocs-module-addons-contrib/CHANGELOG.md +++ b/plugins/techdocs-module-addons-contrib/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-techdocs-module-addons-contrib +## 1.1.11-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-techdocs-react@1.2.5-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/core-plugin-api@1.9.3-next.0 + ## 1.1.11-next.1 ### Patch Changes diff --git a/plugins/techdocs-module-addons-contrib/package.json b/plugins/techdocs-module-addons-contrib/package.json index 7836dc3e05..1b456ec300 100644 --- a/plugins/techdocs-module-addons-contrib/package.json +++ b/plugins/techdocs-module-addons-contrib/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-techdocs-module-addons-contrib", - "version": "1.1.11-next.1", + "version": "1.1.11-next.2", "description": "Plugin module for contributed TechDocs Addons", "backstage": { "role": "frontend-plugin-module", diff --git a/plugins/techdocs-node/CHANGELOG.md b/plugins/techdocs-node/CHANGELOG.md index 5242fa8ec6..0c15e12faf 100644 --- a/plugins/techdocs-node/CHANGELOG.md +++ b/plugins/techdocs-node/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-techdocs-node +## 1.12.5-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/integration-aws-node@0.1.12 + ## 1.12.5-next.2 ### Patch Changes diff --git a/plugins/techdocs-node/package.json b/plugins/techdocs-node/package.json index fdedeb679d..7ef38c56ff 100644 --- a/plugins/techdocs-node/package.json +++ b/plugins/techdocs-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-techdocs-node", - "version": "1.12.5-next.2", + "version": "1.12.5-next.3", "description": "Common node.js functionalities for TechDocs, to be shared between techdocs-backend plugin and techdocs-cli", "backstage": { "role": "node-library", diff --git a/plugins/techdocs-react/CHANGELOG.md b/plugins/techdocs-react/CHANGELOG.md index 569a1cb49b..8a681308d5 100644 --- a/plugins/techdocs-react/CHANGELOG.md +++ b/plugins/techdocs-react/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-techdocs-react +## 1.2.5-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/version-bridge@1.0.8 + ## 1.2.5-next.1 ### Patch Changes diff --git a/plugins/techdocs-react/package.json b/plugins/techdocs-react/package.json index 601eeea739..233ec010bc 100644 --- a/plugins/techdocs-react/package.json +++ b/plugins/techdocs-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-techdocs-react", - "version": "1.2.5-next.1", + "version": "1.2.5-next.2", "description": "Shared frontend utilities for TechDocs and Addons", "backstage": { "role": "web-library", diff --git a/plugins/techdocs/CHANGELOG.md b/plugins/techdocs/CHANGELOG.md index 2c7ad7fec8..4065b4f341 100644 --- a/plugins/techdocs/CHANGELOG.md +++ b/plugins/techdocs/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-techdocs +## 1.10.6-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/integration@1.12.0-next.1 + - @backstage/plugin-techdocs-react@1.2.5-next.2 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-search-common@1.2.12-next.0 + - @backstage/plugin-search-react@1.7.12-next.2 + - @backstage/plugin-auth-react@0.1.3-next.2 + - @backstage/integration-react@1.1.28-next.1 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/catalog-model@1.5.0 + - @backstage/config@1.2.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/theme@0.5.6-next.0 + ## 1.10.6-next.1 ### Patch Changes diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json index 84c9df25a6..2ec4ff38f0 100644 --- a/plugins/techdocs/package.json +++ b/plugins/techdocs/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-techdocs", - "version": "1.10.6-next.1", + "version": "1.10.6-next.2", "description": "The Backstage plugin that renders technical documentation for your components", "backstage": { "role": "frontend-plugin", diff --git a/plugins/user-settings-backend/CHANGELOG.md b/plugins/user-settings-backend/CHANGELOG.md index 0e7600d0e3..bddd6f9fb3 100644 --- a/plugins/user-settings-backend/CHANGELOG.md +++ b/plugins/user-settings-backend/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-user-settings-backend +## 0.2.18-next.3 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- e6ec179: Use signals to update user settings across sessions +- Updated dependencies + - @backstage/backend-plugin-api@0.6.19-next.3 + - @backstage/plugin-auth-node@0.4.14-next.3 + - @backstage/plugin-user-settings-common@0.0.1-next.0 + - @backstage/plugin-signals-node@0.1.5-next.3 + - @backstage/backend-common@0.23.0-next.3 + - @backstage/config@1.2.0 + - @backstage/errors@1.2.4 + - @backstage/types@1.1.1 + ## 0.2.18-next.2 ### Patch Changes diff --git a/plugins/user-settings-backend/package.json b/plugins/user-settings-backend/package.json index ce15f2b6c3..e08e63ad05 100644 --- a/plugins/user-settings-backend/package.json +++ b/plugins/user-settings-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-user-settings-backend", - "version": "0.2.18-next.2", + "version": "0.2.18-next.3", "description": "The Backstage backend plugin to manage user settings", "backstage": { "role": "backend-plugin", diff --git a/plugins/user-settings-common/CHANGELOG.md b/plugins/user-settings-common/CHANGELOG.md new file mode 100644 index 0000000000..768c2af894 --- /dev/null +++ b/plugins/user-settings-common/CHANGELOG.md @@ -0,0 +1,8 @@ +# @backstage/plugin-user-settings-common + +## 0.0.1-next.0 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- e6ec179: Use signals to update user settings across sessions diff --git a/plugins/user-settings-common/package.json b/plugins/user-settings-common/package.json index d36029092b..f9a6b32d93 100644 --- a/plugins/user-settings-common/package.json +++ b/plugins/user-settings-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-user-settings-common", - "version": "0.0.0", + "version": "0.0.1-next.0", "description": "Common functionalities for the user-settings plugin", "backstage": { "role": "common-library", diff --git a/plugins/user-settings/CHANGELOG.md b/plugins/user-settings/CHANGELOG.md index 859f4636dc..e373503785 100644 --- a/plugins/user-settings/CHANGELOG.md +++ b/plugins/user-settings/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-user-settings +## 0.8.7-next.2 + +### Patch Changes + +- d44a20a: Added additional plugin metadata to `package.json`. +- e6ec179: Use signals to update user settings across sessions +- Updated dependencies + - @backstage/core-components@0.14.8-next.2 + - @backstage/plugin-user-settings-common@0.0.1-next.0 + - @backstage/plugin-catalog-react@1.12.1-next.2 + - @backstage/plugin-signals-react@0.0.4-next.1 + - @backstage/frontend-plugin-api@0.6.6-next.2 + - @backstage/core-compat-api@0.2.6-next.2 + - @backstage/core-app-api@1.12.6-next.0 + - @backstage/core-plugin-api@1.9.3-next.0 + - @backstage/errors@1.2.4 + - @backstage/theme@0.5.6-next.0 + - @backstage/types@1.1.1 + ## 0.8.7-next.1 ### Patch Changes diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json index 7546b8ca64..1d2fd3131c 100644 --- a/plugins/user-settings/package.json +++ b/plugins/user-settings/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-user-settings", - "version": "0.8.7-next.1", + "version": "0.8.7-next.2", "description": "A Backstage plugin that provides a settings page", "backstage": { "role": "frontend-plugin", diff --git a/yarn.lock b/yarn.lock index 5c0993f074..aad4c04015 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5674,7 +5674,18 @@ __metadata: languageName: unknown linkType: soft -"@backstage/plugin-catalog-common@^1.0.20, @backstage/plugin-catalog-common@^1.0.23, @backstage/plugin-catalog-common@workspace:^, @backstage/plugin-catalog-common@workspace:plugins/catalog-common": +"@backstage/plugin-catalog-common@npm:^1.0.20, @backstage/plugin-catalog-common@npm:^1.0.23": + version: 1.0.23 + resolution: "@backstage/plugin-catalog-common@npm:1.0.23" + dependencies: + "@backstage/catalog-model": ^1.5.0 + "@backstage/plugin-permission-common": ^0.7.13 + "@backstage/plugin-search-common": ^1.2.11 + checksum: 071456b301689b9b349bdb1bea0d81cc41b0e8055e68096655a0abd198ea21afdc27bda7135d5c800ba8074fbc20d2d8d3a2244578fa8f6547205bee57c31c3d + languageName: node + linkType: hard + +"@backstage/plugin-catalog-common@workspace:^, @backstage/plugin-catalog-common@workspace:plugins/catalog-common": version: 0.0.0-use.local resolution: "@backstage/plugin-catalog-common@workspace:plugins/catalog-common" dependencies: @@ -6662,7 +6673,21 @@ __metadata: languageName: unknown linkType: soft -"@backstage/plugin-permission-common@^0.7.13, @backstage/plugin-permission-common@workspace:^, @backstage/plugin-permission-common@workspace:plugins/permission-common": +"@backstage/plugin-permission-common@npm:^0.7.13": + version: 0.7.13 + resolution: "@backstage/plugin-permission-common@npm:0.7.13" + dependencies: + "@backstage/config": ^1.2.0 + "@backstage/errors": ^1.2.4 + "@backstage/types": ^1.1.1 + cross-fetch: ^4.0.0 + uuid: ^9.0.0 + zod: ^3.22.4 + checksum: 3abea60e1016d352b99700d331af39b8c2b6f84ce7e19e02026f909e53a709b23c1ac9fadc591658252c458bb4d381545574ca66374db0912efe6640c8d58020 + languageName: node + linkType: hard + +"@backstage/plugin-permission-common@workspace:^, @backstage/plugin-permission-common@workspace:plugins/permission-common": version: 0.0.0-use.local resolution: "@backstage/plugin-permission-common@workspace:plugins/permission-common" dependencies: @@ -7465,6 +7490,16 @@ __metadata: languageName: unknown linkType: soft +"@backstage/plugin-search-common@npm:^1.2.11": + version: 1.2.11 + resolution: "@backstage/plugin-search-common@npm:1.2.11" + dependencies: + "@backstage/plugin-permission-common": ^0.7.13 + "@backstage/types": ^1.1.1 + checksum: 861ba64fd733511bad58d2b3f6b2af60426d71b8e8d74838b85a15a5870d54c0de984681a33f5adb8e97284da9167655982bcf5e543436d0f4160a2c0cbece1f + languageName: node + linkType: hard + "@backstage/plugin-search-common@workspace:^, @backstage/plugin-search-common@workspace:plugins/search-common": version: 0.0.0-use.local resolution: "@backstage/plugin-search-common@workspace:plugins/search-common" From 5d5ae327457008a312eb0a4b9205596413863dd9 Mon Sep 17 00:00:00 2001 From: Tim Klever Date: Tue, 11 Jun 2024 11:24:14 -0700 Subject: [PATCH 52/66] chore: fix minor typo in SQLite connector Signed-off-by: Tim Klever --- .../src/entrypoints/database/connectors/sqlite3.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend-defaults/src/entrypoints/database/connectors/sqlite3.ts b/packages/backend-defaults/src/entrypoints/database/connectors/sqlite3.ts index f7d55b34da..97ba6d46fd 100644 --- a/packages/backend-defaults/src/entrypoints/database/connectors/sqlite3.ts +++ b/packages/backend-defaults/src/entrypoints/database/connectors/sqlite3.ts @@ -192,7 +192,7 @@ export class Sqlite3Connector implements Connector { const pluginDivisionMode = this.getPluginDivisionModeConfig(); if (pluginDivisionMode !== 'database') { throw new Error( - `The SQLite driver does not suppoert plugin division mode '${pluginDivisionMode}'`, + `The SQLite driver does not support plugin division mode '${pluginDivisionMode}'`, ); } From 701c1432742ad934076584b4ce3efc344ed5b481 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 21:48:06 +0000 Subject: [PATCH 53/66] fix(deps): update dependency @azure/identity to v4.2.1 [security] Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/yarn.lock b/yarn.lock index aad4c04015..28ffa95685 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1777,8 +1777,8 @@ __metadata: linkType: hard "@azure/identity@npm:^4.0.0": - version: 4.1.0 - resolution: "@azure/identity@npm:4.1.0" + version: 4.2.1 + resolution: "@azure/identity@npm:4.2.1" dependencies: "@azure/abort-controller": ^1.0.0 "@azure/core-auth": ^1.5.0 @@ -1788,13 +1788,13 @@ __metadata: "@azure/core-util": ^1.3.0 "@azure/logger": ^1.0.0 "@azure/msal-browser": ^3.11.1 - "@azure/msal-node": ^2.6.6 + "@azure/msal-node": ^2.9.2 events: ^3.0.0 jws: ^4.0.0 open: ^8.0.0 stoppable: ^1.1.0 tslib: ^2.2.0 - checksum: ff46494c7a7fdc866406f0e7938e7621c9ee0e852af2faad7ecf53d62a45b1528150f9c8b13a0fdd846995943025fbcbc88f2582b107cd5afac1511c28252377 + checksum: 2dbd7b0fa6b92904b7b8f828374d7316384cc4e00c71cdac3a2f2544b9e02c7287fe7ad58149bb8794c57913d77a927f5a7b5d1367e05abe82b0f2e1b162415c languageName: node linkType: hard @@ -1816,6 +1816,13 @@ __metadata: languageName: node linkType: hard +"@azure/msal-common@npm:14.12.0": + version: 14.12.0 + resolution: "@azure/msal-common@npm:14.12.0" + checksum: 9a987b7b9b6453500481ec48224b4d9f728c62ac584f9a35ef519eff46016fc63c1a7dc159f725a5ec3748bf1ade352654fd7a7170ba42bc27ca263a01cf59db + languageName: node + linkType: hard + "@azure/msal-common@npm:14.8.1": version: 14.8.1 resolution: "@azure/msal-common@npm:14.8.1" @@ -1823,14 +1830,14 @@ __metadata: languageName: node linkType: hard -"@azure/msal-node@npm:^2.6.6": - version: 2.6.6 - resolution: "@azure/msal-node@npm:2.6.6" +"@azure/msal-node@npm:^2.9.2": + version: 2.9.2 + resolution: "@azure/msal-node@npm:2.9.2" dependencies: - "@azure/msal-common": 14.8.1 + "@azure/msal-common": 14.12.0 jsonwebtoken: ^9.0.0 uuid: ^8.3.0 - checksum: 45a83d774af1bb58df99c67551c68c686385950f701421e0c4c446e4d1b80c316f5e525024189bdbdd520b34e326d0e901a476c2afae07389fb9efd1c616c867 + checksum: a2b51d4085d20cbac84752b9e68a5a22c7c9dbfdbc25a1713ee5e6918a504928f82e66c9317fc78db4f12053e7debd477b984cab578e0bea269aacc0862e7219 languageName: node linkType: hard From 24eaf453563cf527a4e788b90393479d5e0c3a2e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 00:44:17 +0000 Subject: [PATCH 54/66] chore(deps): update dependency lint-staged to v15.2.6 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3caa9f5c4b..66800c9e96 100644 --- a/yarn.lock +++ b/yarn.lock @@ -32410,8 +32410,8 @@ __metadata: linkType: hard "lint-staged@npm:^15.0.0": - version: 15.2.5 - resolution: "lint-staged@npm:15.2.5" + version: 15.2.6 + resolution: "lint-staged@npm:15.2.6" dependencies: chalk: ~5.3.0 commander: ~12.1.0 @@ -32425,7 +32425,7 @@ __metadata: yaml: ~2.4.2 bin: lint-staged: bin/lint-staged.js - checksum: 3025868d965eb401a5ebd903abd70cfebb8dbeb41eea1020c316f9c8c79083ea203f6cef95d32bfa8c9ec5486392b4ed08632ace6a5347b69cf238ba00e178f0 + checksum: 9320f6995365723d37b9247c8ebc1a80c567578a4d2ed693de20140749b244730be2d296e1cdc9545430c7dcda08b622473a578fc9847c70589913f1c3b61f6e languageName: node linkType: hard From 9a923070627e5166740769beaaecd0bb3ae7b1e3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 00:44:54 +0000 Subject: [PATCH 55/66] fix(deps): update dependency @types/passport-oauth2 to v1.4.17 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 2d508b5bff..372329957e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18243,13 +18243,13 @@ __metadata: linkType: hard "@types/passport-oauth2@npm:*, @types/passport-oauth2@npm:^1.4.11, @types/passport-oauth2@npm:^1.4.15": - version: 1.4.16 - resolution: "@types/passport-oauth2@npm:1.4.16" + version: 1.4.17 + resolution: "@types/passport-oauth2@npm:1.4.17" dependencies: "@types/express": "*" "@types/oauth": "*" "@types/passport": "*" - checksum: a590d3fcdf93dbe4498c636de139dc22a723bbf12a7f248f432085a47ec1b76b2e1201336ee26cd65c400d7ce6fb30ae0b151f40067267942c8a5b3c708cc23d + checksum: 4c5d2d6f717bb0b3d049669e47ca27cb166cbbef2073dccd302b10e62936c9e392074acabe6cb593f7eeb37a6a3cf81b9d3a4f35a46018a6645ac37d0f1706cb languageName: node linkType: hard From c187a9c7cb207194fc31b184bf2a149b0b6a13f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Wed, 12 Jun 2024 11:27:57 +0200 Subject: [PATCH 56/66] fixup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .changeset/plenty-mirrors-laugh.md | 5 +++++ .../auth-backend-module-microsoft-provider/src/strategy.ts | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 .changeset/plenty-mirrors-laugh.md diff --git a/.changeset/plenty-mirrors-laugh.md b/.changeset/plenty-mirrors-laugh.md new file mode 100644 index 0000000000..f46e3b5937 --- /dev/null +++ b/.changeset/plenty-mirrors-laugh.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend-module-microsoft-provider': patch +--- + +Minor internal type updates diff --git a/plugins/auth-backend-module-microsoft-provider/src/strategy.ts b/plugins/auth-backend-module-microsoft-provider/src/strategy.ts index cf2ff73965..d5a1aa31fe 100644 --- a/plugins/auth-backend-module-microsoft-provider/src/strategy.ts +++ b/plugins/auth-backend-module-microsoft-provider/src/strategy.ts @@ -22,7 +22,7 @@ import { Strategy as MicrosoftStrategy } from 'passport-microsoft'; export class ExtendedMicrosoftStrategy extends MicrosoftStrategy { userProfile( accessToken: string, - done: (err?: Error | null, profile?: PassportProfile) => void, + done: (err?: unknown, profile?: PassportProfile) => void, ): void { if (this.skipUserProfile(accessToken)) { done(null, undefined); @@ -31,7 +31,7 @@ export class ExtendedMicrosoftStrategy extends MicrosoftStrategy { super.userProfile( accessToken, - (err?: Error | null, profile?: PassportProfile) => { + (err?: unknown, profile?: PassportProfile) => { if (!profile || profile.photos) { done(err, profile); return; From 6dad04afa7bfcd43ee062331dd903ea70cec079a Mon Sep 17 00:00:00 2001 From: blam Date: Wed, 12 Jun 2024 11:47:29 +0200 Subject: [PATCH 57/66] chore: fixing redactor formatting Signed-off-by: blam --- .../tasks/NunjucksWorkflowRunner.test.ts | 92 +++++++++++++++++++ .../tasks/NunjucksWorkflowRunner.ts | 14 +-- .../src/scaffolder/tasks/logger.ts | 40 ++++++-- 3 files changed, 123 insertions(+), 23 deletions(-) diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts index 5d70e5bfba..daa5e80124 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts @@ -644,6 +644,98 @@ describe('NunjucksWorkflowRunner', () => { }); }); + describe('redactions', () => { + it('should redact secrets that are passed with the task', async () => { + actionRegistry.register({ + id: 'log-secret', + description: 'Mock action for testing', + supportsDryRun: true, + handler: async ctx => { + ctx.logger.info(ctx.input.secret); + }, + schema: { + input: { + type: 'object', + required: ['secret'], + properties: { + secret: { + type: 'string', + }, + }, + }, + }, + }); + + const task = createMockTaskWithSpec( + { + apiVersion: 'scaffolder.backstage.io/v1beta3', + parameters: {}, + output: {}, + steps: [ + { + id: 'test', + name: 'name', + action: 'log-secret', + input: { + secret: '${{ secrets.secret }}', + }, + }, + ], + }, + { secret: 'my-secret-value' }, + ); + + await runner.execute(task); + + expectTaskLog('info: ***'); + }); + + it('should redact meta fields properly', async () => { + actionRegistry.register({ + id: 'log-secret', + description: 'Mock action for testing', + supportsDryRun: true, + handler: async ctx => { + ctx.logger.child({ thing: ctx.input.secret }).info(ctx.input.secret); + }, + schema: { + input: { + type: 'object', + required: ['secret'], + properties: { + secret: { + type: 'string', + }, + }, + }, + }, + }); + + const task = createMockTaskWithSpec( + { + apiVersion: 'scaffolder.backstage.io/v1beta3', + parameters: {}, + output: {}, + steps: [ + { + id: 'test', + name: 'name', + action: 'log-secret', + input: { + secret: '${{ secrets.secret }}', + }, + }, + ], + }, + { secret: 'my-secret-value' }, + ); + + await runner.execute(task); + + expectTaskLog('info: *** {"thing":"***"}'); + }); + }); + describe('each', () => { it('should run a step repeatedly - flat values', async () => { const colors = ['blue', 'green', 'red']; diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts index 85664e1a6c..a80fdb68ec 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts @@ -97,31 +97,19 @@ const isValidTaskSpec = (taskSpec: TaskSpec): taskSpec is TaskSpecV1beta3 => { const createStepLogger = ({ task, - step, rootLogger, }: { task: TaskContext; step: TaskStep; rootLogger: winston.Logger; }) => { - const stepLogStream = new PassThrough(); - stepLogStream.on('data', async data => { - const message = data.toString().trim(); - if (message?.length > 1) { - await task.emitLog(message, { stepId: step.id }); - } - }); - const taskLogger = WinstonLogger.create({ level: process.env.LOG_LEVEL || 'info', format: winston.format.combine( winston.format.colorize(), winston.format.simple(), ), - transports: [ - new winston.transports.Stream({ stream: stepLogStream }), - new BackstageLoggerTransport(rootLogger), - ], + transports: [new BackstageLoggerTransport(rootLogger, task)], }); taskLogger.addRedactions(Object.values(task.secrets ?? {})); diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts index e85c61d489..c668c4a589 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts @@ -21,7 +21,9 @@ import { JsonObject } from '@backstage/types'; import { Format, TransformableInfo } from 'logform'; import Transport, { TransportStreamOptions } from 'winston-transport'; import { Logger, format, createLogger, transports } from 'winston'; -import { MESSAGE } from 'triple-beam'; +import { LEVEL, MESSAGE, SPLAT } from 'triple-beam'; +import { TaskContext } from '@backstage/plugin-scaffolder-node'; +import _ from 'lodash'; /** * Escapes a given string to be used inside a RegExp. @@ -44,33 +46,41 @@ interface WinstonLoggerOptions { export class BackstageLoggerTransport extends Transport { constructor( private readonly backstageLogger: LoggerService, + private readonly taskContext: TaskContext, opts?: TransportStreamOptions, ) { super(opts); } - log(info: unknown, callback: VoidFunction) { + log(info: TransformableInfo, callback: VoidFunction) { if (typeof info !== 'object' || info === null) { callback(); return; } - const { level, message, ...meta } = info as JsonObject; + + const message = info[MESSAGE]; + const level = info[LEVEL]; + const splat = info[SPLAT]; + switch (level) { case 'error': - this.backstageLogger.error(String(message), meta); + this.backstageLogger.error(String(message), ...splat); break; case 'warn': - this.backstageLogger.warn(String(message), meta); + this.backstageLogger.warn(String(message), ...splat); break; case 'info': - this.backstageLogger.info(String(message), meta); + this.backstageLogger.info(String(message), ...splat); break; case 'debug': - this.backstageLogger.debug(String(message), meta); + this.backstageLogger.debug(String(message), ...splat); break; default: - this.backstageLogger.info(String(message), meta); + this.backstageLogger.info(String(message), ...splat); } + + this.taskContext.emitLog(message, ...splat); + callback(); } } @@ -87,9 +97,10 @@ export class WinstonLogger implements RootLoggerService { let logger = createLogger({ level: options.level, - format: format.combine(redacter.format, options.format), + format: format.combine(options.format, redacter.format), transports: options.transports ?? new transports.Console(), }); + if (options.meta) { logger = logger.child(options.meta); } @@ -116,6 +127,12 @@ export class WinstonLogger implements RootLoggerService { obj[MESSAGE] = obj[MESSAGE]?.replace?.(redactionPattern, '***'); + if (obj[SPLAT]) { + obj[SPLAT] = JSON.parse( + JSON.stringify(obj[SPLAT]).replace(redactionPattern, '***'), + ); + } + return obj; })(), add(newRedactions) { @@ -163,7 +180,10 @@ export class WinstonLogger implements RootLoggerService { }, }), format.printf((info: TransformableInfo) => { - const { timestamp, level, message, plugin, service, ...fields } = info; + const { timestamp, plugin, service } = info; + const message = info[MESSAGE]; + const level = info[LEVEL]; + const fields = info[SPLAT]; const prefix = plugin || service; const timestampColor = colorizer.colorize('timestamp', timestamp); const prefixColor = colorizer.colorize('prefix', prefix); From 1f2b56439468e8544ad6677aeb3040cad020e6a4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 09:49:56 +0000 Subject: [PATCH 58/66] fix(deps): update dependency docusaurus-pushfeedback to v1.0.1 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- microsite/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/microsite/yarn.lock b/microsite/yarn.lock index 9e1065749b..da65f34220 100644 --- a/microsite/yarn.lock +++ b/microsite/yarn.lock @@ -5111,11 +5111,11 @@ __metadata: linkType: hard "docusaurus-pushfeedback@npm:^1.0.0": - version: 1.0.0 - resolution: "docusaurus-pushfeedback@npm:1.0.0" + version: 1.0.1 + resolution: "docusaurus-pushfeedback@npm:1.0.1" peerDependencies: "@docusaurus/core": 3.x - checksum: 5f119fac4b18198ecab7ca3892b8d19ea21c1f4147b7500de0f2a341651630ff090e38ac4984e33d87729f1b00d621ae8945efe2a2ea37b9a74b76c7f468f21e + checksum: 45319080911438f828d9b550481511065de225b03511347324f9ecba133ce2693fa19fd394cd0a0e43b1723e15c2c988a11838a5cab1e3702295123be4b875a8 languageName: node linkType: hard From bc061af50114fbb1bbf4eac68aeeeea6fc39c64d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 10:14:22 +0000 Subject: [PATCH 59/66] fix(deps): update dependency dompurify to v3.1.5 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index 7717ce930a..d32674e45e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -25155,16 +25155,16 @@ __metadata: linkType: hard "dompurify@npm:^2.2.7": - version: 2.5.3 - resolution: "dompurify@npm:2.5.3" - checksum: 816726f99d6b6e52dcda4656c5db20767844eb7d5f57e8c6d5d5e3e6d5b291874ad6cd28fd82b2e0fcd42c45a6cafe5e0047493272944f000bda06a98c74a72d + version: 2.5.5 + resolution: "dompurify@npm:2.5.5" + checksum: 9d6dace3fd619a64955f844b46ea12f83b101b0ed567241715f3f730b627038d391819b8868f2e53eebf4e231c3168429d49a5d0f01f96fcc23a794eb72b2a06 languageName: node linkType: hard "dompurify@npm:^3.0.0": - version: 3.1.3 - resolution: "dompurify@npm:3.1.3" - checksum: ad8bbf8f73e44bb2b0fa1f676a248515332ac9fadc57e5f7ffc8e1f597c7cb7ecd9ecb80075f0934fa4362bef33779107ed165e3d5fa84e80eb603defdf7aed2 + version: 3.1.5 + resolution: "dompurify@npm:3.1.5" + checksum: 18ae2930cba3c260889b99e312c382c344d219bd113bc39fbb665a61987d25849021768f490395e6954aab94448a24b3c3721c160b53550547110c37cebe9feb languageName: node linkType: hard From 510d0f2a8d5fc719f881bb8f821a677361aae3f8 Mon Sep 17 00:00:00 2001 From: blam Date: Wed, 12 Jun 2024 12:35:27 +0200 Subject: [PATCH 60/66] chore: refactor a little bit Signed-off-by: blam --- .../src/scaffolder/tasks/NunjucksWorkflowRunner.ts | 3 ++- plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts index a80fdb68ec..e9b1d78e36 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts @@ -97,6 +97,7 @@ const isValidTaskSpec = (taskSpec: TaskSpec): taskSpec is TaskSpecV1beta3 => { const createStepLogger = ({ task, + step, rootLogger, }: { task: TaskContext; @@ -109,7 +110,7 @@ const createStepLogger = ({ winston.format.colorize(), winston.format.simple(), ), - transports: [new BackstageLoggerTransport(rootLogger, task)], + transports: [new BackstageLoggerTransport(rootLogger, task, step.id)], }); taskLogger.addRedactions(Object.values(task.secrets ?? {})); diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts index c668c4a589..1c413547cb 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts @@ -24,6 +24,7 @@ import { Logger, format, createLogger, transports } from 'winston'; import { LEVEL, MESSAGE, SPLAT } from 'triple-beam'; import { TaskContext } from '@backstage/plugin-scaffolder-node'; import _ from 'lodash'; +import { TaskStep } from '@backstage/plugin-scaffolder-common'; /** * Escapes a given string to be used inside a RegExp. @@ -47,6 +48,7 @@ export class BackstageLoggerTransport extends Transport { constructor( private readonly backstageLogger: LoggerService, private readonly taskContext: TaskContext, + private readonly stepId: string, opts?: TransportStreamOptions, ) { super(opts); @@ -79,8 +81,7 @@ export class BackstageLoggerTransport extends Transport { this.backstageLogger.info(String(message), ...splat); } - this.taskContext.emitLog(message, ...splat); - + this.taskContext.emitLog(message, { stepId: this.stepId }); callback(); } } From 8e60a63364491e0d0c5d8db19f6dedaaa0e750be Mon Sep 17 00:00:00 2001 From: blam Date: Wed, 12 Jun 2024 12:37:05 +0200 Subject: [PATCH 61/66] chore: refactor a little more Signed-off-by: blam --- plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts index 1c413547cb..a75f31a07f 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts @@ -128,12 +128,6 @@ export class WinstonLogger implements RootLoggerService { obj[MESSAGE] = obj[MESSAGE]?.replace?.(redactionPattern, '***'); - if (obj[SPLAT]) { - obj[SPLAT] = JSON.parse( - JSON.stringify(obj[SPLAT]).replace(redactionPattern, '***'), - ); - } - return obj; })(), add(newRedactions) { From 5c65785ae34ac56991e705bb0b7602fedbe9c8fa Mon Sep 17 00:00:00 2001 From: blam Date: Wed, 12 Jun 2024 12:37:47 +0200 Subject: [PATCH 62/66] chore: add changeset Signed-off-by: blam --- .changeset/neat-chairs-complain.md | 5 +++++ .../src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts | 2 ++ plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts | 1 - 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/neat-chairs-complain.md diff --git a/.changeset/neat-chairs-complain.md b/.changeset/neat-chairs-complain.md new file mode 100644 index 0000000000..96c0271d81 --- /dev/null +++ b/.changeset/neat-chairs-complain.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': patch +--- + +Fixing issues with log redaction in the scaffolder logs diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts index daa5e80124..aece424f5f 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts @@ -645,6 +645,7 @@ describe('NunjucksWorkflowRunner', () => { }); describe('redactions', () => { + // eslint-disable-next-line jest/expect-expect it('should redact secrets that are passed with the task', async () => { actionRegistry.register({ id: 'log-secret', @@ -690,6 +691,7 @@ describe('NunjucksWorkflowRunner', () => { expectTaskLog('info: ***'); }); + // eslint-disable-next-line jest/expect-expect it('should redact meta fields properly', async () => { actionRegistry.register({ id: 'log-secret', diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts index a75f31a07f..38263b73ca 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts @@ -24,7 +24,6 @@ import { Logger, format, createLogger, transports } from 'winston'; import { LEVEL, MESSAGE, SPLAT } from 'triple-beam'; import { TaskContext } from '@backstage/plugin-scaffolder-node'; import _ from 'lodash'; -import { TaskStep } from '@backstage/plugin-scaffolder-common'; /** * Escapes a given string to be used inside a RegExp. From 2a6efc821b7f2e74c027961573e2092ded7139ef Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 11:28:42 +0000 Subject: [PATCH 63/66] fix(deps): update dependency humanize-duration to v3.32.1 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 714fecf881..0c183835ac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -29308,9 +29308,9 @@ __metadata: linkType: hard "humanize-duration@npm:^3.25.1": - version: 3.32.0 - resolution: "humanize-duration@npm:3.32.0" - checksum: fd12af03045278c24542d2222d46831f74d21a2132bba053d4847ff8c8f6799840db6ff8a14ce24cc920f69633970fbde4f83d7cbcfed26806ed21804e72a03a + version: 3.32.1 + resolution: "humanize-duration@npm:3.32.1" + checksum: 17f6f2ec09a931eb0bf7de1fc8ac01f90174f366f60390289bd0797c6e4545255bd5d770dd18909c9b21685d76cc190b3a8ec880d2ecc088a1ad032e0d2f57cb languageName: node linkType: hard From eb7aeb84fd335a201c5138c8d883f1581a1b49dd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 11:29:43 +0000 Subject: [PATCH 64/66] fix(deps): update dependency isomorphic-git to v1.25.10 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/yarn.lock b/yarn.lock index 714fecf881..4123a9aed2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -21127,7 +21127,7 @@ __metadata: languageName: node linkType: hard -"async-lock@npm:^1.1.0, async-lock@npm:^1.4.1": +"async-lock@npm:^1.4.1": version: 1.4.1 resolution: "async-lock@npm:1.4.1" checksum: 29e70cd892932b7c202437786cedc39ff62123cb6941014739bd3cabd6106326416e9e7c21285a5d1dc042cad239a0f7ec9c44658491ee4a615fd36a21c1d10a @@ -30620,10 +30620,10 @@ __metadata: linkType: hard "isomorphic-git@npm:^1.23.0": - version: 1.25.7 - resolution: "isomorphic-git@npm:1.25.7" + version: 1.25.10 + resolution: "isomorphic-git@npm:1.25.10" dependencies: - async-lock: ^1.1.0 + async-lock: ^1.4.1 clean-git-ref: ^2.0.1 crc-32: ^1.2.0 diff3: 0.0.3 @@ -30636,7 +30636,7 @@ __metadata: simple-get: ^4.0.1 bin: isogit: cli.cjs - checksum: 6655c70c8c9974c907f6ca864ca16b0aed113ca8b6f50de4858a624b2ed66633a83ce64ca8935f370e328a29bc37811447eb7494be379388123feb811e867459 + checksum: 69e358e47a3677e1251ae3becf56ec7b2dd63e191516800647c341b101f4d40f42d185cb80acc1f8c71b4d6bf417b44b75233d2581a63c3eda69dd2c1a33886f languageName: node linkType: hard From d1092f2756894bf3a51fb175e2a92c1d11489429 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 12:16:48 +0000 Subject: [PATCH 65/66] fix(deps): update dependency json-schema-library to v9.3.5 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index cf3b76d3ce..52b9e98d41 100644 --- a/yarn.lock +++ b/yarn.lock @@ -31671,8 +31671,8 @@ __metadata: linkType: hard "json-schema-library@npm:^9.0.0": - version: 9.3.4 - resolution: "json-schema-library@npm:9.3.4" + version: 9.3.5 + resolution: "json-schema-library@npm:9.3.5" dependencies: "@sagold/json-pointer": ^5.1.2 "@sagold/json-query": ^6.1.3 @@ -31681,7 +31681,7 @@ __metadata: fast-deep-equal: ^3.1.3 smtp-address-parser: 1.0.10 valid-url: ^1.0.9 - checksum: 6e3accc45bdf0fe4831c8b2a560d8feaa9402bd6c5833a0c7e11ee78c316b17a389a3368a7ee2c989d4aac36018742d7dcc83c66b11170c54800b0e56418638f + checksum: 8c8a8c993f998a3485d5675781a0330f4e5abc43781f1fa03b709dd5a5157fb2a524c704966f8c4fc31873c5816d4a07058214873b78b1d54f8b4a0cf6737bcf languageName: node linkType: hard From 4d7f58f90101a4934be8790aa14d12322f4fbd2b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 12:17:41 +0000 Subject: [PATCH 66/66] fix(deps): update dependency material-ui-confirm to v3.0.16 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index cf3b76d3ce..ba8fb401bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -33212,13 +33212,13 @@ __metadata: linkType: hard "material-ui-confirm@npm:^3.0.12": - version: 3.0.12 - resolution: "material-ui-confirm@npm:3.0.12" + version: 3.0.16 + resolution: "material-ui-confirm@npm:3.0.16" peerDependencies: "@mui/material": ">= 5.0.0" react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 - checksum: de1092fdc4ab8104fbfdb5034921aeb2a5db5854ad5e31fb24dc4c204c6fb5b66a33ad377abf7adda390c432aefe96a2188ef1b8a3b9c1a80a9a28af63833458 + checksum: 10114de3ac1dfd25cd46d151fa011bf7fa07376199a9cd62c8fbc619d0f711204c7a6bcf124e1ef6752f39377b04c09eb63e470e53d08a52aae5a46ee7a35a79 languageName: node linkType: hard