diff --git a/.changeset/afraid-flies-try.md b/.changeset/afraid-flies-try.md
new file mode 100644
index 0000000000..15d2e3942c
--- /dev/null
+++ b/.changeset/afraid-flies-try.md
@@ -0,0 +1,7 @@
+---
+'@backstage/plugin-cost-insights': patch
+---
+
+Move cost-insights data specific API types (non react) into an @backstage/plugin-cost-insights-common
+isomorphic package. This allows these types to be shared in any backend packages or other cost-insight
+modules.
diff --git a/.changeset/blue-monkeys-explain.md b/.changeset/blue-monkeys-explain.md
new file mode 100644
index 0000000000..69382ff11d
--- /dev/null
+++ b/.changeset/blue-monkeys-explain.md
@@ -0,0 +1,6 @@
+---
+'@backstage/create-app': patch
+---
+
+Adds the ability to define the Backstage app name using a `BACKSTAGE_APP_NAME`
+environment variable when running `create-app`.
diff --git a/.changeset/cool-toys-flow.md b/.changeset/cool-toys-flow.md
new file mode 100644
index 0000000000..799bf3ace4
--- /dev/null
+++ b/.changeset/cool-toys-flow.md
@@ -0,0 +1,5 @@
+---
+'@backstage/core-components': minor
+---
+
+Add `transformLinkUri` and `transformImageUri` to `MarkdownContent`
diff --git a/.changeset/create-app-1656408352.md b/.changeset/create-app-1656408352.md
new file mode 100644
index 0000000000..b50d431d4b
--- /dev/null
+++ b/.changeset/create-app-1656408352.md
@@ -0,0 +1,5 @@
+---
+'@backstage/create-app': patch
+---
+
+Bumped create-app version.
diff --git a/.changeset/eight-suits-fail.md b/.changeset/eight-suits-fail.md
new file mode 100644
index 0000000000..742154da91
--- /dev/null
+++ b/.changeset/eight-suits-fail.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-kubernetes-backend': patch
+'@backstage/plugin-kubernetes-common': patch
+---
+
+Fixed the lack of `limitranges` as part of the Default Objects to fetch from the kubernetes api
diff --git a/.changeset/eighty-windows-brush.md b/.changeset/eighty-windows-brush.md
new file mode 100644
index 0000000000..753b53fbb4
--- /dev/null
+++ b/.changeset/eighty-windows-brush.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-tech-insights-backend': minor
+---
+
+Allow FactRetrieverRegistry to be injected into buildTechInsightsContext so that we can override default registry implementation.
diff --git a/.changeset/five-fireants-run.md b/.changeset/five-fireants-run.md
new file mode 100644
index 0000000000..589d46cc81
--- /dev/null
+++ b/.changeset/five-fireants-run.md
@@ -0,0 +1,5 @@
+---
+'@backstage/core-components': patch
+---
+
+Fix the EntityLayout header style so that EntityContextMenu button can display in correct shape when user hover on it
diff --git a/.changeset/forty-seals-complain.md b/.changeset/forty-seals-complain.md
new file mode 100644
index 0000000000..b2435b2d3a
--- /dev/null
+++ b/.changeset/forty-seals-complain.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend': patch
+---
+
+Improve error messaging when passing in malformed auth
diff --git a/.changeset/great-roses-pump.md b/.changeset/great-roses-pump.md
index 16a49bd464..0e15d186d4 100644
--- a/.changeset/great-roses-pump.md
+++ b/.changeset/great-roses-pump.md
@@ -4,7 +4,7 @@
Previously, the color of the Entity Context Menu (in the Entity Page Header) was hardcoded as `white`.
-This was an issue for themes that use a header with a white background. By default, the color of the icon is now `theme.palette.bursts.fontColor`.
+This was an issue for themes that use a header with a white background. By default, the color of the icon is now `theme.page.fontColor`.
It can now also be overridden in the theme, which is only necessary if the header title, subtitle and three-dots icon need to have different colors. For example:
diff --git a/.changeset/hot-rice-sin.md b/.changeset/hot-rice-sin.md
new file mode 100644
index 0000000000..5a3d6fdb7a
--- /dev/null
+++ b/.changeset/hot-rice-sin.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder': minor
+---
+
+Add `allowedRepos` `ui:option` to `RepoUrlPicker` component, and move `repoName` field to own component
diff --git a/.changeset/light-hornets-eat.md b/.changeset/light-hornets-eat.md
new file mode 100644
index 0000000000..795e51fb67
--- /dev/null
+++ b/.changeset/light-hornets-eat.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-cost-insights-common': minor
+---
+
+Introduces a new isomorphic @backstage/plugin-cost-insight-common package to contain shared types across all other cost insights packages and modules.
diff --git a/.changeset/many-vans-thank.md b/.changeset/many-vans-thank.md
new file mode 100644
index 0000000000..16f8c8a69b
--- /dev/null
+++ b/.changeset/many-vans-thank.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-jenkins': patch
+'@backstage/plugin-jenkins-backend': patch
+---
+
+feature: added support for multiple branches to the `JenkinsApi`
diff --git a/.changeset/metal-windows-share.md b/.changeset/metal-windows-share.md
new file mode 100644
index 0000000000..b4443a620f
--- /dev/null
+++ b/.changeset/metal-windows-share.md
@@ -0,0 +1,7 @@
+---
+'@backstage/plugin-search-backend-module-pg': patch
+---
+
+**DEPRECATED**: `PgSearchEngine` static `from` has been deprecated and will be removed in a future release. Use static `fromConfig` method to instantiate.
+
+Added support for highlighting matched terms in search result data
diff --git a/.changeset/moody-crabs-march.md b/.changeset/moody-crabs-march.md
new file mode 100644
index 0000000000..b5ddf12ffa
--- /dev/null
+++ b/.changeset/moody-crabs-march.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-vault': patch
+'@backstage/plugin-vault-backend': patch
+---
+
+Added a path notion in addition to secret name to allow to differentiate secrets in sub-paths
diff --git a/.changeset/old-onions-hear.md b/.changeset/old-onions-hear.md
new file mode 100644
index 0000000000..82dcc09190
--- /dev/null
+++ b/.changeset/old-onions-hear.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend': minor
+---
+
+Update GitLab Merge Request Action to allow source branch to be deleted
diff --git a/.changeset/plenty-clouds-guess.md b/.changeset/plenty-clouds-guess.md
new file mode 100644
index 0000000000..cc56bd604d
--- /dev/null
+++ b/.changeset/plenty-clouds-guess.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-auth-backend': patch
+---
+
+Added an option for the auth backend router to select the algorithm for the JWT token signing keys
diff --git a/.changeset/pre.json b/.changeset/pre.json
index 6ea515cda8..2bba491efc 100644
--- a/.changeset/pre.json
+++ b/.changeset/pre.json
@@ -157,38 +157,67 @@
"@backstage/plugin-vault": "0.1.0",
"@backstage/plugin-vault-backend": "0.1.0",
"@backstage/plugin-xcmetrics": "0.2.26",
- "@backstage/plugin-api-docs-module-protoc-gen-doc": "0.0.0"
+ "@backstage/plugin-api-docs-module-protoc-gen-doc": "0.0.0",
+ "@backstage/plugin-catalog-backend-module-openapi": "0.0.0"
},
"changesets": [
"beige-horses-scream",
"breezy-poems-grab",
"breezy-seas-exist",
+ "bright-balloons-hide",
+ "calm-experts-buy",
"chilled-mirrors-grab",
+ "create-app-1656408352",
"curly-candles-battle",
"curvy-weeks-matter",
"eleven-mice-collect",
+ "forty-seals-complain",
"great-roses-pump",
+ "green-actors-argue",
+ "happy-boxes-melt",
"large-kangaroos-poke",
+ "lemon-goats-obey",
+ "metal-singers-matter",
"modern-ducks-lay",
"nasty-zoos-cross",
"nervous-humans-sip",
+ "plenty-clouds-guess",
"polite-eagles-invite",
+ "popular-pots-yell",
+ "pretty-masks-live",
"purple-beans-march",
+ "quiet-pens-notice",
"red-games-decide",
+ "renovate-4b5ff24",
"renovate-9454dab",
"rude-llamas-lie",
+ "search-lightning-cult",
+ "search-turtles-itch",
+ "serious-zebras-joke",
"shaggy-melons-drive",
+ "sharp-numbers-taste",
"sharp-planes-turn",
+ "shiny-turkeys-doubt",
"short-olives-train",
+ "shy-cameras-develop",
+ "silent-coats-brake",
+ "silver-needles-unite",
"smooth-sheep-hide",
+ "strange-tables-flash",
"strange-trains-collect",
+ "strong-lies-explain",
"sweet-plants-sparkle",
"tame-guests-wave",
+ "techdocs-eyes-sit",
"techdocs-gorgeous-plants-sniff",
+ "techdocs-sheep-talk",
"techdocs-the-whole-pulse",
"thick-radios-drive",
+ "twelve-candles-jump",
+ "two-crews-accept",
"unlucky-stingrays-juggle",
"weak-bananas-deliver",
+ "weak-llamas-repeat",
"wet-dolphins-act",
"wicked-icons-grin"
]
diff --git a/.changeset/proud-toys-return.md b/.changeset/proud-toys-return.md
new file mode 100644
index 0000000000..f93e6ef4a8
--- /dev/null
+++ b/.changeset/proud-toys-return.md
@@ -0,0 +1,5 @@
+---
+'@backstage/catalog-model': minor
+---
+
+Introduced `GroupDefaultParentEntityPolicy` to set a default group entity parent.
diff --git a/.changeset/renovate-149779d.md b/.changeset/renovate-149779d.md
new file mode 100644
index 0000000000..58d764485e
--- /dev/null
+++ b/.changeset/renovate-149779d.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-kafka-backend': patch
+---
+
+Updated dependency `kafkajs` to `^2.0.0`.
diff --git a/.changeset/renovate-7438bff.md b/.changeset/renovate-7438bff.md
new file mode 100644
index 0000000000..43a4ac5016
--- /dev/null
+++ b/.changeset/renovate-7438bff.md
@@ -0,0 +1,16 @@
+---
+'@backstage/backend-common': patch
+'@backstage/backend-tasks': patch
+'@backstage/backend-test-utils': patch
+'@backstage/plugin-app-backend': patch
+'@backstage/plugin-auth-backend': patch
+'@backstage/plugin-bazaar-backend': patch
+'@backstage/plugin-catalog-backend': patch
+'@backstage/plugin-code-coverage-backend': patch
+'@backstage/plugin-scaffolder-backend': patch
+'@backstage/plugin-search-backend-module-pg': patch
+'@backstage/plugin-tech-insights-backend': patch
+'@backstage/plugin-techdocs-backend': patch
+---
+
+Updated dependency `knex` to `^2.0.0`.
diff --git a/.changeset/renovate-833a91b.md b/.changeset/renovate-833a91b.md
new file mode 100644
index 0000000000..15e23ec5ff
--- /dev/null
+++ b/.changeset/renovate-833a91b.md
@@ -0,0 +1,7 @@
+---
+'@backstage/core-components': patch
+'@backstage/plugin-codescene': patch
+'@backstage/plugin-sonarqube': patch
+---
+
+Updated dependency `rc-progress` to `3.4.0`.
diff --git a/.changeset/search-boats-double.md b/.changeset/search-boats-double.md
new file mode 100644
index 0000000000..92fd372cb8
--- /dev/null
+++ b/.changeset/search-boats-double.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-search-react': patch
+---
+
+Fix search pagination to reset page cursor also when a term is cleared.
diff --git a/.changeset/search-lightning-cult.md b/.changeset/search-lightning-cult.md
new file mode 100644
index 0000000000..79cd256e77
--- /dev/null
+++ b/.changeset/search-lightning-cult.md
@@ -0,0 +1,24 @@
+---
+'@backstage/plugin-search-backend-module-elasticsearch': minor
+---
+
+**BREAKING**: In order to remain interoperable with all currently supported
+deployments of Elasticsearch, this package will now conditionally use either
+the `@elastic/elasticsearch` or `@opensearch-project/opensearch` client when
+communicating with your deployed cluster.
+
+If you do not rely on types exported from this package, or if you do not make
+use of the `createElasticSearchClientOptions` or `newClient` methods on the
+`ElasticSearchSearchEngine` class, then upgrading to this version should not
+require any further action on your part. Everything will continue to work as it
+always has.
+
+If you _do_ rely on either of the above methods or any underlying types, some
+changes may be needed to your custom code. A type guard is now exported by this
+package (`isOpenSearchCompatible(options)`), which you may use to help clarify
+which client options are compatible with which client constructors.
+
+If you are using this package with the `search.elasticsearch.provider` set to
+`aws`, and you are making use of the `newClient` method in particular, you may
+wish to start using the `@opensearch-project/opensearch` client in your custom
+code.
diff --git a/.changeset/serious-houses-watch.md b/.changeset/serious-houses-watch.md
new file mode 100644
index 0000000000..63d5253bcb
--- /dev/null
+++ b/.changeset/serious-houses-watch.md
@@ -0,0 +1,7 @@
+---
+'@backstage/theme': patch
+---
+
+**DEPRECATED**: The `bursts` object from `BackstagePaletteAdditions` has been depreciated and will be removed in a future release
+
+The `genPageTheme` function now includes an optional options object with an optional `fontColor` which defaults to white if not provided.
diff --git a/.changeset/silly-geese-design.md b/.changeset/silly-geese-design.md
new file mode 100644
index 0000000000..d4f8de2510
--- /dev/null
+++ b/.changeset/silly-geese-design.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-api-docs': patch
+'@backstage/plugin-catalog': minor
+---
+
+Add hidden title column to catalog and API table to enable filtering by title.
diff --git a/.changeset/smart-elephants-knock.md b/.changeset/smart-elephants-knock.md
new file mode 100644
index 0000000000..7aed10a71e
--- /dev/null
+++ b/.changeset/smart-elephants-knock.md
@@ -0,0 +1,5 @@
+---
+'@backstage/cli': patch
+---
+
+The `test` command now ensures that all IO is flushed before exiting when printing `--help`.
diff --git a/.changeset/techdocs-sixty-mugs-hug.md b/.changeset/techdocs-sixty-mugs-hug.md
new file mode 100644
index 0000000000..a1a9e815a1
--- /dev/null
+++ b/.changeset/techdocs-sixty-mugs-hug.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-techdocs': patch
+---
+
+Fix: When docs are shown in an entity page under the docs tab the sidebars start overlapping with the header and tabs in the page when you scroll the documentation content.
diff --git a/.changeset/thick-cats-kiss.md b/.changeset/thick-cats-kiss.md
new file mode 100644
index 0000000000..8817115ec3
--- /dev/null
+++ b/.changeset/thick-cats-kiss.md
@@ -0,0 +1,7 @@
+---
+'@backstage/plugin-catalog': patch
+---
+
+Adding ability to customize the "unregister entity" menu item in the entity context menu on the entity page with options 'visible','hidden','disabled'.With this three new options, one can hide the "unregister entity" menu item from the list, disable or keep it enabled.
+
+The boolean input for "unregister entity" will be deprecated later in favour of the above three options.
diff --git a/.changeset/thirty-rivers-watch.md b/.changeset/thirty-rivers-watch.md
new file mode 100644
index 0000000000..d92343f365
--- /dev/null
+++ b/.changeset/thirty-rivers-watch.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend': minor
+---
+
+Added two new scaffolder actions: `github:repo:create` and `github:repo:push`
diff --git a/.changeset/tricky-ravens-visit.md b/.changeset/tricky-ravens-visit.md
new file mode 100644
index 0000000000..8500c9b64e
--- /dev/null
+++ b/.changeset/tricky-ravens-visit.md
@@ -0,0 +1,6 @@
+---
+'@backstage/core-components': patch
+'@backstage/plugin-catalog': patch
+---
+
+Updated to remove usage of the `bursts` object in the theme palette
diff --git a/.changeset/weak-jeans-cry.md b/.changeset/weak-jeans-cry.md
new file mode 100644
index 0000000000..79f419e3db
--- /dev/null
+++ b/.changeset/weak-jeans-cry.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder': patch
+---
+
+Add `allowArbitraryValues` to `ui:options` in `OwnedEntityPicker`, similar to `allowArbitraryValues` in `EntityPicker`
diff --git a/.changeset/wicked-ladybugs-argue.md b/.changeset/wicked-ladybugs-argue.md
new file mode 100644
index 0000000000..9a36cf17cb
--- /dev/null
+++ b/.changeset/wicked-ladybugs-argue.md
@@ -0,0 +1,43 @@
+---
+'@backstage/plugin-catalog': patch
+'@backstage/plugin-catalog-react': patch
+---
+
+Added new `EntityProcessingStatusPicker` that will filter for entities with orphans and/or errors.
+
+If you are using the default Catalog page this picker will be added automatically. For those who have customized their Catalog page you'll need to add this manually by doing something like this:
+
+```diff
+...
+import {
+ CatalogFilterLayout,
+ EntityTypePicker,
+ UserListPicker,
+ EntityTagPicker
++ EntityProcessingStatusPicker,
+} from '@backstage/plugin-catalog-react';
+...
+export const CustomCatalogPage = ({
+ columns,
+ actions,
+ initiallySelectedFilter = 'owned',
+}: CatalogPageProps) => {
+ return (
+ ...
+
+
+
+
+
+
+
++
+
+
+
+
+
+
+ ...
+};
+```
diff --git a/.github/workflows/automate_merge_renovate_prs.yaml b/.github/workflows/automate_merge_renovate_prs.yaml
deleted file mode 100644
index 8de488cf05..0000000000
--- a/.github/workflows/automate_merge_renovate_prs.yaml
+++ /dev/null
@@ -1,85 +0,0 @@
-name: Automate Merge Renovate PRs
-
-on:
- workflow_dispatch:
- schedule:
- - cron: '*/10 * * * *'
-
-jobs:
- diff:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/github-script@v6
- with:
- script: |
- const owner = "backstage";
- const repo = "backstage";
- const query = `{
- repository(owner: "backstage", name: "backstage") {
- pullRequests(labels: ["dependencies"], last: 10, states: [OPEN]) {
- nodes {
- title
- author {
- login
- }
- number
- mergeable
- files(first: 1) {
- nodes {
- path
- }
- }
- changedFiles
- commits(last: 1) {
- nodes {
- commit {
- statusCheckRollup {
- state
- }
- }
- }
- }
- reviewDecision
- reviews(first: 10) {
- nodes {
- author {
- login
- }
- }
- }
- }
- }
- }
- }`;
-
- const date = new Date();
- if (date.getDay() === 2) {
- console.log("Skipping auto merge because Tuesday is release day");
- return;
- }
-
- const r = await github.graphql(query);
- const mergable = r.repository.pullRequests.nodes.filter(
- (pr) =>
- pr.author.login === "renovate" &&
- pr.mergeable === "MERGEABLE" &&
- pr.changedFiles === 1 &&
- pr.files.nodes[0].path.split("/").slice(-1)[0] === "yarn.lock" &&
- pr.commits.nodes[0].commit.statusCheckRollup.state === "SUCCESS" &&
- pr.reviewDecision === "APPROVED"
- );
-
- if (mergable.length === 0) {
- console.log("no mergable PRs");
- return;
- }
-
- for (const pr of mergable) {
- console.log(`Merging #${pr.number} - ${pr.title}`);
- await github.rest.pulls.merge({
- owner,
- repo,
- pull_number: pr.number,
- });
- await new Promise((r) => setTimeout(r, 2000));
- }
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 0718c8a8b9..95ec35c795 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -64,45 +64,16 @@ jobs:
- name: fetch branch master
run: git fetch origin master
- # Beginning of yarn setup, keep in sync between all workflows.
- # TODO(Rugvip): move this to composite action once all features we use are supported
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- # Cache every node_modules folder inside the monorepo
- - name: cache all node_modules
- id: cache-modules
- uses: actions/cache@v3
- with:
- path: '**/node_modules'
- # We use both yarn.lock and package.json as cache keys to ensure that
- # changes to local monorepo packages bust the cache.
- key: ${{ runner.os }}-v${{ matrix.node-version }}-node_modules-${{ hashFiles('yarn.lock', '**/package.json') }}
-
- # If we get a cache hit for node_modules, there's no need to bring in the global
- # yarn cache or run yarn install, as all dependencies will be installed already.
-
- - name: find location of global yarn cache
- id: yarn-cache
- if: steps.cache-modules.outputs.cache-hit != 'true'
- run: echo "::set-output name=dir::$(yarn cache dir)"
-
- - name: cache global yarn cache
- uses: actions/cache@v3
- if: steps.cache-modules.outputs.cache-hit != 'true'
- with:
- path: ${{ steps.yarn-cache.outputs.dir }}
- key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-yarn-
-
- name: yarn install
- if: steps.cache-modules.outputs.cache-hit != 'true'
- run: yarn install --frozen-lockfile
- # End of yarn setup
+ uses: backstage/actions/yarn-install@v0.2.2
+ with:
+ cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
- name: check for yarn.lock changes
id: yarn-lock
diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml
new file mode 100644
index 0000000000..ca21c1c283
--- /dev/null
+++ b/.github/workflows/cron.yml
@@ -0,0 +1,15 @@
+name: Cron
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: '*/5 * * * *'
+
+jobs:
+ cron:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: backstage/actions/cron@v0.2.2
+ with:
+ app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
+ private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }}
+ installation-id: ${{ secrets.BACKSTAGE_GOALIE_INSTALLATION_ID }}
diff --git a/.github/workflows/deploy_docker-image.yml b/.github/workflows/deploy_docker-image.yml
new file mode 100644
index 0000000000..6cb97d1a9e
--- /dev/null
+++ b/.github/workflows/deploy_docker-image.yml
@@ -0,0 +1,89 @@
+name: Build and push Docker Hub image
+on:
+ repository_dispatch:
+ types: [release-published]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: checkout
+ uses: actions/checkout@v2
+ with:
+ path: backstage
+ ref: v${{ github.event.client_payload.version }}
+
+ - name: setup-node
+ uses: actions/setup-node@v1
+ with:
+ node-version: 16.x
+ registry-url: https://registry.npmjs.org/
+
+ # Beginning of yarn setup, keep in sync between all workflows.
+ # TODO(Rugvip): move this to composite action once all features we use are supported
+ - name: use node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ registry-url: https://registry.npmjs.org/ # Needed for auth
+
+ # Cache every node_modules folder inside the monorepo
+ - name: cache all node_modules
+ id: cache-modules
+ uses: actions/cache@v2
+ with:
+ path: '**/node_modules'
+ # We use both yarn.lock and package.json as cache keys to ensure that
+ # changes to local monorepo packages bust the cache.
+ key: ${{ runner.os }}-v${{ matrix.node-version }}-node_modules-${{ hashFiles('yarn.lock', '**/package.json') }}
+
+ # If we get a cache hit for node_modules, there's no need to bring in the global
+ # yarn cache or run yarn install, as all dependencies will be installed already.
+
+ - name: find location of global yarn cache
+ id: yarn-cache
+ if: steps.cache-modules.outputs.cache-hit != 'true'
+ run: echo "::set-output name=dir::$(yarn cache dir)"
+
+ - name: cache global yarn cache
+ uses: actions/cache@v2
+ if: steps.cache-modules.outputs.cache-hit != 'true'
+ with:
+ path: ${{ steps.yarn-cache.outputs.dir }}
+ key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
+ restore-keys: |
+ ${{ runner.os }}-yarn-
+ - name: yarn install
+ if: steps.cache-modules.outputs.cache-hit != 'true'
+ run: yarn install --frozen-lockfile
+ # End of yarn setup
+
+ - name: create-app
+ run: npx @backstage/create-app
+ env:
+ BACKSTAGE_APP_NAME: example-app
+
+ - name: yarn build
+ run: yarn build
+ working-directory: ./example-app
+
+ - name: Login to GitHub Container Registry
+ uses: docker/login-action@v1
+ with:
+ registry: ghcr.io
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+
+ - name: Build and push
+ uses: docker/build-push-action@v2
+ with:
+ context: './example-app'
+ file: ./example-app/packages/backend/Dockerfile
+ push: true
+ tags: |
+ ghcr.io/${{ github.repository_owner }}/backstage:latest
+ ghcr.io/${{ github.repository_owner }}/backstage:${{ github.event.client_payload.version }}
diff --git a/.github/workflows/deploy_microsite.yml b/.github/workflows/deploy_microsite.yml
index d0f8dc1e79..ffada71523 100644
--- a/.github/workflows/deploy_microsite.yml
+++ b/.github/workflows/deploy_microsite.yml
@@ -55,7 +55,7 @@ jobs:
run: ls microsite/build/backstage && ls microsite/build/backstage/storybook
- name: Deploy both microsite and storybook to gh-pages
- uses: JamesIves/github-pages-deploy-action@v4.3.3
+ uses: JamesIves/github-pages-deploy-action@v4.3.4
with:
branch: gh-pages
folder: microsite/build/backstage
diff --git a/.github/workflows/deploy_nightly.yml b/.github/workflows/deploy_nightly.yml
index c90894bce4..e8b48ee2fe 100644
--- a/.github/workflows/deploy_nightly.yml
+++ b/.github/workflows/deploy_nightly.yml
@@ -20,33 +20,15 @@ jobs:
steps:
- uses: actions/checkout@v3
- # Beginning of yarn setup, keep in sync between all workflows, see ci.yml
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- - name: cache all node_modules
- id: cache-modules
- uses: actions/cache@v3
- with:
- path: '**/node_modules'
- key: ${{ runner.os }}-v${{ matrix.node-version }}-node_modules-${{ hashFiles('yarn.lock', '**/package.json') }}
- - name: find location of global yarn cache
- id: yarn-cache
- if: steps.cache-modules.outputs.cache-hit != 'true'
- run: echo "::set-output name=dir::$(yarn cache dir)"
- - name: cache global yarn cache
- uses: actions/cache@v3
- if: steps.cache-modules.outputs.cache-hit != 'true'
- with:
- path: ${{ steps.yarn-cache.outputs.dir }}
- key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-yarn-
- name: yarn install
- run: yarn install --frozen-lockfile
- # End of yarn setup
+ uses: backstage/actions/yarn-install@v0.2.2
+ with:
+ cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
# No verification done here, only build & publish. If the master branch
# is broken we will see that from those builds, but we still want to push nightly
diff --git a/.github/workflows/deploy_packages.yml b/.github/workflows/deploy_packages.yml
index b63507df0c..1fb3bf5f31 100644
--- a/.github/workflows/deploy_packages.yml
+++ b/.github/workflows/deploy_packages.yml
@@ -61,33 +61,15 @@ jobs:
steps:
- uses: actions/checkout@v3
- # Beginning of yarn setup, keep in sync between all workflows, see ci.yml
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- - name: cache all node_modules
- id: cache-modules
- uses: actions/cache@v3
- with:
- path: '**/node_modules'
- key: ${{ runner.os }}-v${{ matrix.node-version }}-node_modules-${{ hashFiles('yarn.lock', '**/package.json') }}
- - name: find location of global yarn cache
- id: yarn-cache
- if: steps.cache-modules.outputs.cache-hit != 'true'
- run: echo "::set-output name=dir::$(yarn cache dir)"
- - name: cache global yarn cache
- uses: actions/cache@v3
- if: steps.cache-modules.outputs.cache-hit != 'true'
- with:
- path: ${{ steps.yarn-cache.outputs.dir }}
- key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-yarn-
- name: yarn install
- run: yarn install --frozen-lockfile
- # End of yarn setup
+ uses: backstage/actions/yarn-install@v0.2.2
+ with:
+ cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
- name: Fetch previous commit for release check
run: git fetch origin '${{ github.event.before }}'
@@ -157,33 +139,15 @@ jobs:
steps:
- uses: actions/checkout@v3
- # Beginning of yarn setup, keep in sync between all workflows, see ci.yml
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- - name: cache all node_modules
- id: cache-modules
- uses: actions/cache@v3
- with:
- path: '**/node_modules'
- key: ${{ runner.os }}-v${{ matrix.node-version }}-node_modules-${{ hashFiles('yarn.lock', '**/package.json') }}
- - name: find location of global yarn cache
- id: yarn-cache
- if: steps.cache-modules.outputs.cache-hit != 'true'
- run: echo "::set-output name=dir::$(yarn cache dir)"
- - name: cache global yarn cache
- uses: actions/cache@v3
- if: steps.cache-modules.outputs.cache-hit != 'true'
- with:
- path: ${{ steps.yarn-cache.outputs.dir }}
- key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-yarn-
- name: yarn install
- run: yarn install --frozen-lockfile
- # End of yarn setup
+ uses: backstage/actions/yarn-install@v0.2.2
+ with:
+ cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
- name: build type declarations
run: yarn tsc:full
@@ -209,7 +173,7 @@ jobs:
# Grabs the version in the root package.json and creates a tag on GitHub
- name: Create a release tag
id: create_tag
- run: node scripts/create-release-tag.js --dispatch-workflows
+ run: node scripts/create-release-tag.js
env:
GITHUB_TOKEN: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
@@ -219,6 +183,13 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
+ - name: Dispatch repository event
+ uses: peter-evans/repository-dispatch@v2
+ with:
+ token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
+ event-type: release-published
+ client-payload: '{"version": "${{ steps.create_tag.outputs.version }}"}'
+
# Notify everyone about this great new release :D
- name: Discord notification
uses: Ilshidur/action-discord@0.3.2
diff --git a/.github/workflows/issue.yaml b/.github/workflows/issue.yaml
new file mode 100644
index 0000000000..8e7955645d
--- /dev/null
+++ b/.github/workflows/issue.yaml
@@ -0,0 +1,13 @@
+name: Issue
+on:
+ issues:
+ types: [opened]
+
+jobs:
+ sync:
+ runs-on: ubuntu-latest
+
+ if: github.repository == 'backstage/backstage'
+ steps:
+ - name: Issue sync
+ uses: backstage/actions/issue-sync@v0.2.2
diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml
new file mode 100644
index 0000000000..92bd759e36
--- /dev/null
+++ b/.github/workflows/pr.yaml
@@ -0,0 +1,14 @@
+name: PR
+on:
+ pull_request_target:
+
+jobs:
+ sync:
+ runs-on: ubuntu-latest
+
+ if: github.repository == 'backstage/backstage'
+ steps:
+ - name: PR sync
+ uses: backstage/actions/pr-sync@v0.2.2
+ with:
+ github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
diff --git a/.github/workflows/sync_approve_renovate_pr.yaml b/.github/workflows/sync_approve_renovate_pr.yaml
deleted file mode 100644
index 2d25bea223..0000000000
--- a/.github/workflows/sync_approve_renovate_pr.yaml
+++ /dev/null
@@ -1,37 +0,0 @@
-name: Approve renovate lock file changes
-on:
- pull_request_target:
- paths:
- - '.github/workflows/sync_renovate-changesets.yml'
- - '**/yarn.lock'
-
-jobs:
- generate-changeset:
- runs-on: ubuntu-latest
- if: github.actor == 'renovate[bot]' && github.repository == 'backstage/backstage'
- steps:
- - name: Approve
- uses: actions/github-script@v6
- with:
- github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
- script: |
- const owner = 'backstage';
- const repo = 'backstage';
-
- const r = await github.rest.pulls.listFiles({
- owner,
- repo,
- pull_number: context.issue.number,
- });
-
- if (r.data.some((f) => f.filename.split('/').slice(-1)[0] !== 'yarn.lock')) {
- console.log('skipping approval since some files are not yarn.lock');
- return;
- }
-
- await github.rest.pulls.createReview({
- owner,
- repo,
- pull_number: context.issue.number,
- event: 'APPROVE'
- })
diff --git a/.github/workflows/sync_code-formatting.yml b/.github/workflows/sync_code-formatting.yml
index b6fce0e68d..565f0e9df2 100644
--- a/.github/workflows/sync_code-formatting.yml
+++ b/.github/workflows/sync_code-formatting.yml
@@ -14,33 +14,15 @@ jobs:
# Fetch changes to previous commit - required for 'only_changed' in Prettier action
fetch-depth: 0
- # Beginning of yarn setup, keep in sync between all workflows, see ci.yml
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- - name: cache all node_modules
- id: cache-modules
- uses: actions/cache@v3
- with:
- path: '**/node_modules'
- key: ${{ runner.os }}-v${{ matrix.node-version }}-node_modules-${{ hashFiles('yarn.lock', '**/package.json') }}
- - name: find location of global yarn cache
- id: yarn-cache
- if: steps.cache-modules.outputs.cache-hit != 'true'
- run: echo "::set-output name=dir::$(yarn cache dir)"
- - name: cache global yarn cache
- uses: actions/cache@v3
- if: steps.cache-modules.outputs.cache-hit != 'true'
- with:
- path: ${{ steps.yarn-cache.outputs.dir }}
- key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-yarn-
- name: yarn install
- run: yarn install --frozen-lockfile
- # End of yarn setup
+ uses: backstage/actions/yarn-install@v0.2.2
+ with:
+ cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
- name: Run Prettier on ADOPTERS.md
uses: creyD/prettier_action@v4.2
diff --git a/.github/workflows/sync_issue-labels.yml b/.github/workflows/sync_issue-labels.yml
deleted file mode 100644
index 91b5f79f5d..0000000000
--- a/.github/workflows/sync_issue-labels.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-name: Sync Issue Labels
-on:
- issues:
- types: [opened]
-jobs:
- label-issue:
- runs-on: ubuntu-latest
- if: github.repository == 'backstage/backstage'
- steps:
- - name: View context attributes
- uses: actions/github-script@v6
- with:
- script: |
- const keywords = {
- 'techdocs|tech-docs|tech docs': 'docs-like-code',
- 'search': 'search',
- 'catalog': 'catalog',
- 'scaffolder': 'scaffolder',
- };
-
- const labels = Object.entries(keywords)
- .map(([regexp, label]) => {
- if (new RegExp(regexp, 'gi').test(context.payload.issue.title)) {
- return label;
- }
- })
- .filter(Boolean);
-
- if(!labels.length) {
- return;
- }
-
- github.rest.issues.addLabels({
- issue_number: context.issue.number,
- owner: context.repo.owner,
- repo: context.repo.repo,
- labels
- });
diff --git a/.github/workflows/sync_release-manifest.yml b/.github/workflows/sync_release-manifest.yml
index 816a3e632f..8cf6991aaf 100644
--- a/.github/workflows/sync_release-manifest.yml
+++ b/.github/workflows/sync_release-manifest.yml
@@ -1,10 +1,7 @@
name: Sync Release Manifest
on:
- workflow_dispatch:
- inputs:
- version:
- description: Version number, without any 'v' prefix
- required: true
+ repository_dispatch:
+ types: [release-published]
jobs:
create-new-version:
@@ -23,7 +20,7 @@ jobs:
with:
path: backstage
# 'v' prefix is added here for the tag, we keep it out of the manifest logic
- ref: v${{ github.event.inputs.version }}
+ ref: v${{ github.event.client_payload.version }}
# Checkout backstage/versions into /backstage/versions, which is where store the output
- name: Checkout versions
@@ -44,10 +41,10 @@ jobs:
cd backstage
mkdir -p scripts
wget -O scripts/assemble-manifest.js https://raw.githubusercontent.com/backstage/backstage/master/scripts/assemble-manifest.js
- node scripts/assemble-manifest.js ${{ github.event.inputs.version }}
+ node scripts/assemble-manifest.js ${{ github.event.client_payload.version }}
cd versions
git add .
- git commit -am "${{ github.event.inputs.version }}"
+ git commit -am "${{ github.event.client_payload.version }}"
git push
- name: Dispatch update-helper update
diff --git a/.github/workflows/sync_snyk-github-issues.yml b/.github/workflows/sync_snyk-github-issues.yml
index e45a36c8e8..77c192edae 100644
--- a/.github/workflows/sync_snyk-github-issues.yml
+++ b/.github/workflows/sync_snyk-github-issues.yml
@@ -16,33 +16,15 @@ jobs:
steps:
- uses: actions/checkout@v3
- # Beginning of yarn setup, keep in sync between all workflows, see ci.yml
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- - name: cache all node_modules
- id: cache-modules
- uses: actions/cache@v3
- with:
- path: '**/node_modules'
- key: ${{ runner.os }}-v${{ matrix.node-version }}-node_modules-${{ hashFiles('yarn.lock', '**/package.json') }}
- - name: find location of global yarn cache
- id: yarn-cache
- if: steps.cache-modules.outputs.cache-hit != 'true'
- run: echo "::set-output name=dir::$(yarn cache dir)"
- - name: cache global yarn cache
- uses: actions/cache@v3
- if: steps.cache-modules.outputs.cache-hit != 'true'
- with:
- path: ${{ steps.yarn-cache.outputs.dir }}
- key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-yarn-
- name: yarn install
- run: yarn install --frozen-lockfile
- # End of yarn setup
+ uses: backstage/actions/yarn-install@v0.2.2
+ with:
+ cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
- name: Create Snyk report
uses: snyk/actions/node@master
diff --git a/.github/workflows/verify_dco.yaml b/.github/workflows/verify_dco.yaml
deleted file mode 100644
index 2094327d23..0000000000
--- a/.github/workflows/verify_dco.yaml
+++ /dev/null
@@ -1,65 +0,0 @@
-name: Verify DCO
-on:
- schedule:
- - cron: '*/15 * * * *'
-
-jobs:
- dco-helper:
- runs-on: ubuntu-latest
- steps:
- - name: Verify DCO status for open pull requests
- uses: actions/github-script@v6
- with:
- script: |
- const owner = "backstage";
- const repo = "backstage";
- const pulls = await github.paginate(github.rest.pulls.list, {
- state: "open",
- owner,
- repo,
- });
-
- for (const pull of pulls) {
- // Pick out the PRs that have the DCO check
- const checks = await github.rest.checks.listForRef({
- owner,
- repo,
- ref: pull.head.sha,
- check_name: "DCO",
- status: "completed",
- });
- // Skip if there are no checks
- if (!checks.data.check_runs.length) {
- continue;
- }
- // Skip if the conclusion is not action_required
- if (checks.data.check_runs[0].conclusion !== "action_required") {
- console.log(`No checks found for PR #${pull.number}, skipping`);
- continue;
- }
-
- const comments = await github.paginate(github.rest.issues.listComments, {
- owner,
- repo,
- issue_number: pull.number,
- });
- if (comments.find((c) =>
- c.user.login === "github-actions[bot]" &&
- c.body.includes("")
- )
- ) {
- console.log(`already commented on PR #${pull.number}, skipping`);
- continue;
- }
- console.log(`creating comment on PR #${pull.number}`);
- const body = `
- Thanks for the contribution!
- All commits need to be DCO signed before they are reviewed. Please refer to the the [DCO section in CONTRIBUTING.md](https://github.com/backstage/backstage/blob/master/CONTRIBUTING.md#developer-certificate-of-origin) or the [DCO](${checks.data.check_runs[0].html_url}) status for more info.
- `;
- await github.rest.issues.createComment({
- repo,
- owner,
- issue_number: pull.number,
- body,
- });
- }
diff --git a/.github/workflows/verify_e2e-linux.yml b/.github/workflows/verify_e2e-linux.yml
index 884d8bf172..724e220ecb 100644
--- a/.github/workflows/verify_e2e-linux.yml
+++ b/.github/workflows/verify_e2e-linux.yml
@@ -40,35 +40,15 @@ jobs:
steps:
- uses: actions/checkout@v3
- # Beginning of yarn setup, keep in sync between all workflows, see ci.yml
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- - name: cache all node_modules
- id: cache-modules
- uses: actions/cache@v3
- with:
- path: '**/node_modules'
- key: ${{ runner.os }}-v${{ matrix.node-version }}-node_modules-${{ hashFiles('yarn.lock', '**/package.json') }}
- - name: find location of global yarn cache
- id: yarn-cache
- if: steps.cache-modules.outputs.cache-hit != 'true'
- run: echo "::set-output name=dir::$(yarn cache dir)"
- - name: setup chrome
- uses: browser-actions/setup-chrome@latest
- - name: cache global yarn cache
- uses: actions/cache@v3
- if: steps.cache-modules.outputs.cache-hit != 'true'
- with:
- path: ${{ steps.yarn-cache.outputs.dir }}
- key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-yarn-
- name: yarn install
- run: yarn install --frozen-lockfile
- # End of yarn setup
+ uses: backstage/actions/yarn-install@v0.2.2
+ with:
+ cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
- run: yarn tsc
- run: yarn backstage-cli repo build
diff --git a/.github/workflows/verify_storybook.yml b/.github/workflows/verify_storybook.yml
index a13aa3ae71..4ade8e1924 100644
--- a/.github/workflows/verify_storybook.yml
+++ b/.github/workflows/verify_storybook.yml
@@ -17,44 +17,30 @@ on:
jobs:
chromatic:
- runs-on: ubuntu-latest
+ runs-on: ${{ matrix.os }}
+
+ strategy:
+ matrix:
+ os: [ubuntu-latest]
+ node-version: [16.x]
+
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Required to retrieve git history
- # Beginning of yarn setup, keep in sync between all workflows, see ci.yml
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- - name: cache all node_modules
- id: cache-modules
- uses: actions/cache@v3
+ - name: yarn install
+ uses: backstage/actions/yarn-install@v0.2.2
with:
- path: '**/node_modules'
- key: ${{ runner.os }}-v${{ matrix.node-version }}-node_modules-${{ hashFiles('yarn.lock', '**/package.json') }}
- - name: find location of global yarn cache
- id: yarn-cache
- if: steps.cache-modules.outputs.cache-hit != 'true'
- run: echo "::set-output name=dir::$(yarn cache dir)"
- - name: cache global yarn cache
- uses: actions/cache@v3
- if: steps.cache-modules.outputs.cache-hit != 'true'
- with:
- path: ${{ steps.yarn-cache.outputs.dir }}
- key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-yarn-
-
- - name: top-level install
- run: yarn install --frozen-lockfile
-
+ cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
- name: storybook yarn install
run: yarn install --frozen-lockfile
working-directory: storybook
- # End of yarn setup
- run: yarn build-storybook
diff --git a/.github/workflows/verify_windows.yml b/.github/workflows/verify_windows.yml
index bb8aa9e5aa..e286d42c7e 100644
--- a/.github/workflows/verify_windows.yml
+++ b/.github/workflows/verify_windows.yml
@@ -26,25 +26,15 @@ jobs:
steps:
- uses: actions/checkout@v3
- # Beginning of yarn setup, keep in sync between all workflows, see ci.yml
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- - name: find location of global yarn cache
- id: yarn-cache
- run: echo "::set-output name=dir::$(yarn cache dir)"
- - name: cache global yarn cache
- uses: actions/cache@v3
- with:
- path: ${{ steps.yarn-cache.outputs.dir }}
- key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-yarn-
+
+ # Windows file operation slowness means there's no point caching this
- name: yarn install
run: yarn install --frozen-lockfile
- # End of yarn setup
- name: lint
run: yarn backstage-cli repo lint
diff --git a/.prettierignore b/.prettierignore
index 393c35fdbe..8f1fae0456 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -5,6 +5,7 @@ coverage
*.hbs
templates
api-report.md
+cli-report.md
plugins/scaffolder-backend/sample-templates
.vscode
dist-types
diff --git a/ADOPTERS.md b/ADOPTERS.md
index 0e2ab7da06..2f47f22f90 100644
--- a/ADOPTERS.md
+++ b/ADOPTERS.md
@@ -1,6 +1,8 @@
# Adopters
-_If you're using Backstage in your organization, please try to add your company name to this list. This really helps the project to gain momentum and credibility. It's a small contribution back to the project with a big impact._
+_If you're using Backstage in your organization, please try to add your company name to this list. It really helps the project to gain momentum and credibility. It's a small contribution back to the project with a big impact._
+_You can do this by using the [Adopter form](https://form.typeform.com/to/zcOaKikB) or by editing this file after following the [CONTRIBUTING.md](./CONTRIBUTING.md)._
+
| Organization | Contact | Description of Use |
|-----------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
@@ -36,7 +38,7 @@ _If you're using Backstage in your organization, please try to add your company
| [PagerDuty](https://www.pagerduty.com/) | [Mark Shaw](https://github.com/markshawtoronto) | Developer portal, initially focused on software templates and tech-docs. |
| [MoonShiner](https://moonshiner.at) | [Fabian Hippmann](https://github.com/FabianHippmann) | Developer portal - helps us keep track of our customer projects, onboard new developers & improve our development process 🌕🚀🧑🚀 |
| [FundApps](https://www.fundapps.co/) | [Elliot Greenwood](https://github.com/egnwd) | Developer Portal - A place for us to keep track of our projects and documentation for all services and processes |
-| [DAZN](https://dazn.com/) | [Lou Bichard](https://twitter.com/loujaybee), [Marco Crivellaro](https://github.com/crivetechie), [Alex Hollerith](mailto:alex.hollerith@dazn.com), [Kamil Wolny](https://github.com/mrwolny) | Ingesting all of DAZN's repos for the catalog, migrating our internal platform apps (pull request boards, release information, inner source marketplace etc) to Backstage plugins (where applicable). |
+| [DAZN](https://dazn.com/) | [David Rubio Vidal](https://github.com/davidrv87), [Marco Crivellaro](https://github.com/crivetechie), [Alex Hollerith](mailto:alex.hollerith@dazn.com), [Kamil Wolny](https://github.com/mrwolny) | Ingesting all of DAZN's repos for the catalog, migrating our internal platform apps (pull request boards, release information, inner source marketplace etc) to Backstage plugins (where applicable). |
| [HelloFresh](https://www.hellofresh.de/) | [@iammuho](https://github.com/iammuho), [@ElenaForester](https://github.com/ElenaForester), [@diegomarangoni](https://github.com/diegomarangoni) | Our developer portal at HelloFresh - Spread across an organisation of 500+ engineers globally. |
| [FactSet](https://www.factset.com/) | [@kuangp](https://github.com/kuangp) | Developer portal to provide discoverability to all internal components, APIs, documentation, and scaffold templates with integrations to our internal infrastructure tools. |
| [Workrise](https://www.workrise.com/) | [Michael Rode](https://github.com/michaelrode) | Developer portal, main gateway to our infrastructure, documentation and internal tooling. |
@@ -185,3 +187,6 @@ _If you're using Backstage in your organization, please try to add your company
| [Clarivate](https://www.clarivate.com) | [Gabriele Carteni](mailto:gabriele.carteni@clarivate.com) | We are building our Developer Portal using Backstage to have a better control over our software ecosystem, integrate SDLC tools and promote best practices |
| [Cho Tot](https://www.chotot.com) | [Chotot Team](mailto:sre@chotot.vn) | Internal developer portal, service catalog with CI/CD tools. |
| [William Hill](https://www.williamhillgroup.com/) | [Pat Mills](mailto:pat.mills@williamhill.com), [Nathan Flynn](mailto:nflynn@williamhill.co.uk), and [Nishkarsh Raj](mailto:nishkarsh.raj@williamhill.co.uk) | William Hill are leveraging Backstage to build our Engineering Portal. Our mission is to centralize the software catalog inventory to enable service discoverability, reduce the onboarding time for new Engineers, provide a single pane of glass to accelerate Developer Productivity and Save Engineers time. Our aspiration is to create an InnerSource community focussed on organization-wide patterns that are re-usable and can be self-served with the Scaffolder. |
+| [Vodafone NewZealand Limited](https://vodafone.co.nz) | [Ankit Gupta](mailto:ankit.gupta@vodafone.nz), [DevOps COE](mailto:devopstooling@vodafone.nz) | Vodafone NZ are leveraging Backstage to build centralised and self service Engineering Portal. Our mission is to standardised Pipeline templates across the Engineering teams, One shop stop to create the pipelines and repository with a template approach which reduces creation part from days to minutes and no wait time for developers. A unified view for Azure DevOps pipeline, Azure Repo pull requests, Deployment status from Azure RedHat Openshift-ArgoCD and SonarQube Security and code quality scans report on a single pan to provide a streamlined view for all microservices across the app stack. |
+| [Coamo](http://www.coamo.com.br) | [@holiiveira](https://github.com/holiiveira), [@gpxlnx](https://github.com/gpxlnx) | We're starting to use it as the main tool of a DevOps platform. Our goal is to provide software templates, centralize our software catalog enabling efficient service discovery, and make it easy to manage the entire software ecosystem in one place.
+ |
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index eb60bc48e0..1afbf072fc 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -58,9 +58,9 @@ If you are proposing a feature:
- Remember that this is a volunteer-driven project, and that contributions
are welcome :)
-### Add your company to ADOPTERS
+### Add your company to `ADOPTERS`
-Have you started using Backstage? Adding your company to [ADOPTERS](ADOPTERS.md) really helps the project.
+Have you started using Backstage? Adding your company to [ADOPTERS](ADOPTERS.md) really helps the project, you can do this by filling out this [Adopter form](https://form.typeform.com/to/zcOaKikB).
## Get Started!
diff --git a/cypress/yarn.lock b/cypress/yarn.lock
index 1ccce4ea24..991d2d8562 100644
--- a/cypress/yarn.lock
+++ b/cypress/yarn.lock
@@ -304,9 +304,9 @@ cross-spawn@^7.0.0:
which "^2.0.1"
cypress@^10.0.0:
- version "10.2.0"
- resolved "https://registry.npmjs.org/cypress/-/cypress-10.2.0.tgz#ca078abfceb13be2a33cbba6e0e80ded770f542a"
- integrity sha512-+i9lY5ENlfi2mJwsggzR+XASOIgMd7S/Gd3/13NCpv596n3YSplMAueBTIxNLcxDpTcIksp+9pM3UaDrJDpFqA==
+ version "10.3.0"
+ resolved "https://registry.npmjs.org/cypress/-/cypress-10.3.0.tgz#fae8d32f0822fcfb938e79c7c31ef344794336ae"
+ integrity sha512-txkQWKzvBVnWdCuKs5Xc08gjpO89W2Dom2wpZgT9zWZT5jXxqPIxqP/NC1YArtkpmp3fN5HW8aDjYBizHLUFvg==
dependencies:
"@cypress/request" "^2.88.10"
"@cypress/xvfb" "^1.2.4"
diff --git a/docs/features/search/search-engines.md b/docs/features/search/search-engines.md
index 9bb8b8c343..ecd8a85109 100644
--- a/docs/features/search/search-engines.md
+++ b/docs/features/search/search-engines.md
@@ -59,10 +59,38 @@ configured and make the following changes to your backend:
// Initialize a connection to a search engine.
const searchEngine = (await PgSearchEngine.supported(env.database))
- ? await PgSearchEngine.from({ database: env.database })
+ ? await PgSearchEngine.fromConfig(env.config, { database: env.database })
: new LunrSearchEngine({ logger: env.logger });
```
+## Optional Configuration
+
+The following is an example of the optional configuration that can be applied when using Postgres as the search backend. Currently this is mostly for just the highlight feature:
+
+```yaml
+search:
+ pg:
+ highlightOptions:
+ useHighlight: true # Used to enable to disable the highlight feature. The default value is true
+ maxWord: 35 # Used to set the longest headlines to output. The default value is 35.
+ minWord: 15 # Used to set the shortest headlines to output. The default value is 15.
+ shortWord: 3 # Words of this length or less will be dropped at the start and end of a headline, unless they are query terms. The default value of three (3) eliminates common English articles.
+ highlightAll: false # If true the whole document will be used as the headline, ignoring the preceding three parameters. The default is false.
+ maxFragments: 0 # Maximum number of text fragments to display. The default value of zero selects a non-fragment-based headline generation method. A value greater than zero selects fragment-based headline generation (see the linked documentation above for more details).
+ fragmentDelimiter: ' ... ' # Delimiter string used to concatenate fragments. Defaults to " ... ".
+```
+
+**Note:** the highlight search term feature uses `ts_headline` which has been known to potentially impact performance. You only need this minimal config to disable it should you have issues:
+
+```yaml
+search:
+ pg:
+ highlightOptions:
+ useHighlight: false
+```
+
+The Postgres documentation on [Highlighting Results](https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-HEADLINE) has more details.
+
## ElasticSearch
Backstage supports ElasticSearch search engine connections, indexing and
@@ -80,15 +108,16 @@ const searchEngine = await ElasticSearchSearchEngine.initialize({
const indexBuilder = new IndexBuilder({ logger: env.logger, searchEngine });
```
-For the engine to be available, your backend package needs a dependency into
+For the engine to be available, your backend package needs a dependency on
package `@backstage/plugin-search-backend-module-elasticsearch`.
ElasticSearch needs some additional configuration before it is ready to use
within your instance. The configuration options are documented in the
[configuration schema definition file.](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-elasticsearch/config.d.ts)
-The underlying functionality is using official ElasticSearch client version 7.x,
-meaning that ElasticSearch version 7 is the only one confirmed to be supported.
+The underlying functionality uses either the official ElasticSearch client
+version 7.x (meaning that ElasticSearch version 7 is the only one confirmed to
+be supported), or the OpenSearch client, when the `aws` provider is configured.
Should you need to create your own bespoke search experiences that require more
than just a query translator (such as faceted search or Relay pagination), you
@@ -97,9 +126,19 @@ search clients. The version of the client need not be the same as one used
internally by the elastic search engine plugin. For example:
```typescript
-import { Client } from '@elastic/elastic-search';
+import { isOpenSearchCompatible } from '@backstage/plugin-search-backend-module-elasticsearch';
+import { Client as ElasticClient } from '@elastic/elastic-search';
+import { Client as OpenSearchClient } from '@opensearch-project/opensearch';
-const client = searchEngine.newClient(options => new Client(options));
+const client = searchEngine.newClient(options => {
+ // In reality, you would only import / instantiate one of the following, but
+ // for illustrative purposes, here are both:
+ if (isOpenSearchCompatible(options)) {
+ return new OpenSearchClient(options);
+ } else {
+ return new ElasticClient(options);
+ }
+});
```
#### Set custom index template
diff --git a/docs/features/software-catalog/configuration.md b/docs/features/software-catalog/configuration.md
index 849823a59e..5abd266099 100644
--- a/docs/features/software-catalog/configuration.md
+++ b/docs/features/software-catalog/configuration.md
@@ -106,8 +106,7 @@ with [Static Location Configuration](#static-location-configuration) or a
discovery processor like
[GitHub Discovery](../../integrations/github/discovery.md). To enforce usage of
processors to locate entities we can configure the catalog into `readonly` mode.
-This configuration disables the mutating backend catalog APIs and disallows
-users from registering new entities at run-time.
+This configuration disables registering and deleting locations with the catalog APIs.
```yaml
catalog:
@@ -117,6 +116,8 @@ catalog:
> **Note that any plugin relying on the catalog API for creating, updating and
> deleting entities will not work in this mode.**
+Deleting an entity by UUID, `DELETE /entities/by-uid/:uid`, is allowed when using this mode. It may be rediscovered as noted in [explicit deletion](life-of-an-entity.md#explicit-deletion).
+
A common use case for this configuration is when organizations have a remote
source that should be mirrored into Backstage. To make Backstage a mirror of
this remote source, users cannot also register new entities with e.g. the
diff --git a/docs/features/software-templates/adding-templates.md b/docs/features/software-templates/adding-templates.md
index db765fc7ee..e8176a688b 100644
--- a/docs/features/software-templates/adding-templates.md
+++ b/docs/features/software-templates/adding-templates.md
@@ -86,6 +86,13 @@ contains more information about the required fields.
Once we have a `template.yaml` ready, we can then add it to the software catalog
for use by the scaffolder.
+> Note: When you add or modify a template, you will need to refresh the location entity.
+> Otherwise, Backstage won't display the template in the available templates,
+> or it will keep showing the old template. You can refresh the location instance by
+> going into `Catalog` web page, choosing `Locations` instead of `Components`, and selecting the correct location entity.
+> From there, you can click on the refresh icon representing "Scheduled entity refresh" action.
+> Afterwards, you should see your template updated.
+
You can add the template files to the catalog through
[static location configuration](../software-catalog/configuration.md#static-location-configuration),
for example:
@@ -97,6 +104,8 @@ catalog:
target: https://github.com/backstage/software-templates/blob/main/scaffolder-templates/react-ssr-template/template.yaml
rules:
- allow: [Template]
+ - type: file
+ target: template.yaml # Backstage will expect the file to be in packages/backend/template.yaml
```
Or you can add the template using the `catalog-import` plugin, which unless
diff --git a/docs/features/software-templates/writing-custom-actions.md b/docs/features/software-templates/writing-custom-actions.md
index 8e698e1a05..a9e1d297f3 100644
--- a/docs/features/software-templates/writing-custom-actions.md
+++ b/docs/features/software-templates/writing-custom-actions.md
@@ -9,8 +9,9 @@ by writing custom actions which can be used along side our
[built-in actions](./builtin-actions.md).
> Note: When adding custom actions, the actions array will **replace the
-> built-in actions too**. To ensure you can continue to include the builtin
-> actions, see below to include them during registration of your action.
+> built-in actions too**. Meaning, you will no longer be able to use them.
+> If you want to continue using the builtin actions, include them in the actions
+> array when registering your custom actions, as seen below.
## Writing your Custom Action
@@ -122,27 +123,32 @@ will set the available actions that the scaffolder has access to.
```ts
import { createBuiltinActions } from '@backstage/plugin-scaffolder-backend';
import { ScmIntegrations } from '@backstage/integration';
+import { createNewFileAction } from './actions/custom';
-const integrations = ScmIntegrations.fromConfig(env.config);
+export default async function createPlugin(
+ env: PluginEnvironment,
+): Promise {
+ const catalogClient = new CatalogClient({ discoveryApi: env.discovery });
+ const integrations = ScmIntegrations.fromConfig(env.config);
-const builtInActions = createBuiltinActions({
- containerRunner,
- integrations,
- catalogClient,
- config: env.config,
- reader: env.reader,
-});
+ const builtInActions = createBuiltinActions({
+ integrations,
+ catalogClient,
+ config: env.config,
+ reader: env.reader,
+ });
-const actions = [...builtInActions, createNewFileAction()];
-return await createRouter({
- containerRunner,
- catalogClient,
- actions,
- logger: env.logger,
- config: env.config,
- database: env.database,
- reader: env.reader,
-});
+ const actions = [...builtInActions, createNewFileAction()];
+
+ return createRouter({
+ actions,
+ catalogClient: catalogClient,
+ logger: env.logger,
+ config: env.config,
+ database: env.database,
+ reader: env.reader,
+ });
+}
```
## List of custom action packages
diff --git a/docs/features/software-templates/writing-templates.md b/docs/features/software-templates/writing-templates.md
index ff9962d8d4..81367b19c5 100644
--- a/docs/features/software-templates/writing-templates.md
+++ b/docs/features/software-templates/writing-templates.md
@@ -320,6 +320,30 @@ The `allowedHosts` part should be set to where you wish to enable this template
to publish to. And it can be any host that is listed in your `integrations`
config in `app-config.yaml`.
+Besides specifying `allowedHosts` you can also restrict the template to publish to
+repositories owned by specific users/groups/namespaces by setting the `allowedOwners`
+option. With the `allowedRepos` option you are able to narrow it down further to a
+specific set of repository names. A full example could look like this:
+
+```yaml
+- title: Choose a location
+ required:
+ - repoUrl
+ properties:
+ repoUrl:
+ title: Repository Location
+ type: string
+ ui:field: RepoUrlPicker
+ ui:options:
+ allowedHosts:
+ - github.com
+ allowedOwners:
+ - backstage
+ - someGithubUser
+ allowedRepos:
+ - backstage
+```
+
The `RepoUrlPicker` is a custom field that we provide part of the
`plugin-scaffolder`. You can provide your own custom fields by
[writing your own Custom Field Extensions](./writing-custom-field-extensions.md)
@@ -485,6 +509,64 @@ the value of `firstName` from the parameters). This is great for passing the
values from the form into different steps and reusing these input variables.
These template strings preserve the type of the parameter.
+The `${{ parameters.firstName }}` pattern will work only in the template file.
+If you want to start using values provided from the UI in your code, you will have to use
+the `${{ values.firstName }}` pattern. Additionally, you have to pass
+the parameters from the UI to the input of the `fetch:template` step.
+
+```yaml
+apiVersion: scaffolder.backstage.io/v1beta3
+kind: Template
+metadata:
+ name: v1beta3-demo
+ title: Test Action
+ description: scaffolder v1beta3 template demo
+spec:
+ owner: backstage/techdocs-core
+ type: service
+ parameters:
+ - title: Fill in some steps
+ required:
+ - name
+ properties:
+ name:
+ title: Name
+ type: string
+ description: Unique name of your project
+ urlParameter:
+ title: URL endpoint
+ type: string
+ description: URL endpoint at which the component can be reached
+ default: 'https://www.example.com'
+ enabledDB:
+ title: Enable Database
+ type: boolean
+ default: false
+ ...
+ steps:
+ - id: fetch-base
+ name: Fetch Base
+ action: fetch:template
+ input:
+ url: ./template
+ values:
+ name: ${{ parameters.name }}
+ url: ${{ parameters.urlParameter }}
+ enabledDB: ${{ parameters.enabledDB }}
+```
+
+Afterwards, if you are using the builtin templating action, you can start using
+the variables in your code. You can use also any other templating functions from
+[Nunjucks](https://mozilla.github.io/nunjucks/templating.html#tags) as well.
+
+```bash
+#!/bin/bash
+echo "Hi my name is ${{ values.name }}, and you can fine me at ${{ values.url }}!"
+{% if values.enabledDB %}
+echo "You have enabled your database!"
+{% endif %}
+```
+
As you can see above in the `Outputs` section, `actions` and `steps` can also
output things. You can grab that output using `steps.$stepId.output.$property`.
diff --git a/docs/features/techdocs/addons.md b/docs/features/techdocs/addons.md
index 831729d093..fe1058b2ca 100644
--- a/docs/features/techdocs/addons.md
+++ b/docs/features/techdocs/addons.md
@@ -52,6 +52,8 @@ Addons are rendered in the order in which they are registered.
## Installing and using Addons
+To start using Addons you need to add the `@backstage/plugin-techdocs-module-addons-contrib` package to your app. You can do that by running this command from the root of your project: `yarn add --cwd packages/app @backstage/plugin-techdocs-module-addons-contrib`
+
Addons can be installed and configured in much the same way as extensions for
other Backstage plugins: by adding them underneath an extension registry
component (``) under the route representing the TechDocs Reader
@@ -74,6 +76,18 @@ import { ReportIssue } from '@backstage/plugin-techdocs-module-addons-contrib';
;
```
+If you are using a custom [TechDocs reader page](./how-to-guides.md#how-to-customize-the-techdocs-reader-page) your setup will be very similar, here's an example:
+
+```ts
+}>
+
+
+ {/* Other addons can be added here. */}
+
+ {techDocsPage} // This is your custom TechDocs reader page
+
+```
+
The process for configuring Addons on the documentation tab on the entity page
is very similar; instead of adding the `` registry under a
``, you'd add it as a child of ``:
diff --git a/docs/features/techdocs/configuration.md b/docs/features/techdocs/configuration.md
index 9440d9a824..8a54d76ed0 100644
--- a/docs/features/techdocs/configuration.md
+++ b/docs/features/techdocs/configuration.md
@@ -160,7 +160,8 @@ techdocs:
# techdocs.cache is optional, and is only recommended when you've configured
# an external techdocs.publisher.type above. Also requires backend.cache to
- # be configured with a valid cache store.
+ # be configured with a valid cache store. Configure techdocs.cache.ttl to
+ # enable caching of techdocs assets.
cache:
# Represents the number of milliseconds a statically built asset should
# stay cached. Cache invalidation is handled automatically by the frontend,
diff --git a/docs/overview/roadmap.md b/docs/overview/roadmap.md
index 727000728f..df242ed172 100644
--- a/docs/overview/roadmap.md
+++ b/docs/overview/roadmap.md
@@ -15,9 +15,9 @@ work"](#future-work). With "next" we mean features planned for release within
the ongoing quarter from April through June 2022. With "future" we mean
features on the radar, but not yet scheduled.
-| [What's next](#whats-next) | [Future work](#future-work) |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
-| [Ease of onboarding](#ease-of-onboarding)
[Backstage Search 1.0](#search-1.0)
[TechDocs Addon Framework](#techdocs-addon-framework)
[Backend Services (initial)](#backend-services-initial)
[Backstage Security Audit](#backstage-security-audit)
[SIGs for contributors](#sigs-for-contributors) | Security Plan (and Strategy)
Composable Homepage 1.0
GraphQL
Telemetry
Improved UX design |
+| [What's next](#whats-next) | [Future work](#future-work) |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
+| [Backstage Search 1.0](#search-1.0)
[Backend Services (MVP)](#backend-services-mvp)
[Backstage Security Audit](#backstage-security-audit)
[Backstage Threat Model](#backstage-threat-model)
[TechDocs Addon Framework](#techdocs-addon-framework)
[Software Catalog pagination](#software-catalog-pagination)
[More SIGs](#more-sigs) | Ease of onboarding
Composable Homepage 1.0
Creator experience
GraphQL
Telemetry |
The long-term roadmap (12 - 36 months) is not detailed in the public roadmap.
Third-party contributions are also not currently included in the roadmap. Let us
@@ -30,47 +30,22 @@ The feature set below is planned for the ongoing quarter, and grouped by theme.
The list order doesn't necessarily reflect priority, and the development/release
cycle will vary based on maintainer schedules.
-### Ease of onboarding
-
-A faster (with less development) and easier setup of a proof-of-concept
-deployment, as part of the onboarding experience, has been a common and loud
-suggestion from new adopters as well as analysts looking at Backstage.
-
-With this initiative we plan to start facing this important topic with the most
-commonly used and challenging tasks. More in particular we plan to reduce the
-effort required to go from zero to production in installing and customizing
-Backstage, as well as reducing the effort required to populate the Software
-Catalog.
-
-More iterations will be required in the following quarters, but this will be a
-good improvement in the onboarding experience, especially for the benefit of new
-adopters.
-
### Backstage Search 1.0
Fix the few remaining issues to get Backstage Search platform up to 1.0. For more information, see the [Backstage Search documentation and roadmap page](https://backstage.io/docs/features/search/search-overview).
-### TechDocs Addon Framework
-
-Addons are TechDocs features that are added on top of the base docs-like-code experience. An example would be a feature that showed comments on the page. We plan to add an Addon framework and open source a selection of the Addons that we use internally at Spotify. We encourage the Backstage community to add further Addons.
-
-For more information about the TechDocs Addon Framework, see the documentation page [here](https://backstage.io/docs/features/techdocs/addons)
-
-For general information about TechDocs including roadmap, see [here](https://backstage.io/docs/features/techdocs/techdocs-overview).
-
-### Backend Services (initial)
+### Backend Services (MVP)
To better scale and maintain the Backstage instances, a backend services system
is planned to be introduced as part of the software architecture. This layer of
backend services will help in decoupling the various modules (e.g. Catalog and
Scaffolder) from the frontend experience.
-In this quarter we plan to start designing the new architecture, together with
-the first experimentation and development of the software components.
+After the experimentation and design happened in the past quarter, soon we plan to release a first version to start providing the first benefits to adopters and developers.
### Backstage Security Audit
-This is the continuation of the initiative started in the previous quarter. This
+This is the continuation of the initiative started in the previous quarters. This
quarter will see the publication of the report describing the outcome of the
audit, together the first fixes and the development of some of the changes
required to address the vulnerabilities.
@@ -84,12 +59,34 @@ initiative.
This initiative is done together with, and with the support of, the [Cloud
Native Computing Foundation (CNCF)](https://www.cncf.io/).
-### SIGs for contributors
+### Backstage Threat Model
-The request to better coordinate the increasing number of contributions coming
-from the various adopters' developers is loud and clear. We think that the
-community is mature enough to start launching the SIGs (Special Interest Groups)
-following the successful model of Kubernetes.
+This is another (relevant) initiative planned to make Backstage a secure product for the adopters. The goals of this initiative are:
+
+1. Understand where security investment and attention is needed.
+2. Guide the upcoming security audit.
+3. Communicate expectations to Backstage adopters and inform and attract security researchers.
+
+The planned artifacts are:
+
+- Concise high level threat model that will be included as part of the Backstage security documentation.
+- Granular threat model created in conjunction with the security audit to inform further security investment areas for Backstage.
+
+### TechDocs Addon Framework
+
+Addons are TechDocs features that are added on top of the base docs-like-code experience. An example would be a feature that showed comments on the page. We plan to add an Addon framework and open source a selection of the Addons that we use internally at Spotify. We encourage the Backstage community to add further Addons.
+
+For more information about the TechDocs Addon Framework, see the documentation page [here](https://backstage.io/docs/features/techdocs/addons).
+
+For general information about TechDocs including roadmap, see [here](https://backstage.io/docs/features/techdocs/techdocs-overview).
+
+### Software Catalog pagination
+
+Today adopters with a big catalog (with several thousands of software components) might not have an ideal end-user experience when viewing the `/catalog` page. The issue is related to how the entities are fetched by the frontend. In order to provide a better end-user experience the pagination of the catalog’s entities needs to be enforced. Some experimentation is already completed but in this quarter we plan to continue, and hopefully complete, this relevant enhancement.
+
+### More SIGs
+
+In the last quarter we launched the [Catalog SIG (Special Interest Group)](https://github.com/backstage/community/tree/main/sigs/sig-catalog) to better coordinate the increasing number of contributions to the project. We think that this is the proper path to follow to engage more with the contributors. For this reason we will launch other SIGs dedicated to the most interesting topics for the community.
## Future work
@@ -97,18 +94,17 @@ The following feature list doesn't represent a commitment to develop, and the
list order doesn't reflect any priority or importance, but these features are on
the maintainers' radar, with clear interest expressed by the community.
-- **Security Plan (and Strategy):** The purpose of the Security Strategy is to
- move another step along the path to maturing the platform, setting the
- expectations of any adopters from a security standpoint.
+- **Ease of onboarding:** A faster (with less development) and easier setup of
+ Backstage and the most relevant/adopted plugins.
- **Composable Homepage 1.0:** Driving this to 1.0 by adding some composable
components.
+- **Creator experience:** Provide a better Backstage user experience through
+ visual guidelines and templates, especially navigation across plug-ins and
+ portal functionalities.
- **[GraphQL](https://graphql.org/) support:** Introduce the ability to query
Backstage backend services with a standard query language for APIs.
- **Telemetry:** To efficiently generate logging and metrics in such a way that
adopters can get insights so that Backstage can be monitored and improved.
-- **Improved UX design:** Provide a better Backstage user experience through
- visual guidelines and templates, especially navigation across plug-ins and
- portal functionalities.
## How to influence the roadmap
diff --git a/docs/releases/v1.4.0-next.1-changelog.md b/docs/releases/v1.4.0-next.1-changelog.md
new file mode 100644
index 0000000000..0780178d4d
--- /dev/null
+++ b/docs/releases/v1.4.0-next.1-changelog.md
@@ -0,0 +1,1474 @@
+# Release v1.4.0-next.1
+
+## @backstage/cli@0.18.0-next.1
+
+### Minor Changes
+
+- 96a82d9791: **BREAKING**: Removed the following deprecated package commands:
+
+ - `app:build` - Use `package build` instead
+ - `app:serve` - Use `package start` instead
+ - `backend:build` - Use `package build` instead
+ - `backend:bundle` - Use `package build` instead
+ - `backend:dev` - Use `package start` instead
+ - `plugin:build` - Use `package build` instead
+ - `plugin:serve` - Use `package start` instead
+ - `build` - Use `package build` instead
+ - `lint` - Use `package lint` instead
+ - `prepack` - Use `package prepack` instead
+ - `postpack` - Use `package postpack` instead
+
+ In order to replace these you need to have [migrated to using package roles](https://backstage.io/docs/tutorials/package-role-migration).
+
+### Patch Changes
+
+- 86640214f0: Upgrade `@rollup/plugin-node-resolve` to `^13.0.6`
+- e661242844: Updated dependency `run-script-webpack-plugin` to `^0.1.0`.
+- Updated dependencies
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/config-loader@1.1.3-next.0
+
+## @backstage/errors@1.1.0-next.0
+
+### Minor Changes
+
+- 6d61b44466: The `ResponseError.fromResponse` now accepts a more narrow response type, in order to avoid incompatibilities between different fetch implementations.
+
+ The `response` property of `ResponseError` has also been narrowed to a new `ConsumedResponse` type that omits all the properties for consuming the body of the response. This is not considered a breaking change as it was always an error to try to consume the body of the response.
+
+## @backstage/plugin-apache-airflow@0.2.0-next.1
+
+### Minor Changes
+
+- 01f976ea72: Exposed DagTableComponent as standalone component + added a prop to get only select DAGs instead of the full list
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+
+## @backstage/plugin-auth-backend@0.15.0-next.1
+
+### Minor Changes
+
+- 9d4040777e: **BREAKING**: Removed all directly exported auth provider factories, option types, and sign-in resolvers. For example: `AwsAlbProviderOptions`, `bitbucketUserIdSignInResolver`, `createGithubProvider`. These are all still accessible via the `providers` export. For example, use `providers.github.create()` rather than `createGithubProvider()`, and `providers.bitbucket.resolvers.userIdMatchingUserEntityAnnotation()` rather than `bitbucketUserIdSignInResolver`.
+
+ **BREAKING**: Removed the exported `AuthProviderFactoryOptions` type as well as the deprecated option fields of the `AuthProviderFactory` callback. This includes the `tokenManager`, `tokenIssuer`, `discovery`, and `catalogApi` fields. Existing usage of these should be replaced with the new utilities in the `resolverContext` field. The deprecated `TokenIssuer` type is now also removed, since it is no longer used.
+
+ **BREAKING**: Removed `getEntityClaims`, use `getDefaultOwnershipEntityRefs` instead.
+
+ **DEPRECATION**: Deprecated `AtlassianAuthProvider` as it was unintentionally exported.
+
+### Patch Changes
+
+- f2cf79d62e: Added an option for the auth backend router to select the algorithm for the JWT token signing keys
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/plugin-auth-node@0.2.3-next.1
+
+## @backstage/plugin-catalog-backend-module-openapi@0.1.0-next.0
+
+### Minor Changes
+
+- 67503d159e: Add basic OpenAPI \\$ref support.
+
+ For more information see [here](https://github.com/backstage/backstage/tree/master/plugins/catalog-backend-module-openapi).
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/integration@1.2.2-next.1
+
+## @backstage/plugin-search-backend-module-elasticsearch@0.2.0-next.1
+
+### Minor Changes
+
+- c5af773757: **BREAKING**: In order to remain interoperable with all currently supported
+ deployments of Elasticsearch, this package will now conditionally use either
+ the `@elastic/elasticsearch` or `@opensearch-project/opensearch` client when
+ communicating with your deployed cluster.
+
+ If you do not rely on types exported from this package, or if you do not make
+ use of the `createElasticSearchClientOptions` or `newClient` methods on the
+ `ElasticSearchSearchEngine` class, then upgrading to this version should not
+ require any further action on your part. Everything will continue to work as it
+ always has.
+
+ If you _do_ rely on either of the above methods or any underlying types, some
+ changes may be needed to your custom code. A type guard is now exported by this
+ package (`isOpenSearchCompatible(options)`), which you may use to help clarify
+ which client options are compatible with which client constructors.
+
+ If you are using this package with the `search.elasticsearch.provider` set to
+ `aws`, and you are making use of the `newClient` method in particular, you may
+ wish to start using the `@opensearch-project/opensearch` client in your custom
+ code.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@0.6.3-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+
+## @backstage/plugin-techdocs-backend@1.2.0-next.1
+
+### Minor Changes
+
+- 860765ff45: Added local publishing target directory `config`: `techdocs.publisher.local.publishDirectory`
+
+### Patch Changes
+
+- 726577958f: Add sample headings on the documented component homepage.
+- Updated dependencies
+ - @backstage/plugin-techdocs-node@1.2.0-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/plugin-catalog-common@1.0.4-next.0
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-search-common@0.3.6-next.0
+
+## @backstage/plugin-techdocs-node@1.2.0-next.1
+
+### Minor Changes
+
+- 860765ff45: Added local publishing target directory `config`: `techdocs.publisher.local.publishDirectory`
+
+### Patch Changes
+
+- a5d73da942: Fix the flag parsing for `legacyCopyReadmeMdToIndexMd` in `techdocs-cli generate` command, and decouple it's logic from the `techdocs-ref` flag.
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+
+## @backstage/app-defaults@1.0.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-permission-react@0.4.3-next.0
+
+## @backstage/backend-common@0.14.1-next.1
+
+### Patch Changes
+
+- 0fc57887e8: Improve plural handling in logging output for secrets
+- Updated dependencies
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/config-loader@1.1.3-next.0
+
+## @backstage/backend-tasks@0.3.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+
+## @backstage/backend-test-utils@0.1.26-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.18.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+
+## @backstage/catalog-client@1.0.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+
+## @backstage/catalog-model@1.1.0-next.1
+
+### Patch Changes
+
+- f1dcc6f3c6: Added type predicates for all entity types, e.g. isUserEntity
+- Updated dependencies
+ - @backstage/errors@1.1.0-next.0
+
+## @backstage/config-loader@1.1.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.1.0-next.0
+
+## @backstage/core-components@0.9.6-next.1
+
+### Patch Changes
+
+- 3c440ea77e: Change BackstageIconLinkVertical style to use pallette instead of explicit color
+- 7e115d42f9: Support displaying subtitle text in `SidebarSubmenuItem`
+- Updated dependencies
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+
+## @backstage/create-app@0.4.29-next.1
+
+### Patch Changes
+
+- Bumped create-app version.
+
+## @backstage/dev-utils@1.0.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/app-defaults@1.0.4-next.1
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/test-utils@1.1.2-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/integration@1.2.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.1.0-next.0
+
+## @backstage/integration-react@1.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/integration@1.2.2-next.1
+
+## @techdocs/cli@1.1.3-next.1
+
+### Patch Changes
+
+- a5d73da942: Fix the flag parsing for `legacyCopyReadmeMdToIndexMd` in `techdocs-cli generate` command, and decouple it's logic from the `techdocs-ref` flag.
+- Updated dependencies
+ - @backstage/plugin-techdocs-node@1.2.0-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+
+## @backstage/test-utils@1.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-permission-react@0.4.3-next.0
+
+## @backstage/theme@0.2.16-next.0
+
+### Patch Changes
+
+- 4c09c09102: Adds optional `htmlFontSize` property and also sets typography design tokens for h5 and h6 in base theme.
+
+## @backstage/plugin-adr@0.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/plugin-adr-common@0.1.2-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+ - @backstage/plugin-search-react@0.2.2-next.1
+
+## @backstage/plugin-adr-backend@0.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/plugin-adr-common@0.1.2-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+
+## @backstage/plugin-adr-common@0.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+
+## @backstage/plugin-airbrake@0.3.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/dev-utils@1.0.4-next.1
+ - @backstage/test-utils@1.1.2-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-allure@0.1.23-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-analytics-module-ga@0.1.18-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+
+## @backstage/plugin-api-docs@0.8.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/plugin-catalog@1.3.1-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-app-backend@0.3.34-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/config-loader@1.1.3-next.0
+
+## @backstage/plugin-auth-node@0.2.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+
+## @backstage/plugin-azure-devops@0.1.23-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-badges@0.2.31-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-badges-backend@0.1.28-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+
+## @backstage/plugin-bazaar@0.1.22-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/cli@0.18.0-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/plugin-catalog@1.3.1-next.1
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-bitrise@0.1.34-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-catalog@1.3.1-next.1
+
+### Patch Changes
+
+- f1dcc6f3c6: Use entity type predicates from catalog-model
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/plugin-catalog-common@1.0.4-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+ - @backstage/plugin-search-react@0.2.2-next.1
+
+## @backstage/plugin-catalog-backend@1.2.1-next.1
+
+### Patch Changes
+
+- f1dcc6f3c6: Use entity type predicates from catalog-model
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/plugin-catalog-common@1.0.4-next.0
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-permission-node@0.6.3-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+
+## @backstage/plugin-catalog-backend-module-aws@0.1.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/integration@1.2.2-next.1
+
+## @backstage/plugin-catalog-backend-module-azure@0.1.5-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/integration@1.2.2-next.1
+
+## @backstage/plugin-catalog-backend-module-bitbucket@0.2.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/integration@1.2.2-next.1
+
+## @backstage/plugin-catalog-backend-module-gerrit@0.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/integration@1.2.2-next.1
+
+## @backstage/plugin-catalog-backend-module-github@0.1.5-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/integration@1.2.2-next.1
+
+## @backstage/plugin-catalog-backend-module-gitlab@0.1.5-next.1
+
+### Patch Changes
+
+- 49ff472c0b: Add the possibility in the `GitlabDiscoveryEntityProvider` to scan the whole project instead of concrete groups. For that, use a configuration like this one, where the group parameter is omitted (not mandatory anymore):
+
+ ```yaml
+ catalog:
+ providers:
+ gitlab:
+ yourProviderId:
+ host: gitlab-host # Identifies one of the hosts set up in the integrations
+ branch: main # Optional. Uses `master` as default
+ entityFilename: catalog-info.yaml # Optional. Defaults to `catalog-info.yaml`
+ ```
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/integration@1.2.2-next.1
+
+## @backstage/plugin-catalog-backend-module-ldap@0.5.1-next.1
+
+### Patch Changes
+
+- fbfbff6bf7: Add possibility to resolve relations by RDN, in addition to UUID and DN
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/backend-tasks@0.3.3-next.1
+
+## @backstage/plugin-catalog-common@1.0.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-search-common@0.3.6-next.0
+
+## @backstage/plugin-catalog-graph@0.2.19-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-catalog-import@0.8.10-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-catalog-react@1.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/plugin-catalog-common@1.0.4-next.0
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-permission-react@0.4.3-next.0
+
+## @backstage/plugin-circleci@0.3.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-cloudbuild@0.3.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-code-climate@0.1.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-code-coverage@0.1.34-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-code-coverage-backend@0.1.32-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+
+## @backstage/plugin-codescene@0.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+
+## @backstage/plugin-config-schema@0.1.30-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+
+## @backstage/plugin-cost-insights@0.11.29-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+
+## @backstage/plugin-dynatrace@0.1.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+
+## @backstage/plugin-explore@0.3.38-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-firehydrant@0.1.24-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-fossa@0.2.39-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-gcalendar@0.3.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+
+## @backstage/plugin-gcp-projects@0.3.26-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+
+## @backstage/plugin-git-release-manager@0.3.20-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/integration@1.2.2-next.1
+
+## @backstage/plugin-github-actions@0.5.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-github-deployments@0.1.38-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-github-pull-requests-board@0.1.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-gitops-profiles@0.3.25-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+
+## @backstage/plugin-gocd@0.1.13-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-graphiql@0.2.39-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+
+## @backstage/plugin-home@0.4.23-next.1
+
+### Patch Changes
+
+- a46e317a75: Added support for customizing the time format used in the `HeaderWorldClock` component
+
+ Here's an example of how this can be used in the `HomePage.tsx` found in `\packages\app\src\components\home` to change the clock to be in the 24hr time format:
+
+ ```diff
+ +const timeFormat: Intl.DateTimeFormatOptions = {
+ + hour: '2-digit',
+ + minute: '2-digit',
+ + hour12: false,
+ +};
+
+ export const homePage = (
+
+ } pageTitleOverride="Home">
+ +
+
+
+
+
+
+
+ ```
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/plugin-stack-overflow@0.1.3-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-ilert@0.1.33-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-jenkins@0.7.6-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+ - @backstage/plugin-jenkins-common@0.1.6-next.0
+
+## @backstage/plugin-jenkins-backend@0.1.24-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/plugin-auth-node@0.2.3-next.1
+ - @backstage/plugin-jenkins-common@0.1.6-next.0
+ - @backstage/plugin-permission-common@0.6.3-next.0
+
+## @backstage/plugin-jenkins-common@0.1.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-common@1.0.4-next.0
+ - @backstage/plugin-permission-common@0.6.3-next.0
+
+## @backstage/plugin-kafka@0.3.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-kafka-backend@0.2.27-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+
+## @backstage/plugin-kubernetes@0.6.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-kubernetes-backend@0.7.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+
+## @backstage/plugin-lighthouse@0.3.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-newrelic@0.3.25-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+
+## @backstage/plugin-newrelic-dashboard@0.1.15-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-org@0.5.7-next.1
+
+### Patch Changes
+
+- 1e984b11fc: Render namespaces for teams with subtitles in `MyGroupsSidebarItem`
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-pagerduty@0.5.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-periskop@0.1.5-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-permission-backend@0.5.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-auth-node@0.2.3-next.1
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-permission-node@0.6.3-next.1
+
+## @backstage/plugin-permission-common@0.6.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.1.0-next.0
+
+## @backstage/plugin-permission-node@0.6.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-auth-node@0.2.3-next.1
+ - @backstage/plugin-permission-common@0.6.3-next.0
+
+## @backstage/plugin-permission-react@0.4.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.6.3-next.0
+
+## @backstage/plugin-rollbar@0.4.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-scaffolder@1.4.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/plugin-catalog-common@1.0.4-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+ - @backstage/plugin-permission-react@0.4.3-next.0
+
+## @backstage/plugin-scaffolder-backend@1.4.0-next.1
+
+### Patch Changes
+
+- 801d606909: Improve error messaging when passing in malformed auth
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+
+## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-scaffolder-backend@1.4.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/integration@1.2.2-next.1
+
+## @backstage/plugin-scaffolder-backend-module-rails@0.4.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-scaffolder-backend@1.4.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/integration@1.2.2-next.1
+
+## @backstage/plugin-search@0.9.1-next.1
+
+### Patch Changes
+
+- 509c4092f0: To allow people to use a global search context in the search modal, the code for the search modal has been changed to only create a local search context if there is no parent context already defined.
+
+ If you want to continue using a local context even if you define a global one, you will have to wrap the modal in a new local context manually:
+
+ ```tsx
+
+
+
+ ```
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+ - @backstage/plugin-search-react@0.2.2-next.1
+
+## @backstage/plugin-search-backend@0.5.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-auth-node@0.2.3-next.1
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-permission-node@0.6.3-next.1
+ - @backstage/plugin-search-backend-node@0.6.3-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+
+## @backstage/plugin-search-backend-module-pg@0.3.5-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/plugin-search-backend-node@0.6.3-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+
+## @backstage/plugin-search-backend-node@0.6.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-search-common@0.3.6-next.0
+
+## @backstage/plugin-search-common@0.3.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.6.3-next.0
+
+## @backstage/plugin-search-react@0.2.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-search-common@0.3.6-next.0
+
+## @backstage/plugin-sentry@0.3.45-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-shortcuts@0.2.8-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+
+## @backstage/plugin-sonarqube@0.3.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-splunk-on-call@0.3.31-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-stack-overflow@0.1.3-next.1
+
+### Patch Changes
+
+- 52b4f796e3: app-config is now picked up properly.
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/plugin-home@0.4.23-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-search-common@0.3.6-next.0
+
+## @backstage/plugin-stack-overflow-backend@0.1.3-next.0
+
+### Patch Changes
+
+- 52b4f796e3: app-config is now picked up properly.
+- Updated dependencies
+ - @backstage/plugin-search-common@0.3.6-next.0
+
+## @backstage/plugin-tech-insights@0.2.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-tech-insights-backend@0.4.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/catalog-client@1.0.4-next.1
+
+## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.18-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+
+## @backstage/plugin-tech-radar@0.5.14-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+
+## @backstage/plugin-techdocs@1.2.1-next.1
+
+### Patch Changes
+
+- 726577958f: Remove the 60% factor from the font size calculation of headers to use the exact size defined in BackstageTheme.
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+ - @backstage/plugin-search-react@0.2.2-next.1
+
+## @backstage/plugin-techdocs-addons-test-utils@1.0.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/plugin-catalog@1.3.1-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-techdocs@1.2.1-next.1
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/test-utils@1.1.2-next.1
+ - @backstage/plugin-search-react@0.2.2-next.1
+
+## @backstage/plugin-techdocs-module-addons-contrib@1.0.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/integration-react@1.1.2-next.1
+
+## @backstage/plugin-todo@0.2.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-todo-backend@0.1.31-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+
+## @backstage/plugin-user-settings@0.4.6-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+
+## @backstage/plugin-vault@0.1.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
+## @backstage/plugin-vault-backend@0.2.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/backend-test-utils@0.1.26-next.1
+
+## @backstage/plugin-xcmetrics@0.2.27-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+
+## example-app@0.2.73-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/cli@0.18.0-next.1
+ - @backstage/plugin-apache-airflow@0.2.0-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/plugin-search@0.9.1-next.1
+ - @backstage/plugin-org@0.5.7-next.1
+ - @backstage/plugin-catalog@1.3.1-next.1
+ - @backstage/plugin-home@0.4.23-next.1
+ - @backstage/plugin-stack-overflow@0.1.3-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-techdocs@1.2.1-next.1
+ - @backstage/app-defaults@1.0.4-next.1
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/plugin-airbrake@0.3.7-next.1
+ - @backstage/plugin-api-docs@0.8.7-next.1
+ - @backstage/plugin-azure-devops@0.1.23-next.1
+ - @backstage/plugin-badges@0.2.31-next.1
+ - @backstage/plugin-catalog-common@1.0.4-next.0
+ - @backstage/plugin-catalog-graph@0.2.19-next.1
+ - @backstage/plugin-catalog-import@0.8.10-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+ - @backstage/plugin-circleci@0.3.7-next.1
+ - @backstage/plugin-cloudbuild@0.3.7-next.1
+ - @backstage/plugin-code-coverage@0.1.34-next.1
+ - @backstage/plugin-cost-insights@0.11.29-next.1
+ - @backstage/plugin-dynatrace@0.1.1-next.1
+ - @backstage/plugin-explore@0.3.38-next.1
+ - @backstage/plugin-gcalendar@0.3.3-next.1
+ - @backstage/plugin-gcp-projects@0.3.26-next.1
+ - @backstage/plugin-github-actions@0.5.7-next.1
+ - @backstage/plugin-gocd@0.1.13-next.1
+ - @backstage/plugin-graphiql@0.2.39-next.1
+ - @backstage/plugin-jenkins@0.7.6-next.1
+ - @backstage/plugin-kafka@0.3.7-next.1
+ - @backstage/plugin-kubernetes@0.6.7-next.1
+ - @backstage/plugin-lighthouse@0.3.7-next.1
+ - @backstage/plugin-newrelic@0.3.25-next.1
+ - @backstage/plugin-newrelic-dashboard@0.1.15-next.1
+ - @backstage/plugin-pagerduty@0.5.0-next.1
+ - @backstage/plugin-permission-react@0.4.3-next.0
+ - @backstage/plugin-rollbar@0.4.7-next.1
+ - @backstage/plugin-scaffolder@1.4.0-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+ - @backstage/plugin-sentry@0.3.45-next.1
+ - @backstage/plugin-shortcuts@0.2.8-next.1
+ - @backstage/plugin-tech-insights@0.2.3-next.1
+ - @backstage/plugin-tech-radar@0.5.14-next.1
+ - @backstage/plugin-techdocs-module-addons-contrib@1.0.2-next.1
+ - @backstage/plugin-todo@0.2.9-next.1
+ - @backstage/plugin-user-settings@0.4.6-next.1
+ - @backstage/plugin-search-react@0.2.2-next.1
+
+## example-backend@0.2.73-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-scaffolder-backend@1.4.0-next.1
+ - @backstage/plugin-auth-backend@0.15.0-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/plugin-search-backend-module-elasticsearch@0.2.0-next.1
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/plugin-techdocs-backend@1.2.0-next.1
+ - example-app@0.2.73-next.1
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/plugin-app-backend@0.3.34-next.1
+ - @backstage/plugin-auth-node@0.2.3-next.1
+ - @backstage/plugin-badges-backend@0.1.28-next.1
+ - @backstage/plugin-code-coverage-backend@0.1.32-next.1
+ - @backstage/plugin-jenkins-backend@0.1.24-next.1
+ - @backstage/plugin-kafka-backend@0.2.27-next.1
+ - @backstage/plugin-kubernetes-backend@0.7.0-next.1
+ - @backstage/plugin-permission-backend@0.5.9-next.1
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-permission-node@0.6.3-next.1
+ - @backstage/plugin-scaffolder-backend-module-rails@0.4.2-next.1
+ - @backstage/plugin-search-backend@0.5.4-next.1
+ - @backstage/plugin-search-backend-module-pg@0.3.5-next.1
+ - @backstage/plugin-search-backend-node@0.6.3-next.1
+ - @backstage/plugin-tech-insights-backend@0.4.2-next.1
+ - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.18-next.1
+ - @backstage/plugin-todo-backend@0.1.31-next.1
+
+## techdocs-cli-embedded-app@0.2.72-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/cli@0.18.0-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/plugin-catalog@1.3.1-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-techdocs@1.2.1-next.1
+ - @backstage/app-defaults@1.0.4-next.1
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/test-utils@1.1.2-next.1
+
+## @internal/plugin-todo-list@1.0.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+
+## @internal/plugin-todo-list-backend@1.0.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-auth-node@0.2.3-next.1
+
+## @internal/plugin-todo-list-common@1.0.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.6.3-next.0
diff --git a/package.json b/package.json
index 823db687d3..89a49c11fd 100644
--- a/package.json
+++ b/package.json
@@ -49,7 +49,7 @@
"@types/react": "^17",
"@types/react-dom": "^17"
},
- "version": "1.4.0-next.0",
+ "version": "1.4.0-next.1",
"dependencies": {
"@manypkg/get-packages": "^1.1.3",
"@microsoft/api-documenter": "^7.17.11",
diff --git a/packages/app-defaults/CHANGELOG.md b/packages/app-defaults/CHANGELOG.md
index 929e53e248..3da536ef7f 100644
--- a/packages/app-defaults/CHANGELOG.md
+++ b/packages/app-defaults/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/app-defaults
+## 1.0.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-permission-react@0.4.3-next.0
+
## 1.0.4-next.0
### Patch Changes
diff --git a/packages/app-defaults/package.json b/packages/app-defaults/package.json
index 92de05204d..82534354a0 100644
--- a/packages/app-defaults/package.json
+++ b/packages/app-defaults/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/app-defaults",
"description": "Provides the default wiring of a Backstage App",
- "version": "1.0.4-next.0",
+ "version": "1.0.4-next.1",
"private": false,
"publishConfig": {
"access": "public",
@@ -33,11 +33,11 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-permission-react": "^0.4.2",
- "@backstage/theme": "^0.2.15",
+ "@backstage/plugin-permission-react": "^0.4.3-next.0",
+ "@backstage/theme": "^0.2.16-next.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"react-router-dom": "6.0.0-beta.0"
@@ -46,8 +46,8 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@types/jest": "^26.0.7",
diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md
index 119200eca6..a4cc7735dd 100644
--- a/packages/app/CHANGELOG.md
+++ b/packages/app/CHANGELOG.md
@@ -1,5 +1,62 @@
# example-app
+## 0.2.73-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/cli@0.18.0-next.1
+ - @backstage/plugin-apache-airflow@0.2.0-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/plugin-search@0.9.1-next.1
+ - @backstage/plugin-org@0.5.7-next.1
+ - @backstage/plugin-catalog@1.3.1-next.1
+ - @backstage/plugin-home@0.4.23-next.1
+ - @backstage/plugin-stack-overflow@0.1.3-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-techdocs@1.2.1-next.1
+ - @backstage/app-defaults@1.0.4-next.1
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/plugin-airbrake@0.3.7-next.1
+ - @backstage/plugin-api-docs@0.8.7-next.1
+ - @backstage/plugin-azure-devops@0.1.23-next.1
+ - @backstage/plugin-badges@0.2.31-next.1
+ - @backstage/plugin-catalog-common@1.0.4-next.0
+ - @backstage/plugin-catalog-graph@0.2.19-next.1
+ - @backstage/plugin-catalog-import@0.8.10-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+ - @backstage/plugin-circleci@0.3.7-next.1
+ - @backstage/plugin-cloudbuild@0.3.7-next.1
+ - @backstage/plugin-code-coverage@0.1.34-next.1
+ - @backstage/plugin-cost-insights@0.11.29-next.1
+ - @backstage/plugin-dynatrace@0.1.1-next.1
+ - @backstage/plugin-explore@0.3.38-next.1
+ - @backstage/plugin-gcalendar@0.3.3-next.1
+ - @backstage/plugin-gcp-projects@0.3.26-next.1
+ - @backstage/plugin-github-actions@0.5.7-next.1
+ - @backstage/plugin-gocd@0.1.13-next.1
+ - @backstage/plugin-graphiql@0.2.39-next.1
+ - @backstage/plugin-jenkins@0.7.6-next.1
+ - @backstage/plugin-kafka@0.3.7-next.1
+ - @backstage/plugin-kubernetes@0.6.7-next.1
+ - @backstage/plugin-lighthouse@0.3.7-next.1
+ - @backstage/plugin-newrelic@0.3.25-next.1
+ - @backstage/plugin-newrelic-dashboard@0.1.15-next.1
+ - @backstage/plugin-pagerduty@0.5.0-next.1
+ - @backstage/plugin-permission-react@0.4.3-next.0
+ - @backstage/plugin-rollbar@0.4.7-next.1
+ - @backstage/plugin-scaffolder@1.4.0-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+ - @backstage/plugin-sentry@0.3.45-next.1
+ - @backstage/plugin-shortcuts@0.2.8-next.1
+ - @backstage/plugin-tech-insights@0.2.3-next.1
+ - @backstage/plugin-tech-radar@0.5.14-next.1
+ - @backstage/plugin-techdocs-module-addons-contrib@1.0.2-next.1
+ - @backstage/plugin-todo@0.2.9-next.1
+ - @backstage/plugin-user-settings@0.4.6-next.1
+ - @backstage/plugin-search-react@0.2.2-next.1
+
## 0.2.73-next.0
### Patch Changes
diff --git a/packages/app/package.json b/packages/app/package.json
index 9c43f03f49..4ba50b13c7 100644
--- a/packages/app/package.json
+++ b/packages/app/package.json
@@ -1,67 +1,67 @@
{
"name": "example-app",
- "version": "0.2.73-next.0",
+ "version": "0.2.73-next.1",
"private": true,
"backstage": {
"role": "frontend"
},
"bundled": true,
"dependencies": {
- "@backstage/app-defaults": "^1.0.4-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/app-defaults": "^1.0.4-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/config": "^1.0.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/integration-react": "^1.1.2-next.0",
- "@backstage/plugin-airbrake": "^0.3.7-next.0",
- "@backstage/plugin-api-docs": "^0.8.7-next.0",
- "@backstage/plugin-azure-devops": "^0.1.23-next.0",
- "@backstage/plugin-apache-airflow": "^0.1.15-next.0",
- "@backstage/plugin-badges": "^0.2.31-next.0",
- "@backstage/plugin-catalog": "^1.3.1-next.0",
- "@backstage/plugin-catalog-common": "^1.0.3",
- "@backstage/plugin-catalog-graph": "^0.2.19-next.0",
- "@backstage/plugin-catalog-import": "^0.8.10-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.0",
- "@backstage/plugin-circleci": "^0.3.7-next.0",
- "@backstage/plugin-cloudbuild": "^0.3.7-next.0",
- "@backstage/plugin-code-coverage": "^0.1.34-next.0",
- "@backstage/plugin-cost-insights": "^0.11.29-next.0",
- "@backstage/plugin-dynatrace": "^0.1.1-next.0",
- "@backstage/plugin-explore": "^0.3.38-next.0",
- "@backstage/plugin-gcalendar": "^0.3.3-next.0",
- "@backstage/plugin-gcp-projects": "^0.3.26-next.0",
- "@backstage/plugin-github-actions": "^0.5.7-next.0",
- "@backstage/plugin-gocd": "^0.1.13-next.0",
- "@backstage/plugin-graphiql": "^0.2.39-next.0",
- "@backstage/plugin-home": "^0.4.23-next.0",
- "@backstage/plugin-jenkins": "^0.7.6-next.0",
- "@backstage/plugin-kafka": "^0.3.7-next.0",
- "@backstage/plugin-kubernetes": "^0.6.7-next.0",
- "@backstage/plugin-lighthouse": "^0.3.7-next.0",
- "@backstage/plugin-newrelic": "^0.3.25-next.0",
- "@backstage/plugin-newrelic-dashboard": "^0.1.15-next.0",
- "@backstage/plugin-org": "^0.5.7-next.0",
- "@backstage/plugin-pagerduty": "0.5.0-next.0",
- "@backstage/plugin-permission-react": "^0.4.2",
- "@backstage/plugin-rollbar": "^0.4.7-next.0",
- "@backstage/plugin-scaffolder": "^1.4.0-next.0",
- "@backstage/plugin-search": "^0.9.1-next.0",
- "@backstage/plugin-search-react": "^0.2.2-next.0",
- "@backstage/plugin-search-common": "^0.3.5",
- "@backstage/plugin-sentry": "^0.3.45-next.0",
- "@backstage/plugin-shortcuts": "^0.2.8-next.0",
- "@backstage/plugin-stack-overflow": "^0.1.3-next.0",
- "@backstage/plugin-tech-radar": "^0.5.14-next.0",
- "@backstage/plugin-techdocs": "^1.2.1-next.0",
+ "@backstage/integration-react": "^1.1.2-next.1",
+ "@backstage/plugin-airbrake": "^0.3.7-next.1",
+ "@backstage/plugin-api-docs": "^0.8.7-next.1",
+ "@backstage/plugin-azure-devops": "^0.1.23-next.1",
+ "@backstage/plugin-apache-airflow": "^0.2.0-next.1",
+ "@backstage/plugin-badges": "^0.2.31-next.1",
+ "@backstage/plugin-catalog": "^1.3.1-next.1",
+ "@backstage/plugin-catalog-common": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-graph": "^0.2.19-next.1",
+ "@backstage/plugin-catalog-import": "^0.8.10-next.1",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.1",
+ "@backstage/plugin-circleci": "^0.3.7-next.1",
+ "@backstage/plugin-cloudbuild": "^0.3.7-next.1",
+ "@backstage/plugin-code-coverage": "^0.1.34-next.1",
+ "@backstage/plugin-cost-insights": "^0.11.29-next.1",
+ "@backstage/plugin-dynatrace": "^0.1.1-next.1",
+ "@backstage/plugin-explore": "^0.3.38-next.1",
+ "@backstage/plugin-gcalendar": "^0.3.3-next.1",
+ "@backstage/plugin-gcp-projects": "^0.3.26-next.1",
+ "@backstage/plugin-github-actions": "^0.5.7-next.1",
+ "@backstage/plugin-gocd": "^0.1.13-next.1",
+ "@backstage/plugin-graphiql": "^0.2.39-next.1",
+ "@backstage/plugin-home": "^0.4.23-next.1",
+ "@backstage/plugin-jenkins": "^0.7.6-next.1",
+ "@backstage/plugin-kafka": "^0.3.7-next.1",
+ "@backstage/plugin-kubernetes": "^0.6.7-next.1",
+ "@backstage/plugin-lighthouse": "^0.3.7-next.1",
+ "@backstage/plugin-newrelic": "^0.3.25-next.1",
+ "@backstage/plugin-newrelic-dashboard": "^0.1.15-next.1",
+ "@backstage/plugin-org": "^0.5.7-next.1",
+ "@backstage/plugin-pagerduty": "0.5.0-next.1",
+ "@backstage/plugin-permission-react": "^0.4.3-next.0",
+ "@backstage/plugin-rollbar": "^0.4.7-next.1",
+ "@backstage/plugin-scaffolder": "^1.4.0-next.1",
+ "@backstage/plugin-search": "^0.9.1-next.1",
+ "@backstage/plugin-search-react": "^0.2.2-next.1",
+ "@backstage/plugin-search-common": "^0.3.6-next.0",
+ "@backstage/plugin-sentry": "^0.3.45-next.1",
+ "@backstage/plugin-shortcuts": "^0.2.8-next.1",
+ "@backstage/plugin-stack-overflow": "^0.1.3-next.1",
+ "@backstage/plugin-tech-radar": "^0.5.14-next.1",
+ "@backstage/plugin-techdocs": "^1.2.1-next.1",
"@backstage/plugin-techdocs-react": "^1.0.2-next.0",
- "@backstage/plugin-techdocs-module-addons-contrib": "^1.0.2-next.0",
- "@backstage/plugin-todo": "^0.2.9-next.0",
- "@backstage/plugin-user-settings": "^0.4.6-next.0",
- "@backstage/plugin-tech-insights": "^0.2.3-next.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/plugin-techdocs-module-addons-contrib": "^1.0.2-next.1",
+ "@backstage/plugin-todo": "^0.2.9-next.1",
+ "@backstage/plugin-user-settings": "^0.4.6-next.1",
+ "@backstage/plugin-tech-insights": "^0.2.3-next.1",
+ "@backstage/theme": "^0.2.16-next.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -81,7 +81,7 @@
"zen-observable": "^0.8.15"
},
"devDependencies": {
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@rjsf/core": "^3.2.1",
"@testing-library/cypress": "^8.0.2",
"@testing-library/jest-dom": "^5.10.1",
diff --git a/packages/app/src/components/catalog/EntityPage.tsx b/packages/app/src/components/catalog/EntityPage.tsx
index 1958aabd2e..155dc071ff 100644
--- a/packages/app/src/components/catalog/EntityPage.tsx
+++ b/packages/app/src/components/catalog/EntityPage.tsx
@@ -167,7 +167,12 @@ const EntityLayoutWrapper = (props: { children?: ReactNode }) => {
return (
<>
-
+
{props.children}
;
}
/**
diff --git a/packages/backend-tasks/CHANGELOG.md b/packages/backend-tasks/CHANGELOG.md
index b73abb2d5a..5b5232e1fb 100644
--- a/packages/backend-tasks/CHANGELOG.md
+++ b/packages/backend-tasks/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/backend-tasks
+## 0.3.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+
## 0.3.3-next.0
### Patch Changes
diff --git a/packages/backend-tasks/package.json b/packages/backend-tasks/package.json
index f99baea1d5..80655db491 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.3.3-next.0",
+ "version": "0.3.3-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"private": false,
@@ -33,13 +33,13 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
+ "@backstage/errors": "^1.1.0-next.0",
"@backstage/types": "^1.0.0",
"@types/luxon": "^2.0.4",
"cron": "^2.0.0",
- "knex": "^1.0.2",
+ "knex": "^2.0.0",
"lodash": "^4.17.21",
"luxon": "^2.0.2",
"node-abort-controller": "^3.0.1",
@@ -48,8 +48,8 @@
"zod": "^3.9.5"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.0",
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/backend-test-utils": "^0.1.26-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/cron": "^2.0.0",
"wait-for-expect": "^3.0.2"
},
diff --git a/packages/backend-test-utils/CHANGELOG.md b/packages/backend-test-utils/CHANGELOG.md
index a9da9b0a3c..63868083d7 100644
--- a/packages/backend-test-utils/CHANGELOG.md
+++ b/packages/backend-test-utils/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/backend-test-utils
+## 0.1.26-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.18.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+
## 0.1.26-next.0
### Patch Changes
diff --git a/packages/backend-test-utils/package.json b/packages/backend-test-utils/package.json
index 56aa23bfd8..ff1275c387 100644
--- a/packages/backend-test-utils/package.json
+++ b/packages/backend-test-utils/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-test-utils",
"description": "Test helpers library for Backstage backends",
- "version": "0.1.26-next.0",
+ "version": "0.1.26-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"private": false,
@@ -34,11 +34,11 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/config": "^1.0.1",
"better-sqlite3": "^7.5.0",
- "knex": "^1.0.2",
+ "knex": "^2.0.0",
"msw": "^0.42.0",
"mysql2": "^2.2.5",
"pg": "^8.3.0",
@@ -46,7 +46,7 @@
"uuid": "^8.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0"
+ "@backstage/cli": "^0.18.0-next.1"
},
"files": [
"dist"
diff --git a/packages/backend/CHANGELOG.md b/packages/backend/CHANGELOG.md
index 3dfde23cae..f692b3b6c3 100644
--- a/packages/backend/CHANGELOG.md
+++ b/packages/backend/CHANGELOG.md
@@ -1,5 +1,39 @@
# example-backend
+## 0.2.73-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-scaffolder-backend@1.4.0-next.1
+ - @backstage/plugin-auth-backend@0.15.0-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/plugin-search-backend-module-elasticsearch@0.2.0-next.1
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/plugin-techdocs-backend@1.2.0-next.1
+ - example-app@0.2.73-next.1
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/plugin-app-backend@0.3.34-next.1
+ - @backstage/plugin-auth-node@0.2.3-next.1
+ - @backstage/plugin-badges-backend@0.1.28-next.1
+ - @backstage/plugin-code-coverage-backend@0.1.32-next.1
+ - @backstage/plugin-jenkins-backend@0.1.24-next.1
+ - @backstage/plugin-kafka-backend@0.2.27-next.1
+ - @backstage/plugin-kubernetes-backend@0.7.0-next.1
+ - @backstage/plugin-permission-backend@0.5.9-next.1
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-permission-node@0.6.3-next.1
+ - @backstage/plugin-scaffolder-backend-module-rails@0.4.2-next.1
+ - @backstage/plugin-search-backend@0.5.4-next.1
+ - @backstage/plugin-search-backend-module-pg@0.3.5-next.1
+ - @backstage/plugin-search-backend-node@0.6.3-next.1
+ - @backstage/plugin-tech-insights-backend@0.4.2-next.1
+ - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.18-next.1
+ - @backstage/plugin-todo-backend@0.1.31-next.1
+
## 0.2.73-next.0
### Patch Changes
diff --git a/packages/backend/package.json b/packages/backend/package.json
index 0023a169bf..1cb0e1405a 100644
--- a/packages/backend/package.json
+++ b/packages/backend/package.json
@@ -1,6 +1,6 @@
{
"name": "example-backend",
- "version": "0.2.73-next.0",
+ "version": "0.2.73-next.1",
"main": "dist/index.cjs.js",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -26,39 +26,39 @@
"build-image": "docker build ../.. -f Dockerfile --tag example-backend"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/backend-tasks": "^0.3.3-next.0",
- "@backstage/catalog-client": "^1.0.4-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-tasks": "^0.3.3-next.1",
+ "@backstage/catalog-client": "^1.0.4-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/integration": "^1.2.2-next.0",
- "@backstage/plugin-app-backend": "^0.3.34-next.0",
- "@backstage/plugin-auth-backend": "^0.14.2-next.0",
- "@backstage/plugin-auth-node": "^0.2.3-next.0",
+ "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/plugin-app-backend": "^0.3.34-next.1",
+ "@backstage/plugin-auth-backend": "^0.15.0-next.1",
+ "@backstage/plugin-auth-node": "^0.2.3-next.1",
"@backstage/plugin-azure-devops-backend": "^0.3.13-next.0",
- "@backstage/plugin-badges-backend": "^0.1.28-next.0",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.0",
- "@backstage/plugin-code-coverage-backend": "^0.1.32-next.0",
+ "@backstage/plugin-badges-backend": "^0.1.28-next.1",
+ "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
+ "@backstage/plugin-code-coverage-backend": "^0.1.32-next.1",
"@backstage/plugin-graphql-backend": "^0.1.24-next.0",
- "@backstage/plugin-jenkins-backend": "^0.1.24-next.0",
- "@backstage/plugin-kubernetes-backend": "^0.7.0-next.0",
- "@backstage/plugin-kafka-backend": "^0.2.27-next.0",
- "@backstage/plugin-permission-backend": "^0.5.9-next.0",
- "@backstage/plugin-permission-common": "^0.6.2",
- "@backstage/plugin-permission-node": "^0.6.3-next.0",
+ "@backstage/plugin-jenkins-backend": "^0.1.24-next.1",
+ "@backstage/plugin-kubernetes-backend": "^0.7.0-next.1",
+ "@backstage/plugin-kafka-backend": "^0.2.27-next.1",
+ "@backstage/plugin-permission-backend": "^0.5.9-next.1",
+ "@backstage/plugin-permission-common": "^0.6.3-next.0",
+ "@backstage/plugin-permission-node": "^0.6.3-next.1",
"@backstage/plugin-proxy-backend": "^0.2.28-next.0",
"@backstage/plugin-rollbar-backend": "^0.1.31-next.0",
- "@backstage/plugin-scaffolder-backend": "^1.4.0-next.0",
- "@backstage/plugin-scaffolder-backend-module-rails": "^0.4.2-next.0",
- "@backstage/plugin-search-backend": "^0.5.4-next.0",
- "@backstage/plugin-search-backend-node": "^0.6.3-next.0",
- "@backstage/plugin-search-backend-module-elasticsearch": "^0.1.6-next.0",
- "@backstage/plugin-search-backend-module-pg": "^0.3.5-next.0",
- "@backstage/plugin-techdocs-backend": "^1.1.3-next.0",
- "@backstage/plugin-tech-insights-backend": "^0.4.2-next.0",
+ "@backstage/plugin-scaffolder-backend": "^1.4.0-next.1",
+ "@backstage/plugin-scaffolder-backend-module-rails": "^0.4.2-next.1",
+ "@backstage/plugin-search-backend": "^0.5.4-next.1",
+ "@backstage/plugin-search-backend-node": "^0.6.3-next.1",
+ "@backstage/plugin-search-backend-module-elasticsearch": "^0.2.0-next.1",
+ "@backstage/plugin-search-backend-module-pg": "^0.3.5-next.1",
+ "@backstage/plugin-techdocs-backend": "^1.2.0-next.1",
+ "@backstage/plugin-tech-insights-backend": "^0.4.2-next.1",
"@backstage/plugin-tech-insights-node": "^0.3.2-next.0",
- "@backstage/plugin-tech-insights-backend-module-jsonfc": "^0.1.18-next.0",
- "@backstage/plugin-todo-backend": "^0.1.31-next.0",
+ "@backstage/plugin-tech-insights-backend-module-jsonfc": "^0.1.18-next.1",
+ "@backstage/plugin-todo-backend": "^0.1.31-next.1",
"@gitbeaker/node": "^35.1.0",
"@octokit/rest": "^18.5.3",
"better-sqlite3": "^7.5.0",
@@ -75,7 +75,7 @@
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/dockerode": "^3.3.0",
"@types/express": "^4.17.6",
"@types/express-serve-static-core": "^4.17.5",
diff --git a/packages/backend/src/plugins/search.ts b/packages/backend/src/plugins/search.ts
index a0ea83ab61..c478ecdd05 100644
--- a/packages/backend/src/plugins/search.ts
+++ b/packages/backend/src/plugins/search.ts
@@ -39,7 +39,9 @@ async function createSearchEngine(
}
if (await PgSearchEngine.supported(env.database)) {
- return await PgSearchEngine.from({ database: env.database });
+ return await PgSearchEngine.fromConfig(env.config, {
+ database: env.database,
+ });
}
return new LunrSearchEngine({ logger: env.logger });
diff --git a/packages/catalog-client/CHANGELOG.md b/packages/catalog-client/CHANGELOG.md
index 8ea70b67be..0b0d29b940 100644
--- a/packages/catalog-client/CHANGELOG.md
+++ b/packages/catalog-client/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/catalog-client
+## 1.0.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+
## 1.0.4-next.0
### Patch Changes
diff --git a/packages/catalog-client/package.json b/packages/catalog-client/package.json
index 893b057e37..05075d14dc 100644
--- a/packages/catalog-client/package.json
+++ b/packages/catalog-client/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/catalog-client",
"description": "An isomorphic client for the catalog backend",
- "version": "1.0.4-next.0",
+ "version": "1.0.4-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,12 +33,12 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/errors": "^1.0.0",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/errors": "^1.1.0-next.0",
"cross-fetch": "^3.1.5"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/jest": "^26.0.7",
"msw": "^0.42.0"
},
diff --git a/packages/catalog-model/CHANGELOG.md b/packages/catalog-model/CHANGELOG.md
index 6501c32409..78f7a1207c 100644
--- a/packages/catalog-model/CHANGELOG.md
+++ b/packages/catalog-model/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/catalog-model
+## 1.1.0-next.1
+
+### Patch Changes
+
+- f1dcc6f3c6: Added type predicates for all entity types, e.g. isUserEntity
+- Updated dependencies
+ - @backstage/errors@1.1.0-next.0
+
## 1.1.0-next.0
### Minor Changes
diff --git a/packages/catalog-model/api-report.md b/packages/catalog-model/api-report.md
index 3eeb054174..9b9136fc3c 100644
--- a/packages/catalog-model/api-report.md
+++ b/packages/catalog-model/api-report.md
@@ -230,6 +230,13 @@ export function getEntitySourceLocation(entity: Entity): {
target: string;
};
+// @public
+export class GroupDefaultParentEntityPolicy implements EntityPolicy {
+ constructor(parentEntityRef: string);
+ // (undocumented)
+ enforce(entity: Entity): Promise;
+}
+
// @public
interface GroupEntityV1alpha1 extends Entity {
// (undocumented)
diff --git a/packages/catalog-model/package.json b/packages/catalog-model/package.json
index ba2521b927..91d3f74a66 100644
--- a/packages/catalog-model/package.json
+++ b/packages/catalog-model/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/catalog-model",
"description": "Types and validators that help describe the model of a Backstage Catalog",
- "version": "1.1.0-next.0",
+ "version": "1.1.0-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -35,7 +35,7 @@
},
"dependencies": {
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
+ "@backstage/errors": "^1.1.0-next.0",
"@backstage/types": "^1.0.0",
"ajv": "^8.10.0",
"json-schema": "^0.4.0",
@@ -43,7 +43,7 @@
"uuid": "^8.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/jest": "^26.0.7",
"@types/json-schema": "^7.0.5",
"@types/lodash": "^4.14.151",
diff --git a/packages/catalog-model/src/entity/policies/GroupDefaultParentEntityPolicy.test.ts b/packages/catalog-model/src/entity/policies/GroupDefaultParentEntityPolicy.test.ts
new file mode 100644
index 0000000000..d5eb6145c2
--- /dev/null
+++ b/packages/catalog-model/src/entity/policies/GroupDefaultParentEntityPolicy.test.ts
@@ -0,0 +1,71 @@
+/*
+ * 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 { UserEntity, GroupEntity } from '../../kinds';
+import { GroupDefaultParentEntityPolicy } from './GroupDefaultParentEntityPolicy';
+
+describe('GroupDefaultParentEntityPolicy', () => {
+ it('should ignore non-group entities', async () => {
+ const p = new GroupDefaultParentEntityPolicy('name');
+ const u: UserEntity = {
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'User',
+ metadata: { name: 'n' },
+ spec: { profile: {}, memberOf: ['c'] },
+ };
+ const result = await p.enforce(u);
+ expect(result).toEqual({
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'User',
+ metadata: { name: 'n' },
+ spec: { profile: {}, memberOf: ['c'] },
+ });
+ });
+
+ it('should parent group entities', async () => {
+ const p = new GroupDefaultParentEntityPolicy('name');
+ const g: GroupEntity = {
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'Group',
+ metadata: { name: 'n' },
+ spec: { type: 'foo', children: [] },
+ };
+ const result = await p.enforce(g);
+ expect(result).toEqual({
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'Group',
+ metadata: { name: 'n' },
+ spec: { type: 'foo', parent: 'group:default/name', children: [] },
+ });
+ });
+
+ it('should not replace existing parents', async () => {
+ const p = new GroupDefaultParentEntityPolicy('namespace/name');
+ const g: GroupEntity = {
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'Group',
+ metadata: { name: 'n' },
+ spec: { type: 'foo', parent: 'group:something/else', children: [] },
+ };
+ const result = await p.enforce(g);
+ expect(result).toEqual({
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'Group',
+ metadata: { name: 'n' },
+ spec: { type: 'foo', parent: 'group:something/else', children: [] },
+ });
+ });
+});
diff --git a/packages/catalog-model/src/entity/policies/GroupDefaultParentEntityPolicy.ts b/packages/catalog-model/src/entity/policies/GroupDefaultParentEntityPolicy.ts
new file mode 100644
index 0000000000..8eb0aef757
--- /dev/null
+++ b/packages/catalog-model/src/entity/policies/GroupDefaultParentEntityPolicy.ts
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2022 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Entity } from '../Entity';
+import { GroupEntity } from '../../kinds';
+import { EntityPolicy } from './types';
+import { DEFAULT_NAMESPACE } from '../constants';
+import { parseEntityRef, stringifyEntityRef } from '../ref';
+
+/**
+ * DefaultParentPolicy is an EntityPolicy that updates group entities
+ * with a parent of last resort. This ensures that, while we preserve
+ * any existing group hierarchies, we can guarantee that there is a
+ * single global root of the group hierarchy.
+ *
+ * @public
+ */
+export class GroupDefaultParentEntityPolicy implements EntityPolicy {
+ private readonly parentRef: string;
+
+ constructor(parentEntityRef: string) {
+ const { kind, namespace, name } = parseEntityRef(parentEntityRef, {
+ defaultKind: 'Group',
+ defaultNamespace: DEFAULT_NAMESPACE,
+ });
+
+ if (kind.toLocaleUpperCase('en-US') !== 'GROUP') {
+ throw new TypeError('group parent must be a group');
+ }
+
+ this.parentRef = stringifyEntityRef({
+ kind: kind,
+ namespace: namespace,
+ name: name,
+ });
+ }
+
+ async enforce(entity: Entity): Promise {
+ if (entity.kind !== 'Group') {
+ return entity;
+ }
+
+ const group = entity as GroupEntity;
+ if (group.spec.parent) {
+ return group;
+ }
+
+ // Avoid making the parent entity it's own parent.
+ if (stringifyEntityRef(group) !== this.parentRef) {
+ group.spec.parent = this.parentRef;
+ }
+
+ return group;
+ }
+}
diff --git a/packages/catalog-model/src/entity/policies/index.ts b/packages/catalog-model/src/entity/policies/index.ts
index ae14007d80..d5740c0955 100644
--- a/packages/catalog-model/src/entity/policies/index.ts
+++ b/packages/catalog-model/src/entity/policies/index.ts
@@ -15,6 +15,7 @@
*/
export { DefaultNamespaceEntityPolicy } from './DefaultNamespaceEntityPolicy';
+export { GroupDefaultParentEntityPolicy } from './GroupDefaultParentEntityPolicy';
export { FieldFormatEntityPolicy } from './FieldFormatEntityPolicy';
export { NoForeignRootFieldsEntityPolicy } from './NoForeignRootFieldsEntityPolicy';
export { SchemaValidEntityPolicy } from './SchemaValidEntityPolicy';
diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md
index dbceb46db1..227ad4b772 100644
--- a/packages/cli/CHANGELOG.md
+++ b/packages/cli/CHANGELOG.md
@@ -1,5 +1,33 @@
# @backstage/cli
+## 0.18.0-next.1
+
+### Minor Changes
+
+- 96a82d9791: **BREAKING**: Removed the following deprecated package commands:
+
+ - `app:build` - Use `package build` instead
+ - `app:serve` - Use `package start` instead
+ - `backend:build` - Use `package build` instead
+ - `backend:bundle` - Use `package build` instead
+ - `backend:dev` - Use `package start` instead
+ - `plugin:build` - Use `package build` instead
+ - `plugin:serve` - Use `package start` instead
+ - `build` - Use `package build` instead
+ - `lint` - Use `package lint` instead
+ - `prepack` - Use `package prepack` instead
+ - `postpack` - Use `package postpack` instead
+
+ In order to replace these you need to have [migrated to using package roles](https://backstage.io/docs/tutorials/package-role-migration).
+
+### Patch Changes
+
+- 86640214f0: Upgrade `@rollup/plugin-node-resolve` to `^13.0.6`
+- e661242844: Updated dependency `run-script-webpack-plugin` to `^0.1.0`.
+- Updated dependencies
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/config-loader@1.1.3-next.0
+
## 0.17.3-next.0
### Patch Changes
diff --git a/packages/cli/cli-report.md b/packages/cli/cli-report.md
new file mode 100644
index 0000000000..8c678d885e
--- /dev/null
+++ b/packages/cli/cli-report.md
@@ -0,0 +1,563 @@
+## CLI Report file for "@backstage/cli"
+
+> Do not edit this file. It is a report generated by `yarn build:api-reports`
+
+### `backstage-cli`
+
+```
+Usage: backstage-cli [options] [command]
+
+Options:
+ -V, --version
+ -h, --help
+
+Commands:
+ create [options]
+ create-plugin [options]
+ plugin:diff [options]
+ test
+ config:docs [options]
+ config:print [options]
+ config:check [options]
+ config:schema [options]
+ repo [command]
+ package [command]
+ migrate [command]
+ versions:bump [options]
+ versions:check [options]
+ clean
+ build-workspace [packages...]
+ create-github-app
+ info
+ help [command]
+```
+
+### `backstage-cli build-workspace`
+
+```
+Usage: backstage-cli build-workspace [options] [packages...]
+
+Options:
+ -h, --help
+```
+
+### `backstage-cli clean`
+
+```
+Usage: backstage-cli clean [options]
+
+Options:
+ -h, --help
+```
+
+### `backstage-cli config:check`
+
+```
+Usage: backstage-cli config:check [options]
+
+Options:
+ --package
+ --lax
+ --frontend
+ --deprecated
+ --config
+ -h, --help
+```
+
+### `backstage-cli config:docs`
+
+```
+Usage: backstage-cli config:docs [options]
+
+Options:
+ --package
+ -h, --help
+```
+
+### `backstage-cli config:print`
+
+```
+Usage: backstage-cli config:print [options]
+
+Options:
+ --package
+ --lax
+ --frontend
+ --with-secrets
+ --format
+ --config
+ -h, --help
+```
+
+### `backstage-cli config:schema`
+
+```
+Usage: backstage-cli config:schema [options]
+
+Options:
+ --package
+ --format
+ -h, --help
+```
+
+### `backstage-cli create`
+
+```
+Usage: backstage-cli create [options]
+
+Options:
+ --select
+ --option =
+ --scope
+ --npm-registry
+ --no-private
+ -h, --help
+```
+
+### `backstage-cli create-github-app`
+
+```
+Usage: backstage-cli create-github-app [options]
+
+Options:
+ -h, --help
+```
+
+### `backstage-cli create-plugin`
+
+```
+Usage: backstage-cli create-plugin [options]
+
+Options:
+ --backend
+ --scope
+ --npm-registry
+ --no-private
+ -h, --help
+```
+
+### `backstage-cli info`
+
+```
+Usage: backstage-cli info [options]
+
+Options:
+ -h, --help
+```
+
+### `backstage-cli migrate`
+
+```
+Usage: backstage-cli migrate [options] [command] [command]
+
+Options:
+ -h, --help
+
+Commands:
+ package-roles
+ package-scripts
+ package-lint-configs
+ help [command]
+```
+
+### `backstage-cli migrate package-lint-configs`
+
+```
+Usage: backstage-cli migrate package-lint-configs [options]
+
+Options:
+ -h, --help
+```
+
+### `backstage-cli migrate package-roles`
+
+```
+Usage: backstage-cli migrate package-roles [options]
+
+Options:
+ -h, --help
+```
+
+### `backstage-cli migrate package-scripts`
+
+```
+Usage: backstage-cli migrate package-scripts [options]
+
+Options:
+ -h, --help
+```
+
+### `backstage-cli package`
+
+```
+Usage: backstage-cli package [options] [command] [command]
+
+Options:
+ -h, --help
+
+Commands:
+ start [options]
+ build [options]
+ lint [options] [directories...]
+ test
+ clean
+ prepack
+ postpack
+ help [command]
+```
+
+### `backstage-cli package build`
+
+```
+Usage: backstage-cli package build [options]
+
+Options:
+ --role
+ --minify
+ --experimental-type-build
+ --skip-build-dependencies
+ --stats
+ --config
+ -h, --help
+```
+
+### `backstage-cli package clean`
+
+```
+Usage: backstage-cli package clean [options]
+
+Options:
+ -h, --help
+```
+
+### `backstage-cli package lint`
+
+```
+Usage: backstage-cli package lint [options] [directories...]
+
+Options:
+ --format
+ --fix
+ -h, --help
+```
+
+### `backstage-cli package postpack`
+
+```
+Usage: backstage-cli package postpack [options]
+
+Options:
+ -h, --help
+```
+
+### `backstage-cli package prepack`
+
+```
+Usage: backstage-cli package prepack [options]
+
+Options:
+ -h, --help
+```
+
+### `backstage-cli package start`
+
+```
+Usage: backstage-cli package start [options]
+
+Options:
+ --config
+ --role
+ --check
+ --inspect
+ --inspect-brk
+ -h, --help
+```
+
+### `backstage-cli package test`
+
+```
+Usage: backstage-cli [--config=] [TestPathPattern]
+
+Options:
+ -h, --help
+ -v, --version
+ --all
+ --automock
+ -b, --bail
+ --cache
+ --cacheDirectory
+ --changedFilesWithAncestor
+ --changedSince
+ --ci
+ --clearCache
+ --clearMocks
+ --collectCoverage
+ --collectCoverageFrom
+ --collectCoverageOnlyFrom
+ --color
+ --colors
+ -c, --config
+ --coverage
+ --coverageDirectory
+ --coveragePathIgnorePatterns
+ --coverageProvider
+ --coverageReporters
+ --coverageThreshold
+ --debug
+ --detectLeaks
+ --detectOpenHandles
+ --env
+ --errorOnDeprecated
+ -e, --expand
+ --filter
+ --findRelatedTests
+ --forceExit
+ --globalSetup
+ --globalTeardown
+ --globals
+ --haste
+ --init
+ --injectGlobals
+ --json
+ --lastCommit
+ --listTests
+ --logHeapUsage
+ --maxConcurrency
+ -w, --maxWorkers
+ --moduleDirectories
+ --moduleFileExtensions
+ --moduleNameMapper
+ --modulePathIgnorePatterns
+ --modulePaths
+ --noStackTrace
+ --notify
+ --notifyMode
+ -o, --onlyChanged
+ -f, --onlyFailures
+ --outputFile
+ --passWithNoTests
+ --preset
+ --prettierPath
+ --projects
+ --reporters
+ --resetMocks
+ --resetModules
+ --resolver
+ --restoreMocks
+ --rootDir
+ --roots
+ -i, --runInBand
+ --runTestsByPath
+ --runner
+ --selectProjects
+ --setupFiles
+ --setupFilesAfterEnv
+ --showConfig
+ --silent
+ --skipFilter
+ --snapshotSerializers
+ --testEnvironment
+ --testEnvironmentOptions
+ --testFailureExitCode
+ --testLocationInResults
+ --testMatch
+ -t, --testNamePattern
+ --testPathIgnorePatterns
+ --testPathPattern
+ --testRegex
+ --testResultsProcessor
+ --testRunner
+ --testSequencer
+ --testTimeout
+ --testURL
+ --timers
+ --transform
+ --transformIgnorePatterns
+ --unmockedModulePathPatterns
+ -u, --updateSnapshot
+ --useStderr
+ --verbose
+ --watch
+ --watchAll
+ --watchPathIgnorePatterns
+ --watchman
+```
+
+### `backstage-cli plugin:diff`
+
+```
+Usage: backstage-cli plugin:diff [options]
+
+Options:
+ --check
+ --yes
+ -h, --help
+```
+
+### `backstage-cli repo`
+
+```
+Usage: backstage-cli repo [options] [command] [command]
+
+Options:
+ -h, --help
+
+Commands:
+ build [options]
+ lint [options]
+ help [command]
+```
+
+### `backstage-cli repo build`
+
+```
+Usage: backstage-cli repo build [options]
+
+Options:
+ --all
+ --since [
+ -h, --help
+```
+
+### `backstage-cli repo lint`
+
+```
+Usage: backstage-cli repo lint [options]
+
+Options:
+ --format
+ --since ][
+ --fix
+ -h, --help
+```
+
+### `backstage-cli test`
+
+```
+Usage: backstage-cli [--config=] [TestPathPattern]
+
+Options:
+ -h, --help
+ -v, --version
+ --all
+ --automock
+ -b, --bail
+ --cache
+ --cacheDirectory
+ --changedFilesWithAncestor
+ --changedSince
+ --ci
+ --clearCache
+ --clearMocks
+ --collectCoverage
+ --collectCoverageFrom
+ --collectCoverageOnlyFrom
+ --color
+ --colors
+ -c, --config
+ --coverage
+ --coverageDirectory
+ --coveragePathIgnorePatterns
+ --coverageProvider
+ --coverageReporters
+ --coverageThreshold
+ --debug
+ --detectLeaks
+ --detectOpenHandles
+ --env
+ --errorOnDeprecated
+ -e, --expand
+ --filter
+ --findRelatedTests
+ --forceExit
+ --globalSetup
+ --globalTeardown
+ --globals
+ --haste
+ --init
+ --injectGlobals
+ --json
+ --lastCommit
+ --listTests
+ --logHeapUsage
+ --maxConcurrency
+ -w, --maxWorkers
+ --moduleDirectories
+ --moduleFileExtensions
+ --moduleNameMapper
+ --modulePathIgnorePatterns
+ --modulePaths
+ --noStackTrace
+ --notify
+ --notifyMode
+ -o, --onlyChanged
+ -f, --onlyFailures
+ --outputFile
+ --passWithNoTests
+ --preset
+ --prettierPath
+ --projects
+ --reporters
+ --resetMocks
+ --resetModules
+ --resolver
+ --restoreMocks
+ --rootDir
+ --roots
+ -i, --runInBand
+ --runTestsByPath
+ --runner
+ --selectProjects
+ --setupFiles
+ --setupFilesAfterEnv
+ --showConfig
+ --silent
+ --skipFilter
+ --snapshotSerializers
+ --testEnvironment
+ --testEnvironmentOptions
+ --testFailureExitCode
+ --testLocationInResults
+ --testMatch
+ -t, --testNamePattern
+ --testPathIgnorePatterns
+ --testPathPattern
+ --testRegex
+ --testResultsProcessor
+ --testRunner
+ --testSequencer
+ --testTimeout
+ --testURL
+ --timers
+ --transform
+ --transformIgnorePatterns
+ --unmockedModulePathPatterns
+ -u, --updateSnapshot
+ --useStderr
+ --verbose
+ --watch
+ --watchAll
+ --watchPathIgnorePatterns
+ --watchman
+```
+
+### `backstage-cli versions:bump`
+
+```
+Usage: backstage-cli versions:bump [options]
+
+Options:
+ --pattern
+ --release
+ -h, --help
+```
+
+### `backstage-cli versions:check`
+
+```
+Usage: backstage-cli versions:check [options]
+
+Options:
+ --fix
+ -h, --help
+```
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 42e8953d1e..6653744a33 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/cli",
"description": "CLI for developing Backstage plugins and apps",
- "version": "0.17.3-next.0",
+ "version": "0.18.0-next.1",
"private": false,
"publishConfig": {
"access": "public"
@@ -33,8 +33,8 @@
"dependencies": {
"@backstage/cli-common": "^0.1.9",
"@backstage/config": "^1.0.1",
- "@backstage/config-loader": "^1.1.2",
- "@backstage/errors": "^1.0.0",
+ "@backstage/config-loader": "^1.1.3-next.0",
+ "@backstage/errors": "^1.1.0-next.0",
"@backstage/release-manifests": "^0.0.4",
"@backstage/types": "^1.0.0",
"@hot-loader/react-dom-v16": "npm:@hot-loader/react-dom@^16.0.2",
@@ -126,14 +126,14 @@
"zod": "^3.11.6"
},
"devDependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
"@backstage/config": "^1.0.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/theme": "^0.2.16-next.0",
"@types/diff": "^5.0.0",
"@types/express": "^4.17.6",
"@types/fs-extra": "^9.0.1",
diff --git a/packages/cli/src/commands/test.ts b/packages/cli/src/commands/test.ts
index f1bfcc356b..88769aec1a 100644
--- a/packages/cli/src/commands/test.ts
+++ b/packages/cli/src/commands/test.ts
@@ -78,6 +78,10 @@ export default async (_opts: OptionValues, cmd: Command) => {
process.env.TZ = 'UTC';
}
+ if (args.includes('--help')) {
+ (process.stdout as any)._handle.setBlocking(true);
+ }
+
// eslint-disable-next-line jest/no-jest-import
await require('jest').run(args);
};
diff --git a/packages/codemods/cli-report.md b/packages/codemods/cli-report.md
new file mode 100644
index 0000000000..57d2198141
--- /dev/null
+++ b/packages/codemods/cli-report.md
@@ -0,0 +1,61 @@
+## CLI Report file for "@backstage/codemods"
+
+> Do not edit this file. It is a report generated by `yarn build:api-reports`
+
+### `backstage-codemods`
+
+```
+Usage: backstage-codemods [options] [command]
+
+Options:
+ -V, --version
+ -h, --help
+
+Commands:
+ apply [target-dirs...]
+ list
+ help [command]
+```
+
+### `backstage-codemods apply`
+
+```
+Usage: backstage-codemods apply [options] [command] [target-dirs...]
+
+Options:
+ -h, --help
+
+Commands:
+ core-imports [options] [target-dirs...]
+ extension-names [options] [target-dirs...]
+ help [command]
+```
+
+### `backstage-codemods apply core-imports`
+
+```
+Usage: backstage-codemods apply core-imports [options] [target-dirs...]
+
+Options:
+ -d, --dry
+ -h, --help
+```
+
+### `backstage-codemods apply extension-names`
+
+```
+Usage: backstage-codemods apply extension-names [options] [target-dirs...]
+
+Options:
+ -d, --dry
+ -h, --help
+```
+
+### `backstage-codemods list`
+
+```
+Usage: backstage-codemods list [options]
+
+Options:
+ -h, --help
+```
diff --git a/packages/config-loader/CHANGELOG.md b/packages/config-loader/CHANGELOG.md
index d9228aa091..af297b1112 100644
--- a/packages/config-loader/CHANGELOG.md
+++ b/packages/config-loader/CHANGELOG.md
@@ -1,5 +1,12 @@
# @backstage/config-loader
+## 1.1.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.1.0-next.0
+
## 1.1.2
### Patch Changes
diff --git a/packages/config-loader/package.json b/packages/config-loader/package.json
index 3448b336b7..3a02afde9b 100644
--- a/packages/config-loader/package.json
+++ b/packages/config-loader/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/config-loader",
"description": "Config loading functionality used by Backstage backend, and CLI",
- "version": "1.1.2",
+ "version": "1.1.3-next.0",
"private": false,
"publishConfig": {
"access": "public",
@@ -36,7 +36,7 @@
"dependencies": {
"@backstage/cli-common": "^0.1.9",
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
+ "@backstage/errors": "^1.1.0-next.0",
"@backstage/types": "^1.0.0",
"@types/json-schema": "^7.0.6",
"ajv": "^8.10.0",
diff --git a/packages/core-app-api/package.json b/packages/core-app-api/package.json
index be95a344fa..624a9259e9 100644
--- a/packages/core-app-api/package.json
+++ b/packages/core-app-api/package.json
@@ -49,8 +49,8 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
diff --git a/packages/core-components/CHANGELOG.md b/packages/core-components/CHANGELOG.md
index ccccade63d..cf1c6305d4 100644
--- a/packages/core-components/CHANGELOG.md
+++ b/packages/core-components/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/core-components
+## 0.9.6-next.1
+
+### Patch Changes
+
+- 3c440ea77e: Change BackstageIconLinkVertical style to use pallette instead of explicit color
+- 7e115d42f9: Support displaying subtitle text in `SidebarSubmenuItem`
+- Updated dependencies
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+
## 0.9.6-next.0
### Patch Changes
diff --git a/packages/core-components/package.json b/packages/core-components/package.json
index f4b4f55089..51cbc37a1b 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.9.6-next.0",
+ "version": "0.9.6-next.1",
"private": false,
"publishConfig": {
"access": "public",
@@ -35,8 +35,8 @@
"dependencies": {
"@backstage/config": "^1.0.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/errors": "^1.0.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/errors": "^1.1.0-next.0",
+ "@backstage/theme": "^0.2.16-next.0",
"@backstage/version-bridge": "^1.0.1",
"@material-table/core": "^3.1.0",
"@material-ui/core": "^4.12.2",
@@ -56,7 +56,7 @@
"pluralize": "^8.0.0",
"prop-types": "^15.7.2",
"qs": "^6.9.4",
- "rc-progress": "3.3.3",
+ "rc-progress": "3.4.0",
"react-helmet": "6.1.0",
"react-hook-form": "^7.12.2",
"react-markdown": "^8.0.0",
@@ -80,8 +80,8 @@
},
"devDependencies": {
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/cli": "^0.17.3-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
diff --git a/packages/core-components/src/components/MarkdownContent/MarkdownContent.test.tsx b/packages/core-components/src/components/MarkdownContent/MarkdownContent.test.tsx
index 2e1550078f..9c08b83c40 100644
--- a/packages/core-components/src/components/MarkdownContent/MarkdownContent.test.tsx
+++ b/packages/core-components/src/components/MarkdownContent/MarkdownContent.test.tsx
@@ -62,4 +62,42 @@ describe('', () => {
expect(fp2).toBeInTheDocument();
expect(rendered.getByText(');', { selector: 'span' })).toBeInTheDocument();
});
+
+ it('render MarkdownContent component with transformed link', async () => {
+ const rendered = await renderWithEffects(
+ wrapInTestApp(
+ {
+ return `${href}-modified`;
+ }}
+ />,
+ ),
+ );
+ const fp1 = rendered.getByText('Title', {
+ selector: 'a',
+ });
+ expect(fp1).toBeInTheDocument();
+ expect(fp1.getAttribute('href')).toEqual(
+ 'https://backstage.io/link-modified',
+ );
+ });
+
+ it('render MarkdownContent component with transformed image', async () => {
+ const rendered = await renderWithEffects(
+ wrapInTestApp(
+ {
+ return `https://example.com/blog/assets/6/header.png`;
+ }}
+ />,
+ ),
+ );
+ const fp1 = rendered.getByAltText('Image');
+ expect(fp1).toBeInTheDocument();
+ expect(fp1.getAttribute('src')).toEqual(
+ 'https://example.com/blog/assets/6/header.png',
+ );
+ });
});
diff --git a/packages/core-components/src/components/MarkdownContent/MarkdownContent.tsx b/packages/core-components/src/components/MarkdownContent/MarkdownContent.tsx
index df4ad56776..0e5aedda90 100644
--- a/packages/core-components/src/components/MarkdownContent/MarkdownContent.tsx
+++ b/packages/core-components/src/components/MarkdownContent/MarkdownContent.tsx
@@ -68,6 +68,8 @@ type Props = {
content: string;
dialect?: 'gfm' | 'common-mark';
linkTarget?: Options['linkTarget'];
+ transformLinkUri?: (href: string) => string;
+ transformImageUri?: (href: string) => string;
};
const components: Options['components'] = {
@@ -91,7 +93,13 @@ const components: Options['components'] = {
* If you just want to render to plain [CommonMark](https://commonmark.org/), set the dialect to `'common-mark'`
*/
export function MarkdownContent(props: Props) {
- const { content, dialect = 'gfm', linkTarget } = props;
+ const {
+ content,
+ dialect = 'gfm',
+ linkTarget,
+ transformLinkUri,
+ transformImageUri,
+ } = props;
const classes = useStyles();
return (
);
}
diff --git a/packages/core-components/src/layout/Header/Header.tsx b/packages/core-components/src/layout/Header/Header.tsx
index bb4d19b949..1badb4eb98 100644
--- a/packages/core-components/src/layout/Header/Header.tsx
+++ b/packages/core-components/src/layout/Header/Header.tsx
@@ -63,15 +63,16 @@ const useStyles = makeStyles(
},
rightItemsBox: {
width: 'auto',
+ alignItems: 'center',
},
title: {
- color: theme.palette.bursts.fontColor,
+ color: theme.page.fontColor,
wordBreak: 'break-word',
fontSize: theme.typography.h3.fontSize,
marginBottom: 0,
},
subtitle: {
- color: theme.palette.bursts.fontColor,
+ color: theme.page.fontColor,
opacity: 0.8,
display: 'inline-block', // prevents margin collapse of adjacent siblings
marginTop: theme.spacing(1),
@@ -82,10 +83,10 @@ const useStyles = makeStyles(
fontSize: 11,
opacity: 0.8,
marginBottom: theme.spacing(1),
- color: theme.palette.bursts.fontColor,
+ color: theme.page.fontColor,
},
breadcrumb: {
- color: theme.palette.bursts.fontColor,
+ color: theme.page.fontColor,
},
breadcrumbType: {
fontSize: 'inherit',
diff --git a/packages/core-components/src/layout/ItemCard/ItemCardHeader.tsx b/packages/core-components/src/layout/ItemCard/ItemCardHeader.tsx
index a34d773ce3..d9443ffc9a 100644
--- a/packages/core-components/src/layout/ItemCard/ItemCardHeader.tsx
+++ b/packages/core-components/src/layout/ItemCard/ItemCardHeader.tsx
@@ -27,7 +27,7 @@ const styles = (theme: BackstageTheme) =>
root: {
color: theme.palette.common.white,
padding: theme.spacing(2, 2, 3),
- backgroundImage: theme.palette.bursts.gradient.linear,
+ backgroundImage: theme.getPageTheme({ themeId: 'card' }).backgroundImage,
backgroundPosition: 0,
backgroundSize: 'inherit',
},
diff --git a/packages/core-components/src/layout/Sidebar/MobileSidebar.tsx b/packages/core-components/src/layout/Sidebar/MobileSidebar.tsx
index b51e3cbc0d..c85e6d11f2 100644
--- a/packages/core-components/src/layout/Sidebar/MobileSidebar.tsx
+++ b/packages/core-components/src/layout/Sidebar/MobileSidebar.tsx
@@ -85,14 +85,14 @@ const useStyles = makeStyles(
overlayHeader: {
display: 'flex',
- color: theme.palette.bursts.fontColor,
+ color: theme.palette.text.primary,
alignItems: 'center',
justifyContent: 'space-between',
padding: theme.spacing(2, 3),
},
overlayHeaderClose: {
- color: theme.palette.bursts.fontColor,
+ color: theme.palette.text.primary,
},
marginMobileSidebar: props => ({
diff --git a/packages/core-plugin-api/package.json b/packages/core-plugin-api/package.json
index 5f468dba51..eb17f75285 100644
--- a/packages/core-plugin-api/package.json
+++ b/packages/core-plugin-api/package.json
@@ -46,9 +46,9 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
diff --git a/packages/create-app/CHANGELOG.md b/packages/create-app/CHANGELOG.md
index 77d36048ba..9ec1859289 100644
--- a/packages/create-app/CHANGELOG.md
+++ b/packages/create-app/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/create-app
+## 0.4.29-next.1
+
+### Patch Changes
+
+- Bumped create-app version.
+
## 0.4.29-next.0
### Patch Changes
diff --git a/packages/create-app/cli-report.md b/packages/create-app/cli-report.md
new file mode 100644
index 0000000000..1244432c6a
--- /dev/null
+++ b/packages/create-app/cli-report.md
@@ -0,0 +1,15 @@
+## CLI Report file for "@backstage/create-app"
+
+> Do not edit this file. It is a report generated by `yarn build:api-reports`
+
+### `backstage-create-app`
+
+```
+Usage: backstage-create-app [options]
+
+Options:
+ -V, --version
+ --path [directory]
+ --skip-install
+ -h, --help
+```
diff --git a/packages/create-app/package.json b/packages/create-app/package.json
index d67e7c6f54..381e975729 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.4.29-next.0",
+ "version": "0.4.29-next.1",
"private": false,
"publishConfig": {
"access": "public"
diff --git a/packages/create-app/src/createApp.ts b/packages/create-app/src/createApp.ts
index 824d1d967e..7cf589e5f8 100644
--- a/packages/create-app/src/createApp.ts
+++ b/packages/create-app/src/createApp.ts
@@ -49,6 +49,14 @@ export default async (opts: OptionValues): Promise => {
}
return true;
},
+ when: (a: Answers) => {
+ const envName = process.env.BACKSTAGE_APP_NAME;
+ if (envName) {
+ a.name = envName;
+ return false;
+ }
+ return true;
+ },
},
]);
diff --git a/packages/dev-utils/CHANGELOG.md b/packages/dev-utils/CHANGELOG.md
index 26aa5ce212..907c9f757d 100644
--- a/packages/dev-utils/CHANGELOG.md
+++ b/packages/dev-utils/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/dev-utils
+## 1.0.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/app-defaults@1.0.4-next.1
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/test-utils@1.1.2-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
## 1.0.4-next.0
### Patch Changes
diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json
index 8835aea7c6..c15e60d423 100644
--- a/packages/dev-utils/package.json
+++ b/packages/dev-utils/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/dev-utils",
"description": "Utilities for developing Backstage plugins.",
- "version": "1.0.4-next.0",
+ "version": "1.0.4-next.1",
"private": false,
"publishConfig": {
"access": "public",
@@ -33,15 +33,15 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/app-defaults": "^1.0.4-next.0",
+ "@backstage/app-defaults": "^1.0.4-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/integration-react": "^1.1.2-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/integration-react": "^1.1.2-next.1",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/theme": "^0.2.16-next.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@testing-library/jest-dom": "^5.10.1",
@@ -59,7 +59,7 @@
"react-dom": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/jest": "^26.0.7",
"@types/node": "^16.0.0"
},
diff --git a/packages/e2e-test/cli-report.md b/packages/e2e-test/cli-report.md
new file mode 100644
index 0000000000..3a3912b8fc
--- /dev/null
+++ b/packages/e2e-test/cli-report.md
@@ -0,0 +1,26 @@
+## CLI Report file for "e2e-test"
+
+> Do not edit this file. It is a report generated by `yarn build:api-reports`
+
+### `e2e-test`
+
+```
+Usage: e2e-test [options] [command]
+
+Options:
+ -V, --version
+ -h, --help
+
+Commands:
+ run
+ help [command]
+```
+
+### `e2e-test run`
+
+```
+Usage: e2e-test run [options]
+
+Options:
+ -h, --help
+```
diff --git a/packages/e2e-test/package.json b/packages/e2e-test/package.json
index 2de60f4db8..09ed0c3a48 100644
--- a/packages/e2e-test/package.json
+++ b/packages/e2e-test/package.json
@@ -30,7 +30,7 @@
},
"devDependencies": {
"@backstage/cli-common": "^0.1.9-next.0",
- "@backstage/errors": "^1.0.0",
+ "@backstage/errors": "^1.1.0-next.0",
"@types/fs-extra": "^9.0.1",
"@types/node": "^16.11.26",
"@types/puppeteer": "^5.4.4",
diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md
index 20f938370b..b7d912f5ab 100644
--- a/packages/errors/CHANGELOG.md
+++ b/packages/errors/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/errors
+## 1.1.0-next.0
+
+### Minor Changes
+
+- 6d61b44466: The `ResponseError.fromResponse` now accepts a more narrow response type, in order to avoid incompatibilities between different fetch implementations.
+
+ The `response` property of `ResponseError` has also been narrowed to a new `ConsumedResponse` type that omits all the properties for consuming the body of the response. This is not considered a breaking change as it was always an error to try to consume the body of the response.
+
## 1.0.0
### Major Changes
diff --git a/packages/errors/package.json b/packages/errors/package.json
index 849c451e84..01f1137eeb 100644
--- a/packages/errors/package.json
+++ b/packages/errors/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/errors",
"description": "Common utilities for error handling within Backstage",
- "version": "1.0.0",
+ "version": "1.1.0-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -38,7 +38,7 @@
"serialize-error": "^8.0.1"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/jest": "^26.0.7"
},
"files": [
diff --git a/packages/integration-react/CHANGELOG.md b/packages/integration-react/CHANGELOG.md
index 30326e1205..102fc3ea75 100644
--- a/packages/integration-react/CHANGELOG.md
+++ b/packages/integration-react/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/integration-react
+## 1.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/integration@1.2.2-next.1
+
## 1.1.2-next.0
### Patch Changes
diff --git a/packages/integration-react/package.json b/packages/integration-react/package.json
index ea87dfc724..6a0cfe3041 100644
--- a/packages/integration-react/package.json
+++ b/packages/integration-react/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/integration-react",
"description": "Frontend package for managing integrations towards external systems",
- "version": "1.1.2-next.0",
+ "version": "1.1.2-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -25,10 +25,10 @@
},
"dependencies": {
"@backstage/config": "^1.0.1",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/integration": "^1.2.2-next.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/theme": "^0.2.16-next.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -38,9 +38,9 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
diff --git a/packages/integration/CHANGELOG.md b/packages/integration/CHANGELOG.md
index 9a9b679b19..3db1b7c7b9 100644
--- a/packages/integration/CHANGELOG.md
+++ b/packages/integration/CHANGELOG.md
@@ -1,5 +1,12 @@
# @backstage/integration
+## 1.2.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.1.0-next.0
+
## 1.2.2-next.0
### Patch Changes
diff --git a/packages/integration/package.json b/packages/integration/package.json
index f103d63bbb..190031e473 100644
--- a/packages/integration/package.json
+++ b/packages/integration/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/integration",
"description": "Helpers for managing integrations towards external systems",
- "version": "1.2.2-next.0",
+ "version": "1.2.2-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,7 +34,7 @@
},
"dependencies": {
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
+ "@backstage/errors": "^1.1.0-next.0",
"cross-fetch": "^3.1.5",
"git-url-parse": "^11.6.0",
"@octokit/rest": "^18.5.3",
@@ -43,9 +43,9 @@
"lodash": "^4.17.21"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
- "@backstage/config-loader": "^1.1.2",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/config-loader": "^1.1.3-next.0",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@types/jest": "^26.0.7",
"@types/luxon": "^2.0.4",
"msw": "^0.42.0"
diff --git a/packages/techdocs-cli-embedded-app/CHANGELOG.md b/packages/techdocs-cli-embedded-app/CHANGELOG.md
index b6ce6d4a97..29a53625fc 100644
--- a/packages/techdocs-cli-embedded-app/CHANGELOG.md
+++ b/packages/techdocs-cli-embedded-app/CHANGELOG.md
@@ -1,5 +1,20 @@
# techdocs-cli-embedded-app
+## 0.2.72-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/cli@0.18.0-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/plugin-catalog@1.3.1-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-techdocs@1.2.1-next.1
+ - @backstage/app-defaults@1.0.4-next.1
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/test-utils@1.1.2-next.1
+
## 0.2.72-next.0
### Patch Changes
diff --git a/packages/techdocs-cli-embedded-app/package.json b/packages/techdocs-cli-embedded-app/package.json
index 959be03e52..fa4ec8a38c 100644
--- a/packages/techdocs-cli-embedded-app/package.json
+++ b/packages/techdocs-cli-embedded-app/package.json
@@ -1,25 +1,25 @@
{
"name": "techdocs-cli-embedded-app",
- "version": "0.2.72-next.0",
+ "version": "0.2.72-next.1",
"private": true,
"backstage": {
"role": "frontend"
},
"bundled": true,
"dependencies": {
- "@backstage/app-defaults": "^1.0.4-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/app-defaults": "^1.0.4-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/config": "^1.0.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/integration-react": "^1.1.2-next.0",
- "@backstage/plugin-catalog": "^1.3.1-next.0",
- "@backstage/plugin-techdocs": "^1.2.1-next.0",
+ "@backstage/integration-react": "^1.1.2-next.1",
+ "@backstage/plugin-catalog": "^1.3.1-next.1",
+ "@backstage/plugin-techdocs": "^1.2.1-next.1",
"@backstage/plugin-techdocs-react": "^1.0.2-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/theme": "^0.2.16-next.0",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
"history": "^5.0.0",
@@ -30,7 +30,7 @@
"react-use": "^17.2.4"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
diff --git a/packages/techdocs-cli/CHANGELOG.md b/packages/techdocs-cli/CHANGELOG.md
index aa1870d5da..3e66248276 100644
--- a/packages/techdocs-cli/CHANGELOG.md
+++ b/packages/techdocs-cli/CHANGELOG.md
@@ -1,5 +1,15 @@
# @techdocs/cli
+## 1.1.3-next.1
+
+### Patch Changes
+
+- a5d73da942: Fix the flag parsing for `legacyCopyReadmeMdToIndexMd` in `techdocs-cli generate` command, and decouple it's logic from the `techdocs-ref` flag.
+- Updated dependencies
+ - @backstage/plugin-techdocs-node@1.2.0-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+
## 1.1.3-next.0
### Patch Changes
diff --git a/packages/techdocs-cli/cli-report.md b/packages/techdocs-cli/cli-report.md
new file mode 100644
index 0000000000..64b5e9c090
--- /dev/null
+++ b/packages/techdocs-cli/cli-report.md
@@ -0,0 +1,117 @@
+## CLI Report file for "@techdocs/cli"
+
+> Do not edit this file. It is a report generated by `yarn build:api-reports`
+
+### `techdocs-cli`
+
+```
+Usage: techdocs-cli [options] [command]
+
+Options:
+ -V, --version
+ -h, --help
+
+Commands:
+ generate|build [options]
+ migrate [options]
+ publish [options]
+ serve:mkdocs [options]
+ serve [options]
+ help [command]
+```
+
+### `techdocs-cli generate`
+
+```
+Usage: techdocs-cli generate|build [options]
+
+Options:
+ --source-dir
+ --output-dir
+ --docker-image
+ --no-pull
+ --no-docker
+ --techdocs-ref
+ --etag
+ -v --verbose
+ --omitTechdocsCoreMkdocsPlugin
+ --legacyCopyReadmeMdToIndexMd
+ -h, --help
+```
+
+### `techdocs-cli migrate`
+
+```
+Usage: techdocs-cli migrate [options]
+
+Options:
+ --publisher-type
+ --storage-name
+ --azureAccountName
+ --azureAccountKey
+ --awsRoleArn
+ --awsEndpoint
+ --awsS3ForcePathStyle
+ --awsBucketRootPath
+ --osCredentialId
+ --osSecret
+ --osAuthUrl
+ --osSwiftUrl
+ --removeOriginal
+ --concurrency
+ -v --verbose
+ -h, --help
+```
+
+### `techdocs-cli publish`
+
+```
+Usage: techdocs-cli publish [options]
+
+Options:
+ --publisher-type
+ --storage-name
+ --entity
+ --legacyUseCaseSensitiveTripletPaths
+ --azureAccountName
+ --azureAccountKey
+ --awsRoleArn
+ --awsEndpoint
+ --awsS3sse
+ --awsS3ForcePathStyle
+ --osCredentialId
+ --osSecret
+ --osAuthUrl
+ --osSwiftUrl
+ --gcsBucketRootPath
+ --directory
+ -h, --help
+```
+
+### `techdocs-cli serve`
+
+```
+Usage: techdocs-cli serve [options]
+
+Options:
+ -i, --docker-image
+ --docker-entrypoint
+ --no-docker
+ --mkdocs-port
+ -v --verbose
+ -h, --help
+```
+
+### `techdocs-cli serve:mkdocs`
+
+```
+Usage: techdocs-cli serve:mkdocs [options]
+
+Options:
+ -i, --docker-image
+ --docker-entrypoint
+ --no-docker
+ -p, --port
+ -v --verbose
+ -h, --help
+```
diff --git a/packages/techdocs-cli/package.json b/packages/techdocs-cli/package.json
index 7f556a8dd7..00e254d10f 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.1.3-next.0",
+ "version": "1.1.3-next.1",
"private": false,
"publishConfig": {
"access": "public"
@@ -37,7 +37,7 @@
"techdocs-cli": "bin/techdocs-cli"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/commander": "^2.12.2",
"@types/fs-extra": "^9.0.6",
"@types/http-proxy": "^1.17.4",
@@ -62,11 +62,11 @@
"ext": "ts"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/cli-common": "^0.1.9",
"@backstage/config": "^1.0.1",
- "@backstage/plugin-techdocs-node": "^1.1.3-next.0",
+ "@backstage/plugin-techdocs-node": "^1.2.0-next.1",
"@types/dockerode": "^3.3.0",
"commander": "^9.1.0",
"dockerode": "^3.3.1",
diff --git a/packages/test-utils/CHANGELOG.md b/packages/test-utils/CHANGELOG.md
index 56bcd3ec62..adbb3cd7ac 100644
--- a/packages/test-utils/CHANGELOG.md
+++ b/packages/test-utils/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/test-utils
+## 1.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-permission-react@0.4.3-next.0
+
## 1.1.2-next.0
### Patch Changes
diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json
index 17886b76ce..1dfa7faf43 100644
--- a/packages/test-utils/package.json
+++ b/packages/test-utils/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/test-utils",
"description": "Utilities to test Backstage plugins and apps.",
- "version": "1.1.2-next.0",
+ "version": "1.1.2-next.1",
"private": false,
"publishConfig": {
"access": "public",
@@ -36,9 +36,9 @@
"@backstage/config": "^1.0.1",
"@backstage/core-app-api": "^1.0.4-next.0",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-permission-common": "^0.6.2",
- "@backstage/plugin-permission-react": "^0.4.2",
- "@backstage/theme": "^0.2.15",
+ "@backstage/plugin-permission-common": "^0.6.3-next.0",
+ "@backstage/plugin-permission-react": "^0.4.3-next.0",
+ "@backstage/theme": "^0.2.16-next.0",
"@backstage/types": "^1.0.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.11.2",
@@ -55,7 +55,7 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"msw": "^0.42.0"
diff --git a/packages/theme/CHANGELOG.md b/packages/theme/CHANGELOG.md
index 5c3e8cf5d6..15e9eb68cd 100644
--- a/packages/theme/CHANGELOG.md
+++ b/packages/theme/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/theme
+## 0.2.16-next.0
+
+### Patch Changes
+
+- 4c09c09102: Adds optional `htmlFontSize` property and also sets typography design tokens for h5 and h6 in base theme.
+
## 0.2.15
### Patch Changes
diff --git a/packages/theme/api-report.md b/packages/theme/api-report.md
index 772e868635..92958c9c7e 100644
--- a/packages/theme/api-report.md
+++ b/packages/theme/api-report.md
@@ -116,7 +116,13 @@ export function createThemeOverrides(theme: BackstageTheme): Overrides;
export const darkTheme: BackstageTheme;
// @public
-export function genPageTheme(colors: string[], shape: string): PageTheme;
+export function genPageTheme(props: {
+ colors: string[];
+ shape: string;
+ options?: {
+ fontColor?: string;
+ };
+}): PageTheme;
// @public
export const lightTheme: BackstageTheme;
@@ -126,6 +132,7 @@ export type PageTheme = {
colors: string[];
shape: string;
backgroundImage: string;
+ fontColor: string;
};
// @public
diff --git a/packages/theme/package.json b/packages/theme/package.json
index 0e4d26fbea..a3ff37538c 100644
--- a/packages/theme/package.json
+++ b/packages/theme/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/theme",
"description": "material-ui theme for use with Backstage.",
- "version": "0.2.15",
+ "version": "0.2.16-next.0",
"private": false,
"publishConfig": {
"access": "public",
@@ -36,7 +36,7 @@
"@material-ui/core": "^4.12.2"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0"
+ "@backstage/cli": "^0.18.0-next.1"
},
"files": [
"dist"
diff --git a/packages/theme/src/pageTheme.ts b/packages/theme/src/pageTheme.ts
index ae81dc8534..5b5eb24be9 100644
--- a/packages/theme/src/pageTheme.ts
+++ b/packages/theme/src/pageTheme.ts
@@ -52,6 +52,7 @@ export const colorVariants: Record = {
eveningSea: ['#00FFF2', '#035355'],
teal: ['#005B4B'],
pinkSea: ['#C8077A', '#C2297D'],
+ greens: ['#4BB8A5', '#187656'],
};
/**
@@ -63,12 +64,25 @@ export const colorVariants: Record = {
* As the background shapes and colors are decorative, we place them onto the
* page as a css background-image instead of an html element of its own.
*/
-export function genPageTheme(colors: string[], shape: string): PageTheme {
+export function genPageTheme(props: {
+ colors: string[];
+ shape: string;
+ options?: {
+ fontColor?: string;
+ };
+}): PageTheme {
+ const { colors, shape, options } = props;
const gradientColors = colors.length === 1 ? [colors[0], colors[0]] : colors;
const gradient = `linear-gradient(90deg, ${gradientColors.join(', ')})`;
const backgroundImage = `${shape}, ${gradient}`;
+ const fontColor = options?.fontColor ?? '#FFFFFF';
- return { colors, shape, backgroundImage };
+ return {
+ colors: colors,
+ shape: shape,
+ backgroundImage: backgroundImage,
+ fontColor: fontColor,
+ };
}
/**
@@ -77,13 +91,20 @@ export function genPageTheme(colors: string[], shape: string): PageTheme {
* @public
*/
export const pageTheme: Record = {
- home: genPageTheme(colorVariants.teal, shapes.wave),
- documentation: genPageTheme(colorVariants.pinkSea, shapes.wave2),
- tool: genPageTheme(colorVariants.purpleSky, shapes.round),
- service: genPageTheme(colorVariants.marineBlue, shapes.wave),
- website: genPageTheme(colorVariants.veryBlue, shapes.wave),
- library: genPageTheme(colorVariants.rubyRed, shapes.wave),
- other: genPageTheme(colorVariants.darkGrey, shapes.wave),
- app: genPageTheme(colorVariants.toastyOrange, shapes.wave),
- apis: genPageTheme(colorVariants.teal, shapes.wave2),
+ home: genPageTheme({ colors: colorVariants.teal, shape: shapes.wave }),
+ documentation: genPageTheme({
+ colors: colorVariants.pinkSea,
+ shape: shapes.wave2,
+ }),
+ tool: genPageTheme({ colors: colorVariants.purpleSky, shape: shapes.round }),
+ service: genPageTheme({
+ colors: colorVariants.marineBlue,
+ shape: shapes.wave,
+ }),
+ website: genPageTheme({ colors: colorVariants.veryBlue, shape: shapes.wave }),
+ library: genPageTheme({ colors: colorVariants.rubyRed, shape: shapes.wave }),
+ other: genPageTheme({ colors: colorVariants.darkGrey, shape: shapes.wave }),
+ app: genPageTheme({ colors: colorVariants.toastyOrange, shape: shapes.wave }),
+ apis: genPageTheme({ colors: colorVariants.teal, shape: shapes.wave2 }),
+ card: genPageTheme({ colors: colorVariants.greens, shape: shapes.wave }),
};
diff --git a/packages/theme/src/types.ts b/packages/theme/src/types.ts
index b921154005..96b7c54f9b 100644
--- a/packages/theme/src/types.ts
+++ b/packages/theme/src/types.ts
@@ -63,6 +63,9 @@ export type BackstagePaletteAdditions = {
tabbar: {
indicator: string;
};
+ /**
+ * @deprecated The entire `bursts` section will be removed in a future release
+ */
bursts: {
fontColor: string;
slackChannelText: string;
@@ -161,4 +164,5 @@ export type PageTheme = {
colors: string[];
shape: string;
backgroundImage: string;
+ fontColor: string;
};
diff --git a/packages/types/package.json b/packages/types/package.json
index 9d26ee25e7..d1410631bd 100644
--- a/packages/types/package.json
+++ b/packages/types/package.json
@@ -34,7 +34,7 @@
},
"dependencies": {},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/zen-observable": "^0.8.0",
"zen-observable": "^0.8.15"
},
diff --git a/packages/version-bridge/package.json b/packages/version-bridge/package.json
index 357350bef7..4b9ce2ed11 100644
--- a/packages/version-bridge/package.json
+++ b/packages/version-bridge/package.json
@@ -37,7 +37,7 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0"
diff --git a/plugins/adr-backend/CHANGELOG.md b/plugins/adr-backend/CHANGELOG.md
index 8262032252..15a0519010 100644
--- a/plugins/adr-backend/CHANGELOG.md
+++ b/plugins/adr-backend/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-adr-backend
+## 0.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/plugin-adr-common@0.1.2-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+
## 0.1.2-next.0
### Patch Changes
diff --git a/plugins/adr-backend/package.json b/plugins/adr-backend/package.json
index 7ed696a650..1a42f7ff03 100644
--- a/plugins/adr-backend/package.json
+++ b/plugins/adr-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-adr-backend",
- "version": "0.1.2-next.0",
+ "version": "0.1.2-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -29,14 +29,14 @@
"postpack": "backstage-cli package postpack"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/catalog-client": "^1.0.4-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/catalog-client": "^1.0.4-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
- "@backstage/integration": "^1.2.2-next.0",
- "@backstage/plugin-adr-common": "^0.1.2-next.0",
- "@backstage/plugin-search-common": "^0.3.5",
+ "@backstage/errors": "^1.1.0-next.0",
+ "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/plugin-adr-common": "^0.1.2-next.1",
+ "@backstage/plugin-search-common": "^0.3.6-next.0",
"luxon": "^2.0.2",
"marked": "^4.0.14",
"winston": "^3.2.1",
@@ -44,7 +44,7 @@
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/marked": "^4.0.0",
"@types/supertest": "^2.0.8",
"supertest": "^6.1.3",
diff --git a/plugins/adr-common/CHANGELOG.md b/plugins/adr-common/CHANGELOG.md
index 07bbac4e8e..e07697118c 100644
--- a/plugins/adr-common/CHANGELOG.md
+++ b/plugins/adr-common/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-adr-common
+## 0.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+
## 0.1.2-next.0
### Patch Changes
diff --git a/plugins/adr-common/package.json b/plugins/adr-common/package.json
index fee09a03e1..a0567fb5b8 100644
--- a/plugins/adr-common/package.json
+++ b/plugins/adr-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-adr-common",
"description": "Common functionalities for the adr plugin",
- "version": "0.1.2-next.0",
+ "version": "0.1.2-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -30,12 +30,12 @@
"postpack": "backstage-cli package postpack"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.0",
- "@backstage/plugin-search-common": "^0.3.5"
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/plugin-search-common": "^0.3.6-next.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0"
+ "@backstage/cli": "^0.18.0-next.1"
},
"files": [
"dist"
diff --git a/plugins/adr/CHANGELOG.md b/plugins/adr/CHANGELOG.md
index 7d0e47a5f1..fc8b859ec5 100644
--- a/plugins/adr/CHANGELOG.md
+++ b/plugins/adr/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-adr
+## 0.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/plugin-adr-common@0.1.2-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+ - @backstage/plugin-search-react@0.2.2-next.1
+
## 0.1.2-next.0
### Patch Changes
diff --git a/plugins/adr/package.json b/plugins/adr/package.json
index 4bff140277..60a3c594e5 100644
--- a/plugins/adr/package.json
+++ b/plugins/adr/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-adr",
- "version": "0.1.2-next.0",
+ "version": "0.1.2-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -22,14 +22,14 @@
"postpack": "backstage-cli package postpack"
},
"dependencies": {
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/integration-react": "^1.1.2-next.0",
- "@backstage/plugin-adr-common": "^0.1.2-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.0",
- "@backstage/plugin-search-common": "^0.3.5",
- "@backstage/plugin-search-react": "^0.2.2-next.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/integration-react": "^1.1.2-next.1",
+ "@backstage/plugin-adr-common": "^0.1.2-next.1",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.1",
+ "@backstage/plugin-search-common": "^0.3.6-next.0",
+ "@backstage/plugin-search-react": "^0.2.2-next.1",
+ "@backstage/theme": "^0.2.16-next.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -44,10 +44,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
diff --git a/plugins/airbrake-backend/package.json b/plugins/airbrake-backend/package.json
index 979137cbff..da6cdcbfef 100644
--- a/plugins/airbrake-backend/package.json
+++ b/plugins/airbrake-backend/package.json
@@ -22,7 +22,7 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
"@backstage/config": "^1.0.1",
"@types/express": "*",
"express": "^4.17.1",
@@ -33,7 +33,7 @@
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/http-proxy-middleware": "^0.19.3",
"@types/supertest": "^2.0.8",
"supertest": "^6.1.6",
diff --git a/plugins/airbrake/CHANGELOG.md b/plugins/airbrake/CHANGELOG.md
index b1a86b6e22..f8b683bf5a 100644
--- a/plugins/airbrake/CHANGELOG.md
+++ b/plugins/airbrake/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-airbrake
+## 0.3.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/dev-utils@1.0.4-next.1
+ - @backstage/test-utils@1.1.2-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
## 0.3.7-next.0
### Patch Changes
diff --git a/plugins/airbrake/package.json b/plugins/airbrake/package.json
index 755e99c522..00554efeee 100644
--- a/plugins/airbrake/package.json
+++ b/plugins/airbrake/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-airbrake",
- "version": "0.3.7-next.0",
+ "version": "0.3.7-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -23,13 +23,13 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/theme": "^0.2.16-next.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -40,10 +40,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/app-defaults": "^1.0.4-next.0",
- "@backstage/cli": "^0.17.3-next.0",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/app-defaults": "^1.0.4-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
diff --git a/plugins/allure/CHANGELOG.md b/plugins/allure/CHANGELOG.md
index 06f84b5f42..d1cce9b7ef 100644
--- a/plugins/allure/CHANGELOG.md
+++ b/plugins/allure/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-allure
+## 0.1.23-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
## 0.1.23-next.0
### Patch Changes
diff --git a/plugins/allure/package.json b/plugins/allure/package.json
index 2499a70f28..a576aa8f9b 100644
--- a/plugins/allure/package.json
+++ b/plugins/allure/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-allure",
"description": "A Backstage plugin that integrates with Allure",
- "version": "0.1.23-next.0",
+ "version": "0.1.23-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -25,11 +25,11 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.1",
+ "@backstage/theme": "^0.2.16-next.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -40,10 +40,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
diff --git a/plugins/analytics-module-ga/CHANGELOG.md b/plugins/analytics-module-ga/CHANGELOG.md
index d9fe0e6c0d..23f583473d 100644
--- a/plugins/analytics-module-ga/CHANGELOG.md
+++ b/plugins/analytics-module-ga/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-analytics-module-ga
+## 0.1.18-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/theme@0.2.16-next.0
+
## 0.1.18-next.0
### Patch Changes
diff --git a/plugins/analytics-module-ga/package.json b/plugins/analytics-module-ga/package.json
index 0b137d5a44..e7bae29f51 100644
--- a/plugins/analytics-module-ga/package.json
+++ b/plugins/analytics-module-ga/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-analytics-module-ga",
- "version": "0.1.18-next.0",
+ "version": "0.1.18-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -25,9 +25,9 @@
},
"dependencies": {
"@backstage/config": "^1.0.1",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/theme": "^0.2.15",
+ "@backstage/theme": "^0.2.16-next.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -38,10 +38,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
diff --git a/plugins/apache-airflow/CHANGELOG.md b/plugins/apache-airflow/CHANGELOG.md
index 73c1c2ae18..a27c58192e 100644
--- a/plugins/apache-airflow/CHANGELOG.md
+++ b/plugins/apache-airflow/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-apache-airflow
+## 0.2.0-next.1
+
+### Minor Changes
+
+- 01f976ea72: Exposed DagTableComponent as standalone component + added a prop to get only select DAGs instead of the full list
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+
## 0.1.15-next.0
### Patch Changes
diff --git a/plugins/apache-airflow/package.json b/plugins/apache-airflow/package.json
index 63f444075e..a880942750 100644
--- a/plugins/apache-airflow/package.json
+++ b/plugins/apache-airflow/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-apache-airflow",
- "version": "0.1.15-next.0",
+ "version": "0.2.0-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -23,7 +23,7 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -36,10 +36,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
diff --git a/plugins/api-docs-module-protoc-gen-doc/package.json b/plugins/api-docs-module-protoc-gen-doc/package.json
index 2ce03b5803..00409845d0 100644
--- a/plugins/api-docs-module-protoc-gen-doc/package.json
+++ b/plugins/api-docs-module-protoc-gen-doc/package.json
@@ -37,7 +37,7 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@testing-library/jest-dom": "^5.16.4",
"@types/react": "^16.13.1 || ^17.0.0"
},
diff --git a/plugins/api-docs/CHANGELOG.md b/plugins/api-docs/CHANGELOG.md
index f5998235ca..b4ebf48607 100644
--- a/plugins/api-docs/CHANGELOG.md
+++ b/plugins/api-docs/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-api-docs
+## 0.8.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/plugin-catalog@1.3.1-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
## 0.8.7-next.0
### Patch Changes
diff --git a/plugins/api-docs/package.json b/plugins/api-docs/package.json
index 9db7530f84..8b4f80fa3f 100644
--- a/plugins/api-docs/package.json
+++ b/plugins/api-docs/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-api-docs",
"description": "A Backstage plugin that helps represent API entities in the frontend",
- "version": "0.8.7-next.0",
+ "version": "0.8.7-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,12 +34,12 @@
},
"dependencies": {
"@asyncapi/react-component": "1.0.0-next.38",
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog": "^1.3.1-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/plugin-catalog": "^1.3.1-next.1",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.1",
+ "@backstage/theme": "^0.2.16-next.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -57,10 +57,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
diff --git a/plugins/api-docs/src/components/ApiExplorerPage/DefaultApiExplorerPage.tsx b/plugins/api-docs/src/components/ApiExplorerPage/DefaultApiExplorerPage.tsx
index 9fc6b2c3c2..b0acd3567c 100644
--- a/plugins/api-docs/src/components/ApiExplorerPage/DefaultApiExplorerPage.tsx
+++ b/plugins/api-docs/src/components/ApiExplorerPage/DefaultApiExplorerPage.tsx
@@ -40,6 +40,7 @@ import React from 'react';
import { registerComponentRouteRef } from '../../routes';
const defaultColumns: TableColumn[] = [
+ CatalogTable.columns.createTitleColumn({ hidden: true }),
CatalogTable.columns.createNameColumn({ defaultKind: 'API' }),
CatalogTable.columns.createSystemColumn(),
CatalogTable.columns.createOwnerColumn(),
diff --git a/plugins/app-backend/CHANGELOG.md b/plugins/app-backend/CHANGELOG.md
index aa3baa77da..cf84f54fb0 100644
--- a/plugins/app-backend/CHANGELOG.md
+++ b/plugins/app-backend/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-app-backend
+## 0.3.34-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/config-loader@1.1.3-next.0
+
## 0.3.34-next.0
### Patch Changes
diff --git a/plugins/app-backend/package.json b/plugins/app-backend/package.json
index 173b15c80c..b76c4c00dd 100644
--- a/plugins/app-backend/package.json
+++ b/plugins/app-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-app-backend",
"description": "A Backstage backend plugin that serves the Backstage frontend app",
- "version": "0.3.34-next.0",
+ "version": "0.3.34-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,8 +33,8 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/config-loader": "^1.1.2",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/config-loader": "^1.1.3-next.0",
"@backstage/config": "^1.0.1",
"@backstage/types": "^1.0.0",
"@types/express": "^4.17.6",
@@ -43,15 +43,15 @@
"express-promise-router": "^4.1.0",
"fs-extra": "10.1.0",
"helmet": "^5.0.2",
- "knex": "^1.0.2",
+ "knex": "^2.0.0",
"lodash": "^4.17.21",
"luxon": "^2.0.2",
"winston": "^3.2.1",
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.0",
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/backend-test-utils": "^0.1.26-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/types": "^1.0.0",
"@types/supertest": "^2.0.8",
"mock-fs": "^5.1.0",
diff --git a/plugins/auth-backend/CHANGELOG.md b/plugins/auth-backend/CHANGELOG.md
index 00c8669c4d..4b0da94dad 100644
--- a/plugins/auth-backend/CHANGELOG.md
+++ b/plugins/auth-backend/CHANGELOG.md
@@ -1,5 +1,27 @@
# @backstage/plugin-auth-backend
+## 0.15.0-next.1
+
+### Minor Changes
+
+- 9d4040777e: **BREAKING**: Removed all directly exported auth provider factories, option types, and sign-in resolvers. For example: `AwsAlbProviderOptions`, `bitbucketUserIdSignInResolver`, `createGithubProvider`. These are all still accessible via the `providers` export. For example, use `providers.github.create()` rather than `createGithubProvider()`, and `providers.bitbucket.resolvers.userIdMatchingUserEntityAnnotation()` rather than `bitbucketUserIdSignInResolver`.
+
+ **BREAKING**: Removed the exported `AuthProviderFactoryOptions` type as well as the deprecated option fields of the `AuthProviderFactory` callback. This includes the `tokenManager`, `tokenIssuer`, `discovery`, and `catalogApi` fields. Existing usage of these should be replaced with the new utilities in the `resolverContext` field. The deprecated `TokenIssuer` type is now also removed, since it is no longer used.
+
+ **BREAKING**: Removed `getEntityClaims`, use `getDefaultOwnershipEntityRefs` instead.
+
+ **DEPRECATION**: Deprecated `AtlassianAuthProvider` as it was unintentionally exported.
+
+### Patch Changes
+
+- f2cf79d62e: Added an option for the auth backend router to select the algorithm for the JWT token signing keys
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/plugin-auth-node@0.2.3-next.1
+
## 0.14.2-next.0
### Patch Changes
diff --git a/plugins/auth-backend/api-report.md b/plugins/auth-backend/api-report.md
index 9e567cc6ab..d216545bd4 100644
--- a/plugins/auth-backend/api-report.md
+++ b/plugins/auth-backend/api-report.md
@@ -650,6 +650,8 @@ export interface RouterOptions {
// (undocumented)
providerFactories?: ProviderFactories;
// (undocumented)
+ tokenFactoryAlgorithm?: string;
+ // (undocumented)
tokenManager: TokenManager;
}
diff --git a/plugins/auth-backend/package.json b/plugins/auth-backend/package.json
index c1fe319e3c..624899c38f 100644
--- a/plugins/auth-backend/package.json
+++ b/plugins/auth-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-auth-backend",
"description": "A Backstage backend plugin that handles authentication",
- "version": "0.14.2-next.0",
+ "version": "0.15.0-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,12 +33,12 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/plugin-auth-node": "^0.2.3-next.0",
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/catalog-client": "^1.0.4-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/plugin-auth-node": "^0.2.3-next.1",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/catalog-client": "^1.0.4-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
+ "@backstage/errors": "^1.1.0-next.0",
"@backstage/types": "^1.0.0",
"@google-cloud/firestore": "^5.0.2",
"@types/express": "^4.17.6",
@@ -53,7 +53,7 @@
"google-auth-library": "^8.0.0",
"jose": "^4.6.0",
"jwt-decode": "^3.1.0",
- "knex": "^1.0.2",
+ "knex": "^2.0.0",
"lodash": "^4.17.21",
"luxon": "^2.0.2",
"minimatch": "^5.0.0",
@@ -76,8 +76,8 @@
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.0",
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/backend-test-utils": "^0.1.26-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/body-parser": "^1.19.0",
"@types/cookie-parser": "^1.4.2",
"@types/express-session": "^1.17.2",
diff --git a/plugins/auth-backend/src/service/router.ts b/plugins/auth-backend/src/service/router.ts
index 50577ece53..2232eeaa81 100644
--- a/plugins/auth-backend/src/service/router.ts
+++ b/plugins/auth-backend/src/service/router.ts
@@ -44,6 +44,7 @@ export interface RouterOptions {
config: Config;
discovery: PluginEndpointDiscovery;
tokenManager: TokenManager;
+ tokenFactoryAlgorithm?: string;
providerFactories?: ProviderFactories;
}
@@ -56,6 +57,7 @@ export async function createRouter(
discovery,
database,
tokenManager,
+ tokenFactoryAlgorithm,
providerFactories,
} = options;
const router = Router();
@@ -71,6 +73,7 @@ export async function createRouter(
keyStore,
keyDurationSeconds,
logger: logger.child({ component: 'token-factory' }),
+ algorithm: tokenFactoryAlgorithm,
});
const catalogApi = new CatalogClient({ discoveryApi: discovery });
diff --git a/plugins/auth-node/CHANGELOG.md b/plugins/auth-node/CHANGELOG.md
index 68fef0b00d..43bf44ac8e 100644
--- a/plugins/auth-node/CHANGELOG.md
+++ b/plugins/auth-node/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-auth-node
+## 0.2.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+
## 0.2.3-next.0
### Patch Changes
diff --git a/plugins/auth-node/package.json b/plugins/auth-node/package.json
index bac48aa559..ad67eefefc 100644
--- a/plugins/auth-node/package.json
+++ b/plugins/auth-node/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-auth-node",
- "version": "0.2.3-next.0",
+ "version": "0.2.3-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -23,15 +23,15 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
+ "@backstage/errors": "^1.1.0-next.0",
"jose": "^4.6.0",
"node-fetch": "^2.6.7",
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"lodash": "^4.17.21",
"msw": "^0.42.0",
"uuid": "^8.0.0"
diff --git a/plugins/azure-devops-backend/package.json b/plugins/azure-devops-backend/package.json
index d0fd5eaf80..2126bfced7 100644
--- a/plugins/azure-devops-backend/package.json
+++ b/plugins/azure-devops-backend/package.json
@@ -23,7 +23,7 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
"@backstage/config": "^1.0.1",
"@backstage/plugin-azure-devops-common": "^0.2.3",
"@types/express": "^4.17.6",
@@ -35,7 +35,7 @@
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/supertest": "^2.0.8",
"supertest": "^6.1.6",
"msw": "^0.42.0"
diff --git a/plugins/azure-devops-common/package.json b/plugins/azure-devops-common/package.json
index 2e39961ca8..f0f137ac52 100644
--- a/plugins/azure-devops-common/package.json
+++ b/plugins/azure-devops-common/package.json
@@ -32,7 +32,7 @@
"clean": "backstage-cli package clean"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0"
+ "@backstage/cli": "^0.18.0-next.1"
},
"files": [
"dist"
diff --git a/plugins/azure-devops/CHANGELOG.md b/plugins/azure-devops/CHANGELOG.md
index 297dc81883..32b7ee5a25 100644
--- a/plugins/azure-devops/CHANGELOG.md
+++ b/plugins/azure-devops/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-azure-devops
+## 0.1.23-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
## 0.1.23-next.0
### Patch Changes
diff --git a/plugins/azure-devops/package.json b/plugins/azure-devops/package.json
index 5375737866..d96ccbea29 100644
--- a/plugins/azure-devops/package.json
+++ b/plugins/azure-devops/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-azure-devops",
- "version": "0.1.23-next.0",
+ "version": "0.1.23-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -30,13 +30,13 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/errors": "^1.0.0",
+ "@backstage/errors": "^1.1.0-next.0",
"@backstage/plugin-azure-devops-common": "^0.2.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.1",
+ "@backstage/theme": "^0.2.16-next.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -49,10 +49,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
diff --git a/plugins/badges-backend/CHANGELOG.md b/plugins/badges-backend/CHANGELOG.md
index 6f69cf8662..02729eb7c8 100644
--- a/plugins/badges-backend/CHANGELOG.md
+++ b/plugins/badges-backend/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-badges-backend
+## 0.1.28-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+
## 0.1.28-next.0
### Patch Changes
diff --git a/plugins/badges-backend/package.json b/plugins/badges-backend/package.json
index b7a727c3b0..26a11c98b1 100644
--- a/plugins/badges-backend/package.json
+++ b/plugins/badges-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-badges-backend",
"description": "A Backstage backend plugin that generates README badges for your entities",
- "version": "0.1.28-next.0",
+ "version": "0.1.28-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,11 +34,11 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/catalog-client": "^1.0.4-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/catalog-client": "^1.0.4-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
+ "@backstage/errors": "^1.1.0-next.0",
"@types/express": "^4.17.6",
"badge-maker": "^3.3.0",
"cors": "^2.8.5",
@@ -48,7 +48,7 @@
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/supertest": "^2.0.8",
"supertest": "^6.1.3"
},
diff --git a/plugins/badges/CHANGELOG.md b/plugins/badges/CHANGELOG.md
index 0d789f0f3d..41d41c9855 100644
--- a/plugins/badges/CHANGELOG.md
+++ b/plugins/badges/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-badges
+## 0.2.31-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
## 0.2.31-next.0
### Patch Changes
diff --git a/plugins/badges/package.json b/plugins/badges/package.json
index c12aedee98..2b58487932 100644
--- a/plugins/badges/package.json
+++ b/plugins/badges/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-badges",
"description": "A Backstage plugin that generates README badges for your entities",
- "version": "0.2.31-next.0",
+ "version": "0.2.31-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -30,12 +30,12 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/errors": "^1.0.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/errors": "^1.1.0-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.1",
+ "@backstage/theme": "^0.2.16-next.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -46,10 +46,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
diff --git a/plugins/bazaar-backend/package.json b/plugins/bazaar-backend/package.json
index c0769fe5b8..08e39852f5 100644
--- a/plugins/bazaar-backend/package.json
+++ b/plugins/bazaar-backend/package.json
@@ -23,18 +23,18 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/backend-test-utils": "^0.1.26-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-test-utils": "^0.1.26-next.1",
"@backstage/config": "^1.0.1",
"@types/express": "^4.17.6",
"express": "^4.17.1",
"express-promise-router": "^4.1.0",
- "knex": "^1.0.2",
+ "knex": "^2.0.0",
"winston": "^3.2.1",
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0"
+ "@backstage/cli": "^0.18.0-next.1"
},
"files": [
"dist",
diff --git a/plugins/bazaar/CHANGELOG.md b/plugins/bazaar/CHANGELOG.md
index 577b50f11e..864a5eb017 100644
--- a/plugins/bazaar/CHANGELOG.md
+++ b/plugins/bazaar/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-bazaar
+## 0.1.22-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/cli@0.18.0-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/plugin-catalog@1.3.1-next.1
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
## 0.1.22-next.0
### Patch Changes
diff --git a/plugins/bazaar/package.json b/plugins/bazaar/package.json
index 5f16d8a9bc..bbc5919e12 100644
--- a/plugins/bazaar/package.json
+++ b/plugins/bazaar/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-bazaar",
- "version": "0.1.22-next.0",
+ "version": "0.1.22-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -24,13 +24,13 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-client": "^1.0.4-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/cli": "^0.17.3-next.0",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/catalog-client": "^1.0.4-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog": "^1.3.1-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.0",
+ "@backstage/plugin-catalog": "^1.3.1-next.1",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.1",
"@date-io/luxon": "1.x",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -47,8 +47,8 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
- "@backstage/dev-utils": "^1.0.4-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.1",
"@testing-library/jest-dom": "^5.10.1",
"cross-fetch": "^3.1.5"
},
diff --git a/plugins/bitbucket-cloud-common/package.json b/plugins/bitbucket-cloud-common/package.json
index 46ec37791c..c84303fece 100644
--- a/plugins/bitbucket-cloud-common/package.json
+++ b/plugins/bitbucket-cloud-common/package.json
@@ -28,11 +28,11 @@
"update-models": "yarn refresh-schema && yarn generate-models && yarn reduce-models"
},
"dependencies": {
- "@backstage/integration": "^1.2.2-next.0",
+ "@backstage/integration": "^1.2.2-next.1",
"cross-fetch": "^3.1.5"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@openapitools/openapi-generator-cli": "^2.4.26",
"msw": "^0.42.0",
"ts-morph": "^15.0.0"
diff --git a/plugins/bitrise/CHANGELOG.md b/plugins/bitrise/CHANGELOG.md
index 86662fdeba..0ef9d10bea 100644
--- a/plugins/bitrise/CHANGELOG.md
+++ b/plugins/bitrise/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-bitrise
+## 0.1.34-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
## 0.1.34-next.0
### Patch Changes
diff --git a/plugins/bitrise/package.json b/plugins/bitrise/package.json
index a42a513fbf..f8f96be603 100644
--- a/plugins/bitrise/package.json
+++ b/plugins/bitrise/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-bitrise",
"description": "A Backstage plugin that integrates towards Bitrise",
- "version": "0.1.34-next.0",
+ "version": "0.1.34-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -24,11 +24,11 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.1",
+ "@backstage/theme": "^0.2.16-next.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -43,10 +43,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
diff --git a/plugins/catalog-backend-module-aws/CHANGELOG.md b/plugins/catalog-backend-module-aws/CHANGELOG.md
index 28bd008062..2f200dd9b1 100644
--- a/plugins/catalog-backend-module-aws/CHANGELOG.md
+++ b/plugins/catalog-backend-module-aws/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-catalog-backend-module-aws
+## 0.1.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/integration@1.2.2-next.1
+
## 0.1.7-next.0
### Patch Changes
diff --git a/plugins/catalog-backend-module-aws/package.json b/plugins/catalog-backend-module-aws/package.json
index 1a825a397d..c768bbe9e4 100644
--- a/plugins/catalog-backend-module-aws/package.json
+++ b/plugins/catalog-backend-module-aws/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-aws",
"description": "A Backstage catalog backend module that helps integrate towards AWS",
- "version": "0.1.7-next.0",
+ "version": "0.1.7-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,13 +33,13 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/backend-tasks": "^0.3.3-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-tasks": "^0.3.3-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
- "@backstage/integration": "^1.2.2-next.0",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.0",
+ "@backstage/errors": "^1.1.0-next.0",
+ "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
"@backstage/types": "^1.0.0",
"aws-sdk": "^2.840.0",
"lodash": "^4.17.21",
@@ -48,7 +48,7 @@
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/lodash": "^4.14.151",
"aws-sdk-mock": "^5.2.1",
"yaml": "^1.9.2"
diff --git a/plugins/catalog-backend-module-azure/CHANGELOG.md b/plugins/catalog-backend-module-azure/CHANGELOG.md
index b39064e4e5..f9c2eeb6ce 100644
--- a/plugins/catalog-backend-module-azure/CHANGELOG.md
+++ b/plugins/catalog-backend-module-azure/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-catalog-backend-module-azure
+## 0.1.5-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/integration@1.2.2-next.1
+
## 0.1.5-next.0
### Patch Changes
diff --git a/plugins/catalog-backend-module-azure/package.json b/plugins/catalog-backend-module-azure/package.json
index 3e244dc913..4cb1639a36 100644
--- a/plugins/catalog-backend-module-azure/package.json
+++ b/plugins/catalog-backend-module-azure/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-azure",
"description": "A Backstage catalog backend module that helps integrate towards Azure",
- "version": "0.1.5-next.0",
+ "version": "0.1.5-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,13 +33,13 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/backend-tasks": "^0.3.3-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/backend-tasks": "^0.3.3-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
- "@backstage/integration": "^1.2.2-next.0",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.0",
+ "@backstage/errors": "^1.1.0-next.0",
+ "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
"@backstage/types": "^1.0.0",
"lodash": "^4.17.21",
"msw": "^0.42.0",
@@ -48,8 +48,8 @@
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.0",
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/backend-test-utils": "^0.1.26-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/lodash": "^4.14.151"
},
"files": [
diff --git a/plugins/catalog-backend-module-bitbucket-cloud/package.json b/plugins/catalog-backend-module-bitbucket-cloud/package.json
index d55e8d9c8f..663c0b37fe 100644
--- a/plugins/catalog-backend-module-bitbucket-cloud/package.json
+++ b/plugins/catalog-backend-module-bitbucket-cloud/package.json
@@ -33,18 +33,18 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-tasks": "^0.3.3-next.0",
+ "@backstage/backend-tasks": "^0.3.3-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/integration": "^1.2.2-next.0",
+ "@backstage/integration": "^1.2.2-next.1",
"@backstage/plugin-bitbucket-cloud-common": "^0.1.1-next.0",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.0",
+ "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
"uuid": "^8.0.0",
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/backend-test-utils": "^0.1.26-next.0",
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-test-utils": "^0.1.26-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
"msw": "^0.42.0"
},
"files": [
diff --git a/plugins/catalog-backend-module-bitbucket/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket/CHANGELOG.md
index 225e2cda88..a920827973 100644
--- a/plugins/catalog-backend-module-bitbucket/CHANGELOG.md
+++ b/plugins/catalog-backend-module-bitbucket/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-catalog-backend-module-bitbucket
+## 0.2.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/integration@1.2.2-next.1
+
## 0.2.1-next.0
### Patch Changes
diff --git a/plugins/catalog-backend-module-bitbucket/package.json b/plugins/catalog-backend-module-bitbucket/package.json
index d7df9542a6..56b0c16eec 100644
--- a/plugins/catalog-backend-module-bitbucket/package.json
+++ b/plugins/catalog-backend-module-bitbucket/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-bitbucket",
"description": "A Backstage catalog backend module that helps integrate towards Bitbucket",
- "version": "0.2.1-next.0",
+ "version": "0.2.1-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,13 +33,13 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
- "@backstage/integration": "^1.2.2-next.0",
+ "@backstage/errors": "^1.1.0-next.0",
+ "@backstage/integration": "^1.2.2-next.1",
"@backstage/plugin-bitbucket-cloud-common": "^0.1.1-next.0",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.0",
+ "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
"@backstage/types": "^1.0.0",
"lodash": "^4.17.21",
"msw": "^0.42.0",
@@ -47,8 +47,8 @@
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.0",
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/backend-test-utils": "^0.1.26-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/lodash": "^4.14.151"
},
"files": [
diff --git a/plugins/catalog-backend-module-gerrit/CHANGELOG.md b/plugins/catalog-backend-module-gerrit/CHANGELOG.md
index 483ff47997..c55973d568 100644
--- a/plugins/catalog-backend-module-gerrit/CHANGELOG.md
+++ b/plugins/catalog-backend-module-gerrit/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-catalog-backend-module-gerrit
+## 0.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/integration@1.2.2-next.1
+
## 0.1.2-next.0
### Patch Changes
diff --git a/plugins/catalog-backend-module-gerrit/package.json b/plugins/catalog-backend-module-gerrit/package.json
index 0668a2858b..dd4c07c044 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.2-next.0",
+ "version": "0.1.2-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -28,13 +28,13 @@
"postpack": "backstage-cli package postpack"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/backend-tasks": "^0.3.3-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-tasks": "^0.3.3-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
- "@backstage/integration": "^1.2.2-next.0",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.0",
+ "@backstage/errors": "^1.1.0-next.0",
+ "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
"fs-extra": "10.1.0",
"msw": "^0.42.0",
"node-fetch": "^2.6.7",
@@ -42,8 +42,8 @@
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.0",
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/backend-test-utils": "^0.1.26-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/fs-extra": "^9.0.1"
},
"files": [
diff --git a/plugins/catalog-backend-module-github/CHANGELOG.md b/plugins/catalog-backend-module-github/CHANGELOG.md
index b97a043aba..42aa26afdf 100644
--- a/plugins/catalog-backend-module-github/CHANGELOG.md
+++ b/plugins/catalog-backend-module-github/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-catalog-backend-module-github
+## 0.1.5-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/integration@1.2.2-next.1
+
## 0.1.5-next.0
### Patch Changes
diff --git a/plugins/catalog-backend-module-github/package.json b/plugins/catalog-backend-module-github/package.json
index c3adbbf212..ffe8e38e32 100644
--- a/plugins/catalog-backend-module-github/package.json
+++ b/plugins/catalog-backend-module-github/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-github",
"description": "A Backstage catalog backend module that helps integrate towards GitHub",
- "version": "0.1.5-next.0",
+ "version": "0.1.5-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,13 +33,13 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/backend-tasks": "^0.3.3-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-tasks": "^0.3.3-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
- "@backstage/integration": "^1.2.2-next.0",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.0",
+ "@backstage/errors": "^1.1.0-next.0",
+ "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
"@backstage/types": "^1.0.0",
"@octokit/graphql": "^4.5.8",
"lodash": "^4.17.21",
@@ -49,8 +49,8 @@
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.0",
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/backend-test-utils": "^0.1.26-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/lodash": "^4.14.151"
},
"files": [
diff --git a/plugins/catalog-backend-module-gitlab/CHANGELOG.md b/plugins/catalog-backend-module-gitlab/CHANGELOG.md
index 343b2b9d7b..95fa6ddbda 100644
--- a/plugins/catalog-backend-module-gitlab/CHANGELOG.md
+++ b/plugins/catalog-backend-module-gitlab/CHANGELOG.md
@@ -1,5 +1,29 @@
# @backstage/plugin-catalog-backend-module-gitlab
+## 0.1.5-next.1
+
+### Patch Changes
+
+- 49ff472c0b: Add the possibility in the `GitlabDiscoveryEntityProvider` to scan the whole project instead of concrete groups. For that, use a configuration like this one, where the group parameter is omitted (not mandatory anymore):
+
+ ```yaml
+ catalog:
+ providers:
+ gitlab:
+ yourProviderId:
+ host: gitlab-host # Identifies one of the hosts set up in the integrations
+ branch: main # Optional. Uses `master` as default
+ entityFilename: catalog-info.yaml # Optional. Defaults to `catalog-info.yaml`
+ ```
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/backend-tasks@0.3.3-next.1
+ - @backstage/integration@1.2.2-next.1
+
## 0.1.5-next.0
### Patch Changes
diff --git a/plugins/catalog-backend-module-gitlab/package.json b/plugins/catalog-backend-module-gitlab/package.json
index 8d39a8dc05..a4240119e3 100644
--- a/plugins/catalog-backend-module-gitlab/package.json
+++ b/plugins/catalog-backend-module-gitlab/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-gitlab",
"description": "A Backstage catalog backend module that helps integrate towards GitLab",
- "version": "0.1.5-next.0",
+ "version": "0.1.5-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,13 +33,13 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/backend-tasks": "^0.3.3-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/backend-tasks": "^0.3.3-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
- "@backstage/integration": "^1.2.2-next.0",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.0",
+ "@backstage/errors": "^1.1.0-next.0",
+ "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
"@backstage/types": "^1.0.0",
"lodash": "^4.17.21",
"msw": "^0.42.0",
@@ -48,8 +48,8 @@
"uuid": "^8.0.0"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.0",
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/backend-test-utils": "^0.1.26-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/lodash": "^4.14.151",
"@types/uuid": "^8.0.0"
},
diff --git a/plugins/catalog-backend-module-ldap/CHANGELOG.md b/plugins/catalog-backend-module-ldap/CHANGELOG.md
index 3afb99dc79..e906e40631 100644
--- a/plugins/catalog-backend-module-ldap/CHANGELOG.md
+++ b/plugins/catalog-backend-module-ldap/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-catalog-backend-module-ldap
+## 0.5.1-next.1
+
+### Patch Changes
+
+- fbfbff6bf7: Add possibility to resolve relations by RDN, in addition to UUID and DN
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/backend-tasks@0.3.3-next.1
+
## 0.5.1-next.0
### Patch Changes
diff --git a/plugins/catalog-backend-module-ldap/package.json b/plugins/catalog-backend-module-ldap/package.json
index a8c28018f2..7232ea24c3 100644
--- a/plugins/catalog-backend-module-ldap/package.json
+++ b/plugins/catalog-backend-module-ldap/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-ldap",
"description": "A Backstage catalog backend module that helps integrate towards LDAP",
- "version": "0.5.1-next.0",
+ "version": "0.5.1-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,11 +33,11 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-tasks": "^0.3.3-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/backend-tasks": "^0.3.3-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.0",
+ "@backstage/errors": "^1.1.0-next.0",
+ "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
"@backstage/types": "^1.0.0",
"@types/ldapjs": "^2.2.0",
"ldapjs": "^2.2.0",
@@ -46,7 +46,7 @@
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/lodash": "^4.14.151"
},
"files": [
diff --git a/plugins/catalog-backend-module-msgraph/package.json b/plugins/catalog-backend-module-msgraph/package.json
index e2e75af446..cf777d982c 100644
--- a/plugins/catalog-backend-module-msgraph/package.json
+++ b/plugins/catalog-backend-module-msgraph/package.json
@@ -34,10 +34,10 @@
},
"dependencies": {
"@azure/msal-node": "^1.1.0",
- "@backstage/backend-tasks": "^0.3.3-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/backend-tasks": "^0.3.3-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.0",
+ "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
"@microsoft/microsoft-graph-types": "^2.6.0",
"@types/node-fetch": "^2.5.12",
"lodash": "^4.17.21",
@@ -48,9 +48,9 @@
"qs": "^6.9.4"
},
"devDependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/backend-test-utils": "^0.1.26-next.0",
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-test-utils": "^0.1.26-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
"@types/lodash": "^4.14.151",
"msw": "^0.42.0"
},
diff --git a/plugins/catalog-backend-module-openapi/CHANGELOG.md b/plugins/catalog-backend-module-openapi/CHANGELOG.md
new file mode 100644
index 0000000000..d98f5a95d0
--- /dev/null
+++ b/plugins/catalog-backend-module-openapi/CHANGELOG.md
@@ -0,0 +1,17 @@
+# @backstage/plugin-catalog-backend-module-openapi
+
+## 0.1.0-next.0
+
+### Minor Changes
+
+- 67503d159e: Add basic OpenAPI \$ref support.
+
+ For more information see [here](https://github.com/backstage/backstage/tree/master/plugins/catalog-backend-module-openapi).
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/plugin-catalog-backend@1.2.1-next.1
+ - @backstage/integration@1.2.2-next.1
diff --git a/plugins/catalog-backend-module-openapi/package.json b/plugins/catalog-backend-module-openapi/package.json
index 1c99618ff8..e2b3407bc0 100644
--- a/plugins/catalog-backend-module-openapi/package.json
+++ b/plugins/catalog-backend-module-openapi/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-openapi",
"description": "A Backstage catalog backend module that helps with OpenAPI specifications",
- "version": "0.0.0",
+ "version": "0.1.0-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,17 +34,17 @@
},
"dependencies": {
"@apidevtools/swagger-parser": "^10.1.0",
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/integration": "^1.2.2-next.0",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.0",
+ "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
"winston": "^3.2.1",
"yaml": "^2.1.1"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.0",
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/backend-test-utils": "^0.1.26-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
"openapi-types": "^11.0.1"
},
"files": [
diff --git a/plugins/catalog-backend/CHANGELOG.md b/plugins/catalog-backend/CHANGELOG.md
index 84f80243fd..7d58cfda6e 100644
--- a/plugins/catalog-backend/CHANGELOG.md
+++ b/plugins/catalog-backend/CHANGELOG.md
@@ -1,5 +1,21 @@
# @backstage/plugin-catalog-backend
+## 1.2.1-next.1
+
+### Patch Changes
+
+- f1dcc6f3c6: Use entity type predicates from catalog-model
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/plugin-catalog-common@1.0.4-next.0
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-permission-node@0.6.3-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+
## 1.2.1-next.0
### Patch Changes
diff --git a/plugins/catalog-backend/package.json b/plugins/catalog-backend/package.json
index 61a8e68412..fa2d84e57e 100644
--- a/plugins/catalog-backend/package.json
+++ b/plugins/catalog-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend",
"description": "The Backstage backend plugin that provides the Backstage catalog",
- "version": "1.2.1-next.0",
+ "version": "1.2.1-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,17 +34,17 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.0",
- "@backstage/catalog-client": "^1.0.4-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/catalog-client": "^1.0.4-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/errors": "^1.0.0",
- "@backstage/integration": "^1.2.2-next.0",
- "@backstage/plugin-catalog-common": "^1.0.3",
- "@backstage/plugin-permission-common": "^0.6.2",
- "@backstage/plugin-permission-node": "^0.6.3-next.0",
+ "@backstage/errors": "^1.1.0-next.0",
+ "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/plugin-catalog-common": "^1.0.4-next.0",
+ "@backstage/plugin-permission-common": "^0.6.3-next.0",
+ "@backstage/plugin-permission-node": "^0.6.3-next.1",
"@backstage/plugin-scaffolder-common": "^1.1.2-next.0",
- "@backstage/plugin-search-common": "^0.3.5",
+ "@backstage/plugin-search-common": "^0.3.6-next.0",
"@backstage/types": "^1.0.0",
"@types/express": "^4.17.6",
"codeowners-utils": "^1.0.2",
@@ -55,7 +55,7 @@
"fs-extra": "10.1.0",
"git-url-parse": "^11.6.0",
"glob": "^7.1.6",
- "knex": "^1.0.2",
+ "knex": "^2.0.0",
"lodash": "^4.17.21",
"luxon": "^2.0.2",
"node-fetch": "^2.6.7",
@@ -68,10 +68,10 @@
"zod": "^3.11.6"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.0",
- "@backstage/cli": "^0.17.3-next.0",
- "@backstage/plugin-permission-common": "^0.6.2",
- "@backstage/plugin-search-backend-node": "0.6.3-next.0",
+ "@backstage/backend-test-utils": "^0.1.26-next.1",
+ "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/plugin-permission-common": "^0.6.3-next.0",
+ "@backstage/plugin-search-backend-node": "0.6.3-next.1",
"@types/core-js": "^2.5.4",
"@types/git-url-parse": "^9.0.0",
"@types/lodash": "^4.14.151",
diff --git a/plugins/catalog-common/CHANGELOG.md b/plugins/catalog-common/CHANGELOG.md
index 72002894c4..7fa70e5859 100644
--- a/plugins/catalog-common/CHANGELOG.md
+++ b/plugins/catalog-common/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-catalog-common
+## 1.0.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-search-common@0.3.6-next.0
+
## 1.0.3
### Patch Changes
diff --git a/plugins/catalog-common/package.json b/plugins/catalog-common/package.json
index 3adb442c3e..82c0d72855 100644
--- a/plugins/catalog-common/package.json
+++ b/plugins/catalog-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-common",
"description": "Common functionalities for the catalog plugin",
- "version": "1.0.3",
+ "version": "1.0.4-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,11 +34,11 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/plugin-permission-common": "^0.6.2",
- "@backstage/plugin-search-common": "^0.3.5"
+ "@backstage/plugin-permission-common": "^0.6.3-next.0",
+ "@backstage/plugin-search-common": "^0.3.6-next.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0"
+ "@backstage/cli": "^0.18.0-next.1"
},
"files": [
"dist",
diff --git a/plugins/catalog-graph/CHANGELOG.md b/plugins/catalog-graph/CHANGELOG.md
index 5ce0a2d31b..235434ff66 100644
--- a/plugins/catalog-graph/CHANGELOG.md
+++ b/plugins/catalog-graph/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-catalog-graph
+## 0.2.19-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
## 0.2.19-next.0
### Patch Changes
diff --git a/plugins/catalog-graph/package.json b/plugins/catalog-graph/package.json
index 786f284628..e2d8af6f46 100644
--- a/plugins/catalog-graph/package.json
+++ b/plugins/catalog-graph/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-catalog-graph",
- "version": "0.2.19-next.0",
+ "version": "0.2.19-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -24,12 +24,12 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-client": "^1.0.4-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/catalog-client": "^1.0.4-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.1",
+ "@backstage/theme": "^0.2.16-next.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -45,11 +45,11 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/plugin-catalog": "^1.3.1-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/plugin-catalog": "^1.3.1-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@backstage/types": "^1.0.0",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
diff --git a/plugins/catalog-graphql/package.json b/plugins/catalog-graphql/package.json
index 411ae5ec17..c1ca2f9fa6 100644
--- a/plugins/catalog-graphql/package.json
+++ b/plugins/catalog-graphql/package.json
@@ -34,7 +34,7 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/config": "^1.0.1",
"@backstage/types": "^1.0.0",
"apollo-server": "^3.0.0",
@@ -46,8 +46,8 @@
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@graphql-codegen/cli": "^2.3.1",
"@graphql-codegen/graphql-modules-preset": "^2.3.2",
"@graphql-codegen/typescript": "^2.4.2",
diff --git a/plugins/catalog-import/CHANGELOG.md b/plugins/catalog-import/CHANGELOG.md
index 1240ab1fc4..6c306635e1 100644
--- a/plugins/catalog-import/CHANGELOG.md
+++ b/plugins/catalog-import/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-catalog-import
+## 0.8.10-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+
## 0.8.10-next.0
### Patch Changes
diff --git a/plugins/catalog-import/package.json b/plugins/catalog-import/package.json
index 527faad4b3..d170bf54f2 100644
--- a/plugins/catalog-import/package.json
+++ b/plugins/catalog-import/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-import",
"description": "A Backstage plugin the helps you import entities into your catalog",
- "version": "0.8.10-next.0",
+ "version": "0.8.10-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,15 +34,15 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-client": "^1.0.4-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
+ "@backstage/catalog-client": "^1.0.4-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/config": "^1.0.1",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/errors": "^1.0.0",
- "@backstage/integration": "^1.2.2-next.0",
- "@backstage/integration-react": "^1.1.2-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.0",
+ "@backstage/errors": "^1.1.0-next.0",
+ "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/integration-react": "^1.1.2-next.1",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -60,10 +60,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
diff --git a/plugins/catalog-react/CHANGELOG.md b/plugins/catalog-react/CHANGELOG.md
index 8b396ca878..fb5bcc81c3 100644
--- a/plugins/catalog-react/CHANGELOG.md
+++ b/plugins/catalog-react/CHANGELOG.md
@@ -1,5 +1,20 @@
# @backstage/plugin-catalog-react
+## 1.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration@1.2.2-next.1
+ - @backstage/plugin-catalog-common@1.0.4-next.0
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-permission-react@0.4.3-next.0
+
## 1.1.2-next.0
### Patch Changes
diff --git a/plugins/catalog-react/api-report.md b/plugins/catalog-react/api-report.md
index 285ecafd70..5232c49150 100644
--- a/plugins/catalog-react/api-report.md
+++ b/plugins/catalog-react/api-report.md
@@ -78,6 +78,7 @@ export type CatalogReactComponentsNameToClassKey = {
CatalogReactEntitySearchBar: CatalogReactEntitySearchBarClassKey;
CatalogReactEntityTagPicker: CatalogReactEntityTagPickerClassKey;
CatalogReactEntityOwnerPicker: CatalogReactEntityOwnerPickerClassKey;
+ CatalogReactEntityProcessingStatusPicker: CatalogReactEntityProcessingStatusPickerClassKey;
};
// @public (undocumented)
@@ -86,6 +87,9 @@ export type CatalogReactEntityLifecyclePickerClassKey = 'input';
// @public (undocumented)
export type CatalogReactEntityOwnerPickerClassKey = 'input';
+// @public (undocumented)
+export type CatalogReactEntityProcessingStatusPickerClassKey = 'input';
+
// @public (undocumented)
export type CatalogReactEntitySearchBarClassKey = 'searchToolbar' | 'input';
@@ -137,8 +141,19 @@ export type DefaultEntityFilters = {
lifecycles?: EntityLifecycleFilter;
tags?: EntityTagFilter;
text?: EntityTextFilter;
+ orphan?: EntityOrphanFilter;
+ error?: EntityErrorFilter;
};
+// @public
+export class EntityErrorFilter implements EntityFilter {
+ constructor(value: boolean);
+ // (undocumented)
+ filterEntity(entity: Entity): boolean;
+ // (undocumented)
+ readonly value: boolean;
+}
+
// @public (undocumented)
export type EntityFilter = {
getCatalogFilters?: () => Record<
@@ -222,6 +237,15 @@ export type EntityLoadingStatus = {
refresh?: VoidFunction;
};
+// @public
+export class EntityOrphanFilter implements EntityFilter {
+ constructor(value: boolean);
+ // (undocumented)
+ filterEntity(entity: Entity): boolean;
+ // (undocumented)
+ readonly value: boolean;
+}
+
// @public
export class EntityOwnerFilter implements EntityFilter {
constructor(values: string[]);
@@ -236,6 +260,9 @@ export class EntityOwnerFilter implements EntityFilter {
// @public (undocumented)
export const EntityOwnerPicker: () => JSX.Element | null;
+// @public (undocumented)
+export const EntityProcessingStatusPicker: () => JSX.Element;
+
// @public
export const EntityProvider: (props: EntityProviderProps) => JSX.Element;
diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json
index a525a0af50..a28b8219be 100644
--- a/plugins/catalog-react/package.json
+++ b/plugins/catalog-react/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-react",
"description": "A frontend library that helps other Backstage plugins interact with the catalog",
- "version": "1.1.2-next.0",
+ "version": "1.1.2-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,16 +34,16 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/catalog-client": "^1.0.4-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/catalog-client": "^1.0.4-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/errors": "^1.0.0",
- "@backstage/integration": "^1.2.2-next.0",
- "@backstage/plugin-catalog-common": "^1.0.3",
- "@backstage/plugin-permission-common": "^0.6.2",
- "@backstage/plugin-permission-react": "^0.4.2",
- "@backstage/theme": "^0.2.15",
+ "@backstage/errors": "^1.1.0-next.0",
+ "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/plugin-catalog-common": "^1.0.4-next.0",
+ "@backstage/plugin-permission-common": "^0.6.3-next.0",
+ "@backstage/plugin-permission-react": "^0.4.3-next.0",
+ "@backstage/theme": "^0.2.16-next.0",
"@backstage/types": "^1.0.0",
"@backstage/version-bridge": "^1.0.1",
"@material-ui/core": "^4.12.2",
@@ -63,11 +63,11 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/plugin-catalog-common": "^1.0.3",
+ "@backstage/plugin-catalog-common": "^1.0.4-next.0",
"@backstage/plugin-scaffolder-common": "^1.1.2-next.0",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
diff --git a/plugins/catalog-react/src/components/EntityProcessingStatusPicker/EntityProcessingStatusPicker.test.tsx b/plugins/catalog-react/src/components/EntityProcessingStatusPicker/EntityProcessingStatusPicker.test.tsx
new file mode 100644
index 0000000000..8e90e04148
--- /dev/null
+++ b/plugins/catalog-react/src/components/EntityProcessingStatusPicker/EntityProcessingStatusPicker.test.tsx
@@ -0,0 +1,152 @@
+/*
+ * Copyright 2022 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Entity } from '@backstage/catalog-model';
+import { fireEvent, render } from '@testing-library/react';
+import React from 'react';
+import { EntityErrorFilter, EntityOrphanFilter } from '../../filters';
+import { MockEntityListContextProvider } from '../../testUtils/providers';
+import { EntityProcessingStatusPicker } from './EntityProcessingStatusPicker';
+
+const orphanAnnotation: Record = {};
+orphanAnnotation['backstage.io/orphan'] = 'true';
+
+const sampleEntities: Entity[] = [
+ {
+ apiVersion: '1',
+ kind: 'Component',
+ metadata: {
+ name: 'valid-component',
+ },
+ },
+ {
+ apiVersion: '1',
+ kind: 'Component',
+ metadata: {
+ name: 'orphan-component',
+ annotations: orphanAnnotation,
+ },
+ },
+ {
+ apiVersion: '1',
+ kind: 'Component',
+ metadata: {
+ name: 'error-component',
+ tags: ['Invalid Tag'],
+ },
+ },
+];
+
+describe('', () => {
+ it('renders all processing status options', () => {
+ const rendered = render(
+
+
+ ,
+ );
+ expect(rendered.getByText('Processing Status')).toBeInTheDocument();
+
+ fireEvent.click(rendered.getByTestId('processing-status-picker-expand'));
+ expect(rendered.getByText('Is Orphan')).toBeInTheDocument();
+ expect(rendered.getByText('Has Error')).toBeInTheDocument();
+ });
+
+ it('adds orphan to orphan filter', () => {
+ const updateFilters = jest.fn();
+ const rendered = render(
+
+
+ ,
+ );
+
+ fireEvent.click(rendered.getByTestId('processing-status-picker-expand'));
+ fireEvent.click(rendered.getByText('Is Orphan'));
+ expect(updateFilters).toHaveBeenCalledWith({
+ orphan: new EntityOrphanFilter(true),
+ });
+ });
+
+ it('adds error to error filter', () => {
+ const updateFilters = jest.fn();
+ const rendered = render(
+
+
+ ,
+ );
+
+ fireEvent.click(rendered.getByTestId('processing-status-picker-expand'));
+ fireEvent.click(rendered.getByText('Has Error'));
+ expect(updateFilters).toHaveBeenCalledWith({
+ error: new EntityErrorFilter(true),
+ });
+ });
+
+ it('remove orphan from orphan filter', () => {
+ const updateFilters = jest.fn();
+ const rendered = render(
+
+
+ ,
+ );
+
+ fireEvent.click(rendered.getByTestId('processing-status-picker-expand'));
+ fireEvent.click(rendered.getByText('Is Orphan'));
+ expect(updateFilters).toHaveBeenCalledWith({
+ orphan: undefined,
+ });
+ });
+
+ it('remove error from error filter', () => {
+ const updateFilters = jest.fn();
+ const rendered = render(
+
+
+ ,
+ );
+
+ fireEvent.click(rendered.getByTestId('processing-status-picker-expand'));
+ fireEvent.click(rendered.getByText('Has Error'));
+ expect(updateFilters).toHaveBeenCalledWith({
+ error: undefined,
+ });
+ });
+});
diff --git a/plugins/catalog-react/src/components/EntityProcessingStatusPicker/EntityProcessingStatusPicker.tsx b/plugins/catalog-react/src/components/EntityProcessingStatusPicker/EntityProcessingStatusPicker.tsx
new file mode 100644
index 0000000000..3fe3b60e25
--- /dev/null
+++ b/plugins/catalog-react/src/components/EntityProcessingStatusPicker/EntityProcessingStatusPicker.tsx
@@ -0,0 +1,111 @@
+/*
+ * 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 { EntityErrorFilter, EntityOrphanFilter } from '../../filters';
+import {
+ Box,
+ Checkbox,
+ FormControlLabel,
+ makeStyles,
+ TextField,
+ Typography,
+} from '@material-ui/core';
+import CheckBoxIcon from '@material-ui/icons/CheckBox';
+import CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';
+import ExpandMoreIcon from '@material-ui/icons/ExpandMore';
+import React, { useState } from 'react';
+import { useEntityList } from '../../hooks';
+import { Autocomplete } from '@material-ui/lab';
+
+/** @public */
+export type CatalogReactEntityProcessingStatusPickerClassKey = 'input';
+
+const useStyles = makeStyles(
+ {
+ input: {},
+ },
+ {
+ name: 'CatalogReactEntityProcessingStatusPickerPicker',
+ },
+);
+
+const icon = ;
+const checkedIcon = ;
+
+/** @public */
+export const EntityProcessingStatusPicker = () => {
+ const classes = useStyles();
+ const { updateFilters } = useEntityList();
+
+ const [selectedAdvancedItems, setSelectedAdvancedItems] = useState(
+ [],
+ );
+
+ function orphanChange(value: boolean) {
+ updateFilters({
+ orphan: value ? new EntityOrphanFilter(value) : undefined,
+ });
+ }
+
+ function errorChange(value: boolean) {
+ updateFilters({
+ error: value ? new EntityErrorFilter(value) : undefined,
+ });
+ }
+
+ const availableAdvancedItems = ['Is Orphan', 'Has Error'];
+
+ return (
+
+
+ Processing Status
+ {
+ setSelectedAdvancedItems(value);
+ orphanChange(value.includes('Is Orphan'));
+ errorChange(value.includes('Has Error'));
+ }}
+ renderOption={(option, { selected }) => (
+
+ }
+ label={option}
+ />
+ )}
+ size="small"
+ popupIcon={
+
+ }
+ renderInput={params => (
+
+ )}
+ />
+
+
+ );
+};
diff --git a/plugins/catalog-react/src/components/EntityProcessingStatusPicker/index.ts b/plugins/catalog-react/src/components/EntityProcessingStatusPicker/index.ts
new file mode 100644
index 0000000000..55daeaecc0
--- /dev/null
+++ b/plugins/catalog-react/src/components/EntityProcessingStatusPicker/index.ts
@@ -0,0 +1,17 @@
+/*
+ * Copyright 2022 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+export { EntityProcessingStatusPicker as EntityProcessingStatusPicker } from './EntityProcessingStatusPicker';
+export type { CatalogReactEntityProcessingStatusPickerClassKey } from './EntityProcessingStatusPicker';
diff --git a/plugins/catalog-react/src/components/index.ts b/plugins/catalog-react/src/components/index.ts
index 7a26a72bf9..c604306ead 100644
--- a/plugins/catalog-react/src/components/index.ts
+++ b/plugins/catalog-react/src/components/index.ts
@@ -27,3 +27,4 @@ export * from './FavoriteEntity';
export * from './InspectEntityDialog';
export * from './UnregisterEntityDialog';
export * from './UserListPicker';
+export * from './EntityProcessingStatusPicker';
diff --git a/plugins/catalog-react/src/filters.test.ts b/plugins/catalog-react/src/filters.test.ts
index ba31e21122..c2c92e033e 100644
--- a/plugins/catalog-react/src/filters.test.ts
+++ b/plugins/catalog-react/src/filters.test.ts
@@ -14,9 +14,13 @@
* limitations under the License.
*/
-import { Entity } from '@backstage/catalog-model';
+import { AlphaEntity, Entity } from '@backstage/catalog-model';
import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common';
-import { EntityTextFilter } from './filters';
+import {
+ EntityErrorFilter,
+ EntityOrphanFilter,
+ EntityTextFilter,
+} from './filters';
const entities: Entity[] = [
{
@@ -91,3 +95,50 @@ describe('EntityTextFilter', () => {
expect(filter.filterEntity(entities[1])).toBeTruthy();
});
});
+
+describe('EntityOrphanFilter', () => {
+ const orphanAnnotation: Record = {};
+ orphanAnnotation['backstage.io/orphan'] = 'true';
+
+ const orphan: Entity = {
+ apiVersion: '1',
+ kind: 'Component',
+ metadata: {
+ name: 'orphaned-service',
+ annotations: orphanAnnotation,
+ },
+ };
+
+ it('should find orphans', () => {
+ const filter = new EntityOrphanFilter(true);
+ expect(filter.filterEntity(orphan)).toBeTruthy();
+ expect(filter.filterEntity(entities[1])).toBeFalsy();
+ });
+});
+
+describe('EntityErrorFilter', () => {
+ const error: AlphaEntity = {
+ apiVersion: '1',
+ kind: 'Component',
+ metadata: {
+ name: 'service-with-error',
+ tags: ['Invalid Tag'],
+ },
+ status: {
+ items: [
+ {
+ type: 'invalid-tag',
+ level: 'error',
+ message: 'Tag is not valid',
+ error: undefined,
+ },
+ ],
+ },
+ };
+
+ it('should find errors', () => {
+ const filter = new EntityErrorFilter(true);
+ expect(filter.filterEntity(error)).toBeTruthy();
+ expect(filter.filterEntity(entities[1])).toBeFalsy();
+ });
+});
diff --git a/plugins/catalog-react/src/filters.ts b/plugins/catalog-react/src/filters.ts
index 9fb057a01c..a828015f0e 100644
--- a/plugins/catalog-react/src/filters.ts
+++ b/plugins/catalog-react/src/filters.ts
@@ -14,7 +14,11 @@
* limitations under the License.
*/
-import { Entity, RELATION_OWNED_BY } from '@backstage/catalog-model';
+import {
+ AlphaEntity,
+ Entity,
+ RELATION_OWNED_BY,
+} from '@backstage/catalog-model';
import { humanizeEntityRef } from './components/EntityRefLink';
import { EntityFilter, UserListFilterKind } from './types';
import { getEntityRelations } from './utils';
@@ -159,3 +163,28 @@ export class UserListFilter implements EntityFilter {
return this.value;
}
}
+
+/**
+ * Filters entities based if it is an orphan or not.
+ * @public
+ */
+export class EntityOrphanFilter implements EntityFilter {
+ constructor(readonly value: boolean) {}
+ filterEntity(entity: Entity): boolean {
+ const orphan = entity.metadata.annotations?.['backstage.io/orphan'];
+ return orphan !== undefined && this.value.toString() === orphan;
+ }
+}
+
+/**
+ * Filters entities based on if it has errors or not.
+ * @public
+ */
+export class EntityErrorFilter implements EntityFilter {
+ constructor(readonly value: boolean) {}
+ filterEntity(entity: Entity): boolean {
+ const error =
+ ((entity as AlphaEntity)?.status?.items?.length as number) > 0;
+ return error !== undefined && this.value === error;
+ }
+}
diff --git a/plugins/catalog-react/src/hooks/useEntityListProvider.tsx b/plugins/catalog-react/src/hooks/useEntityListProvider.tsx
index ccac475ae8..089701d8b4 100644
--- a/plugins/catalog-react/src/hooks/useEntityListProvider.tsx
+++ b/plugins/catalog-react/src/hooks/useEntityListProvider.tsx
@@ -31,8 +31,10 @@ import useDebounce from 'react-use/lib/useDebounce';
import useMountedState from 'react-use/lib/useMountedState';
import { catalogApiRef } from '../api';
import {
+ EntityErrorFilter,
EntityKindFilter,
EntityLifecycleFilter,
+ EntityOrphanFilter,
EntityOwnerFilter,
EntityTagFilter,
EntityTextFilter,
@@ -52,6 +54,8 @@ export type DefaultEntityFilters = {
lifecycles?: EntityLifecycleFilter;
tags?: EntityTagFilter;
text?: EntityTextFilter;
+ orphan?: EntityOrphanFilter;
+ error?: EntityErrorFilter;
};
/** @public */
diff --git a/plugins/catalog-react/src/overridableComponents.ts b/plugins/catalog-react/src/overridableComponents.ts
index 1e654988e4..c3b392fcfe 100644
--- a/plugins/catalog-react/src/overridableComponents.ts
+++ b/plugins/catalog-react/src/overridableComponents.ts
@@ -22,6 +22,7 @@ import {
CatalogReactEntitySearchBarClassKey,
CatalogReactEntityTagPickerClassKey,
CatalogReactEntityOwnerPickerClassKey,
+ CatalogReactEntityProcessingStatusPickerClassKey,
} from './components';
/** @public */
@@ -31,6 +32,7 @@ export type CatalogReactComponentsNameToClassKey = {
CatalogReactEntitySearchBar: CatalogReactEntitySearchBarClassKey;
CatalogReactEntityTagPicker: CatalogReactEntityTagPickerClassKey;
CatalogReactEntityOwnerPicker: CatalogReactEntityOwnerPickerClassKey;
+ CatalogReactEntityProcessingStatusPicker: CatalogReactEntityProcessingStatusPickerClassKey;
};
/** @public */
diff --git a/plugins/catalog/CHANGELOG.md b/plugins/catalog/CHANGELOG.md
index cc64ccd3ee..21e30517e2 100644
--- a/plugins/catalog/CHANGELOG.md
+++ b/plugins/catalog/CHANGELOG.md
@@ -1,5 +1,22 @@
# @backstage/plugin-catalog
+## 1.3.1-next.1
+
+### Patch Changes
+
+- f1dcc6f3c6: Use entity type predicates from catalog-model
+- Updated dependencies
+ - @backstage/core-components@0.9.6-next.1
+ - @backstage/catalog-model@1.1.0-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/theme@0.2.16-next.0
+ - @backstage/catalog-client@1.0.4-next.1
+ - @backstage/integration-react@1.1.2-next.1
+ - @backstage/plugin-catalog-common@1.0.4-next.0
+ - @backstage/plugin-catalog-react@1.1.2-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+ - @backstage/plugin-search-react@0.2.2-next.1
+
## 1.3.1-next.0
### Patch Changes
diff --git a/plugins/catalog/api-report.md b/plugins/catalog/api-report.md
index 0d2d611412..bfdf62bdb0 100644
--- a/plugins/catalog/api-report.md
+++ b/plugins/catalog/api-report.md
@@ -136,6 +136,13 @@ export const CatalogTable: {
createSpecLifecycleColumn(): TableColumn;
createMetadataDescriptionColumn(): TableColumn;
createTagsColumn(): TableColumn;
+ createTitleColumn(
+ options?:
+ | {
+ hidden?: boolean | undefined;
+ }
+ | undefined,
+ ): TableColumn;
}>;
};
@@ -259,10 +266,10 @@ export interface EntityLayoutProps {
children?: React_2.ReactNode;
// (undocumented)
NotFoundComponent?: React_2.ReactNode;
- // Warning: (ae-forgotten-export) The symbol "contextMenuOptions" needs to be exported by the entry point index.d.ts
+ // Warning: (ae-forgotten-export) The symbol "EntityContextMenuOptions" needs to be exported by the entry point index.d.ts
//
// (undocumented)
- UNSTABLE_contextMenuOptions?: contextMenuOptions;
+ UNSTABLE_contextMenuOptions?: EntityContextMenuOptions;
// Warning: (ae-forgotten-export) The symbol "ExtraContextMenuItem" needs to be exported by the entry point index.d.ts
//
// (undocumented)
diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json
index 786083356a..0dd7836c02 100644
--- a/plugins/catalog/package.json
+++ b/plugins/catalog/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog",
"description": "The Backstage plugin for browsing the Backstage catalog",
- "version": "1.3.1-next.0",
+ "version": "1.3.1-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,17 +34,17 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-client": "^1.0.4-next.0",
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/core-components": "^0.9.6-next.0",
+ "@backstage/catalog-client": "^1.0.4-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-plugin-api": "^1.0.3",
- "@backstage/errors": "^1.0.0",
- "@backstage/integration-react": "^1.1.2-next.0",
- "@backstage/plugin-catalog-common": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.0",
- "@backstage/plugin-search-common": "^0.3.5",
- "@backstage/plugin-search-react": "^0.2.2-next.0",
- "@backstage/theme": "^0.2.15",
+ "@backstage/errors": "^1.1.0-next.0",
+ "@backstage/integration-react": "^1.1.2-next.1",
+ "@backstage/plugin-catalog-common": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.1",
+ "@backstage/plugin-search-common": "^0.3.6-next.0",
+ "@backstage/plugin-search-react": "^0.2.2-next.1",
+ "@backstage/theme": "^0.2.16-next.0",
"@backstage/types": "^1.0.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -61,11 +61,11 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.17.3-next.0",
+ "@backstage/cli": "^0.18.0-next.1",
"@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.0",
- "@backstage/plugin-permission-react": "^0.4.2",
- "@backstage/test-utils": "^1.1.2-next.0",
+ "@backstage/dev-utils": "^1.0.4-next.1",
+ "@backstage/plugin-permission-react": "^0.4.3-next.0",
+ "@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
diff --git a/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.tsx b/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.tsx
index 5250dcec0d..51ef12ac74 100644
--- a/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.tsx
+++ b/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.tsx
@@ -28,6 +28,7 @@ import {
CatalogFilterLayout,
EntityLifecyclePicker,
EntityListProvider,
+ EntityProcessingStatusPicker,
EntityOwnerPicker,
EntityTagPicker,
EntityTypePicker,
@@ -84,6 +85,7 @@ export function DefaultCatalogPage(props: DefaultCatalogPageProps) {
+
{
const defaultColumns: TableColumn[] = useMemo(() => {
return [
+ columnFactories.createTitleColumn({ hidden: true }),
columnFactories.createNameColumn({ defaultKind: filters.kind?.value }),
...createEntitySpecificColumns(),
columnFactories.createMetadataDescriptionColumn(),
diff --git a/plugins/catalog/src/components/CatalogTable/columns.tsx b/plugins/catalog/src/components/CatalogTable/columns.tsx
index 0fb91d4f3f..d8b52e276e 100644
--- a/plugins/catalog/src/components/CatalogTable/columns.tsx
+++ b/plugins/catalog/src/components/CatalogTable/columns.tsx
@@ -131,4 +131,14 @@ export const columnFactories = Object.freeze({
),
};
},
+ createTitleColumn(options?: {
+ hidden?: boolean;
+ }): TableColumn {
+ return {
+ title: 'Title',
+ field: 'entity.metadata.title',
+ hidden: options?.hidden,
+ searchable: true,
+ };
+ },
});
diff --git a/plugins/catalog/src/components/EntityContextMenu/EntityContextMenu.test.tsx b/plugins/catalog/src/components/EntityContextMenu/EntityContextMenu.test.tsx
index eb920aaa20..0e981bb1fc 100644
--- a/plugins/catalog/src/components/EntityContextMenu/EntityContextMenu.test.tsx
+++ b/plugins/catalog/src/components/EntityContextMenu/EntityContextMenu.test.tsx
@@ -42,7 +42,6 @@ function render(children: React.ReactNode) {
describe('ComponentContextMenu', () => {
it('should call onUnregisterEntity on button click', async () => {
const mockCallback = jest.fn();
-
await render(
{
expect(mockCallback).toBeCalled();
});
+ it('check Unregister entity button is disabled', async () => {
+ const mockCallback = jest.fn();
+
+ const { getByText } = await render(
+ {}}
+ />,
+ );
+
+ const button = await screen.findByTestId('menu-button');
+ expect(button).toBeInTheDocument();
+ fireEvent.click(button);
+
+ const unregister = await screen.getByText('Unregister entity');
+ expect(unregister).toBeInTheDocument();
+
+ const unregisterSpanItem = getByText(/Unregister entity/);
+ const unregisterMenuListItem =
+ unregisterSpanItem?.parentElement?.parentElement;
+ expect(unregisterMenuListItem).toHaveAttribute('aria-disabled');
+ });
+
it('should call onInspectEntity on button click', async () => {
const mockCallback = jest.fn();
diff --git a/plugins/catalog/src/components/EntityContextMenu/EntityContextMenu.tsx b/plugins/catalog/src/components/EntityContextMenu/EntityContextMenu.tsx
index db50eeab84..41610ed13c 100644
--- a/plugins/catalog/src/components/EntityContextMenu/EntityContextMenu.tsx
+++ b/plugins/catalog/src/components/EntityContextMenu/EntityContextMenu.tsx
@@ -24,7 +24,6 @@ import {
Popover,
} from '@material-ui/core';
import { makeStyles } from '@material-ui/core/styles';
-import CancelIcon from '@material-ui/icons/Cancel';
import BugReportIcon from '@material-ui/icons/BugReport';
import MoreVert from '@material-ui/icons/MoreVert';
import React, { useState } from 'react';
@@ -32,6 +31,7 @@ import { IconComponent } from '@backstage/core-plugin-api';
import { useEntityPermission } from '@backstage/plugin-catalog-react';
import { catalogEntityDeletePermission } from '@backstage/plugin-catalog-common';
import { BackstageTheme } from '@backstage/theme';
+import { UnregisterEntity, UnregisterEntityOptions } from './UnregisterEntity';
/** @public */
export type EntityContextMenuClassKey = 'button';
@@ -40,7 +40,7 @@ const useStyles = makeStyles(
(theme: BackstageTheme) => {
return {
button: {
- color: theme.palette.bursts.fontColor,
+ color: theme.page.fontColor,
},
};
},
@@ -55,14 +55,9 @@ interface ExtraContextMenuItem {
onClick: () => void;
}
-// unstable context menu option, eg: disable the unregister entity menu
-interface contextMenuOptions {
- disableUnregister: boolean;
-}
-
interface EntityContextMenuProps {
UNSTABLE_extraContextMenuItems?: ExtraContextMenuItem[];
- UNSTABLE_contextMenuOptions?: contextMenuOptions;
+ UNSTABLE_contextMenuOptions?: UnregisterEntityOptions;
onUnregisterEntity: () => void;
onInspectEntity: () => void;
}
@@ -79,6 +74,7 @@ export function EntityContextMenu(props: EntityContextMenuProps) {
const unregisterPermission = useEntityPermission(
catalogEntityDeletePermission,
);
+ const isAllowed = unregisterPermission.allowed;
const onOpen = (event: React.SyntheticEvent) => {
setAnchorEl(event.currentTarget);
@@ -106,11 +102,6 @@ export function EntityContextMenu(props: EntityContextMenuProps) {
,
];
- const disableUnregister =
- (!unregisterPermission.allowed ||
- UNSTABLE_contextMenuOptions?.disableUnregister) ??
- false;
-
return (
<>
{extraItems}
-
+
]