diff --git a/.changeset/brave-badgers-pump.md b/.changeset/brave-badgers-pump.md
new file mode 100644
index 0000000000..18dea30990
--- /dev/null
+++ b/.changeset/brave-badgers-pump.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog-backend': patch
+---
+
+Fixed bug where catalog metrics weren't being tracked.
diff --git a/.changeset/breezy-spiders-eat.md b/.changeset/breezy-spiders-eat.md
new file mode 100644
index 0000000000..d163fc365f
--- /dev/null
+++ b/.changeset/breezy-spiders-eat.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog-backend': patch
+---
+
+Fix Error Code in Register Component DryRun
diff --git a/.changeset/create-app-1657631847.md b/.changeset/create-app-1657631847.md
new file mode 100644
index 0000000000..b50d431d4b
--- /dev/null
+++ b/.changeset/create-app-1657631847.md
@@ -0,0 +1,5 @@
+---
+'@backstage/create-app': patch
+---
+
+Bumped create-app version.
diff --git a/.changeset/eighty-comics-divide.md b/.changeset/eighty-comics-divide.md
new file mode 100644
index 0000000000..c486c1fa33
--- /dev/null
+++ b/.changeset/eighty-comics-divide.md
@@ -0,0 +1,5 @@
+---
+'@backstage/catalog-model': patch
+---
+
+Add shared annotations for Kubernetes clusters
diff --git a/.changeset/famous-forks-carry.md b/.changeset/famous-forks-carry.md
new file mode 100644
index 0000000000..0362d463cd
--- /dev/null
+++ b/.changeset/famous-forks-carry.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder': patch
+---
+
+Add allowArbitraryValues for to provide input validation. This makes it a better experience of users, as they can now expect the values they enter to correspond to a valid owner. This is set to the default behavior by default.
diff --git a/.changeset/five-falcons-destroy.md b/.changeset/five-falcons-destroy.md
new file mode 100644
index 0000000000..481c2a38ea
--- /dev/null
+++ b/.changeset/five-falcons-destroy.md
@@ -0,0 +1,7 @@
+---
+'@backstage/plugin-scaffolder-backend': patch
+---
+
+Add `copyWithoutTemplating` to the fetch template action input. `copyWithoutTemplating` also accepts an array of glob patterns. Contents of matched files or directories are copied without being processed, but paths are subject to rendering.
+
+Deprecate `copyWithoutRender` in favor of `copyWithoutTemplating`.
diff --git a/.changeset/hip-ways-shop.md b/.changeset/hip-ways-shop.md
new file mode 100644
index 0000000000..74646b7b3a
--- /dev/null
+++ b/.changeset/hip-ways-shop.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-kubernetes': patch
+---
+
+expose detectErrors function publicly
diff --git a/.changeset/itchy-stingrays-greet.md b/.changeset/itchy-stingrays-greet.md
new file mode 100644
index 0000000000..ed409abbe3
--- /dev/null
+++ b/.changeset/itchy-stingrays-greet.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog-backend-module-aws': patch
+---
+
+Add processor for ingesting EKS clusters into the catalog
diff --git a/.changeset/little-guests-sell.md b/.changeset/little-guests-sell.md
new file mode 100644
index 0000000000..91f578ee38
--- /dev/null
+++ b/.changeset/little-guests-sell.md
@@ -0,0 +1,7 @@
+---
+'@backstage/app-defaults': patch
+'@backstage/core-app-api': patch
+'@backstage/core-plugin-api': patch
+---
+
+Internal tweak removing usage of explicit type parameters for the `BackstagePlugin` type.
diff --git a/.changeset/mean-adults-argue.md b/.changeset/mean-adults-argue.md
new file mode 100644
index 0000000000..22eacab054
--- /dev/null
+++ b/.changeset/mean-adults-argue.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-proxy-backend': patch
+---
+
+The proxy-backend now automatically reloads configuration when app-config.yaml is updated.
diff --git a/.changeset/mean-berries-kick.md b/.changeset/mean-berries-kick.md
new file mode 100644
index 0000000000..7726c2c79e
--- /dev/null
+++ b/.changeset/mean-berries-kick.md
@@ -0,0 +1,5 @@
+---
+'@backstage/backend-common': patch
+---
+
+Moving from Bitbucket Server endpoint from https://docs.atlassian.com/bitbucket-server/rest/7.9.0/bitbucket-rest.html#idp222 to https://docs.atlassian.com/bitbucket-server/rest/7.9.0/bitbucket-rest.html#idp224, to have the last commit in function of different branch, and not only the list of default branch
diff --git a/.changeset/nice-seas-jam.md b/.changeset/nice-seas-jam.md
index 60190406ca..6e642b33b3 100644
--- a/.changeset/nice-seas-jam.md
+++ b/.changeset/nice-seas-jam.md
@@ -2,4 +2,4 @@
'@backstage/plugin-techdocs-node': patch
---
-Fixed issue with git feedback buttons not appearing automatically in docs pages. This was done by appending repo_url to the helper function getRepoUrlFromLocationAnnotation.
+Fixed issue with git feedback buttons not appearing automatically in docs pages. This was done by appending `repo_url` to the helper function `getRepoUrlFromLocationAnnotation`.
diff --git a/.changeset/orange-deers-marry.md b/.changeset/orange-deers-marry.md
new file mode 100644
index 0000000000..c565111b60
--- /dev/null
+++ b/.changeset/orange-deers-marry.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend': patch
+---
+
+Fix issues with optional directories and files
diff --git a/.changeset/plenty-books-peel.md b/.changeset/plenty-books-peel.md
new file mode 100644
index 0000000000..423c6f8bd4
--- /dev/null
+++ b/.changeset/plenty-books-peel.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-kubernetes-backend': patch
+---
+
+Add support for Kubernetes clusters in the catalog.
diff --git a/.changeset/polite-keys-confess.md b/.changeset/polite-keys-confess.md
new file mode 100644
index 0000000000..007ad98641
--- /dev/null
+++ b/.changeset/polite-keys-confess.md
@@ -0,0 +1,11 @@
+---
+'@backstage/plugin-catalog-backend-module-msgraph': minor
+---
+
+Microsoft Graph plugin can supports many more options for authenticating with the Microsoft Graph API.
+Previously only ClientId/ClientSecret was supported, but now all the authentication options of `DefaultAzureCredential` from `@azure/identity` are supported.
+Including Managed Identity, Client Certificate, Azure CLI and VS Code.
+
+If `clientId` and `clientSecret` are specified in configuration, the plugin behaves the same way as before.
+If these fields are omitted, the plugin uses `DefaultAzureCredential` to automatically determine the best authentication method.
+This is particularly useful for local development environments - the default configuration will try to use existing credentials from Visual Studio Code, Azure CLI and Azure PowerShell, without the user needing to configure any credentials in app-config.yaml
diff --git a/.changeset/popular-starfishes-reflect.md b/.changeset/popular-starfishes-reflect.md
new file mode 100644
index 0000000000..e02eaf7102
--- /dev/null
+++ b/.changeset/popular-starfishes-reflect.md
@@ -0,0 +1,10 @@
+---
+'@backstage/backend-common': patch
+'@backstage/integration': patch
+'@backstage/plugin-catalog-import': patch
+'@backstage/plugin-git-release-manager': patch
+'@backstage/plugin-github-actions': patch
+'@backstage/plugin-github-pull-requests-board': patch
+---
+
+Upgrade @octokit/rest to 19.0.3
diff --git a/.changeset/pre.json b/.changeset/pre.json
index 1b03a40575..62ec58c896 100644
--- a/.changeset/pre.json
+++ b/.changeset/pre.json
@@ -1,5 +1,5 @@
{
- "mode": "pre",
+ "mode": "exit",
"tag": "next",
"initialVersions": {
"example-app": "0.2.72",
@@ -159,55 +159,101 @@
"@backstage/plugin-xcmetrics": "0.2.26",
"@backstage/plugin-api-docs-module-protoc-gen-doc": "0.0.0",
"@backstage/plugin-catalog-backend-module-openapi": "0.0.0",
- "@backstage/plugin-cost-insights-common": "0.0.0"
+ "@backstage/plugin-cost-insights-common": "0.0.0",
+ "@backstage/backend-app-api": "0.0.0",
+ "example-backend-next": "0.0.0",
+ "@backstage/backend-plugin-api": "0.0.0",
+ "@backstage/plugin-catalog-node": "0.0.0"
},
"changesets": [
"afraid-flies-try",
+ "beige-carpets-double",
+ "beige-carpets-triple",
"beige-horses-scream",
+ "beige-kiwis-know",
"blue-monkeys-explain",
+ "brave-badgers-pump",
"breezy-poems-grab",
"breezy-seas-exist",
+ "breezy-spiders-eat",
"bright-balloons-hide",
"calm-experts-buy",
"chilled-mirrors-grab",
+ "cold-coins-tickle",
"cool-toys-flow",
"create-app-1656408352",
+ "create-app-1657631847",
+ "cuddly-comics-pump",
+ "cuddly-flowers-provide",
"curly-candles-battle",
"curvy-weeks-matter",
"eight-suits-fail",
"eighty-windows-brush",
+ "fifty-cars-compare",
+ "fifty-vans-drum",
"five-fireants-run",
"forty-seals-complain",
+ "funny-fireants-shop",
"great-roses-pump",
"green-actors-argue",
"happy-boxes-melt",
+ "hip-ways-shop",
"hot-rice-sin",
+ "hungry-cougars-press",
"large-kangaroos-poke",
+ "lazy-steaks-tell",
"lemon-goats-obey",
"light-hornets-eat",
+ "little-geckos-end",
+ "little-guests-sell",
"long-bananas-rescue",
+ "loud-lemons-listen",
"many-vans-thank",
+ "mean-adults-argue",
+ "mean-berries-kick",
"metal-singers-matter",
"metal-windows-share",
"modern-ducks-lay",
"moody-crabs-march",
"nasty-zoos-cross",
+ "nervous-hounds-matter",
"nervous-humans-sip",
+ "nice-seas-jam",
+ "ninety-coats-learn",
"old-onions-hear",
+ "perfect-donuts-applaud",
+ "pink-cars-pretend",
"plenty-clouds-guess",
"polite-lions-sell",
+ "polite-moose-beam",
"popular-pots-yell",
"pretty-masks-live",
"proud-toys-return",
"purple-beans-march",
+ "purple-cherries-fix",
"quiet-pens-notice",
"red-games-decide",
+ "renovate-0546761",
+ "renovate-0cf9337",
"renovate-149779d",
"renovate-2ae4dda",
+ "renovate-33c3cf4",
+ "renovate-3aba547",
+ "renovate-4338117",
"renovate-4b5ff24",
"renovate-7438bff",
"renovate-833a91b",
+ "renovate-913f3dc",
"renovate-9454dab",
+ "renovate-9bbb0fb",
+ "renovate-cbb545a",
+ "renovate-d26eca1",
+ "renovate-dc1ee8d",
+ "renovate-dd35ce8",
+ "renovate-e091137",
+ "renovate-f43300b",
+ "rich-goats-breathe",
+ "rich-steaks-juggle",
"rude-llamas-lie",
"search-boats-double",
"search-lightning-cult",
@@ -215,38 +261,51 @@
"serious-houses-watch",
"serious-zebras-joke",
"shaggy-melons-drive",
+ "shaggy-spiders-notice",
"sharp-numbers-taste",
"sharp-planes-turn",
"shiny-seahorses-do",
"shiny-turkeys-doubt",
"short-deers-remember",
"short-olives-train",
+ "short-wolves-applaud",
"shy-cameras-develop",
"silent-coats-brake",
"silly-geese-design",
"silver-needles-unite",
+ "small-shoes-hide",
"smart-elephants-knock",
"smooth-sheep-hide",
+ "spicy-walls-repair",
+ "stale-needles-applaud",
"strange-tables-flash",
"strange-trains-collect",
"strong-lies-explain",
"sweet-plants-sparkle",
+ "swift-plants-fix",
"tame-guests-wave",
"techdocs-eyes-sit",
"techdocs-gorgeous-plants-sniff",
"techdocs-sheep-talk",
"techdocs-sixty-mugs-hug",
"techdocs-the-whole-pulse",
+ "ten-cobras-wash",
+ "tender-chicken-learn",
+ "tender-terms-flash",
"thick-cats-kiss",
"thick-radios-drive",
"thirty-rivers-watch",
"tricky-ravens-visit",
"twelve-candles-jump",
+ "twelve-peaches-tickle",
"two-crews-accept",
+ "two-owls-cry",
"unlucky-stingrays-juggle",
+ "warm-monkeys-study",
"weak-bananas-deliver",
"weak-jeans-cry",
"weak-llamas-repeat",
+ "wet-cameras-juggle",
"wet-dolphins-act",
"wicked-icons-grin",
"wicked-ladybugs-argue"
diff --git a/.changeset/renovate-0cf9337.md b/.changeset/renovate-0cf9337.md
new file mode 100644
index 0000000000..8544c10b50
--- /dev/null
+++ b/.changeset/renovate-0cf9337.md
@@ -0,0 +1,43 @@
+---
+'@backstage/backend-common': patch
+'@backstage/backend-tasks': patch
+'@backstage/integration': patch
+'@backstage/plugin-adr-backend': patch
+'@backstage/plugin-app-backend': patch
+'@backstage/plugin-auth-backend': patch
+'@backstage/plugin-azure-devops': patch
+'@backstage/plugin-bazaar': patch
+'@backstage/plugin-bitrise': patch
+'@backstage/plugin-catalog-backend': patch
+'@backstage/plugin-cicd-statistics-module-gitlab': patch
+'@backstage/plugin-cicd-statistics': patch
+'@backstage/plugin-circleci': patch
+'@backstage/plugin-cloudbuild': patch
+'@backstage/plugin-code-climate': patch
+'@backstage/plugin-code-coverage': patch
+'@backstage/plugin-cost-insights': patch
+'@backstage/plugin-firehydrant': patch
+'@backstage/plugin-fossa': patch
+'@backstage/plugin-gcalendar': patch
+'@backstage/plugin-git-release-manager': patch
+'@backstage/plugin-github-actions': patch
+'@backstage/plugin-github-deployments': patch
+'@backstage/plugin-gocd': patch
+'@backstage/plugin-ilert': patch
+'@backstage/plugin-jenkins': patch
+'@backstage/plugin-kubernetes-backend': patch
+'@backstage/plugin-kubernetes': patch
+'@backstage/plugin-pagerduty': patch
+'@backstage/plugin-periskop': patch
+'@backstage/plugin-scaffolder-backend': patch
+'@backstage/plugin-scaffolder': patch
+'@backstage/plugin-sentry': patch
+'@backstage/plugin-splunk-on-call': patch
+'@backstage/plugin-tech-insights-backend-module-jsonfc': patch
+'@backstage/plugin-tech-insights-backend': patch
+'@backstage/plugin-tech-insights-common': patch
+'@backstage/plugin-tech-insights-node': patch
+'@backstage/plugin-xcmetrics': patch
+---
+
+Updated dependency `luxon` to `^3.0.0`.
diff --git a/.changeset/renovate-3aba547.md b/.changeset/renovate-3aba547.md
new file mode 100644
index 0000000000..61b67f74ab
--- /dev/null
+++ b/.changeset/renovate-3aba547.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-catalog-backend-module-github': patch
+'@backstage/plugin-github-deployments': patch
+---
+
+Updated dependency `@octokit/graphql` to `^5.0.0`.
diff --git a/.changeset/renovate-6403cb0.md b/.changeset/renovate-6403cb0.md
new file mode 100644
index 0000000000..817d409f51
--- /dev/null
+++ b/.changeset/renovate-6403cb0.md
@@ -0,0 +1,104 @@
+---
+'@backstage/backend-common': patch
+'@backstage/backend-test-utils': patch
+'@backstage/catalog-client': patch
+'@backstage/cli': patch
+'@backstage/config-loader': patch
+'@backstage/core-app-api': patch
+'@backstage/core-components': patch
+'@backstage/core-plugin-api': patch
+'@backstage/integration-react': patch
+'@backstage/integration': patch
+'@backstage/release-manifests': patch
+'@backstage/test-utils': patch
+'@backstage/plugin-adr-backend': patch
+'@backstage/plugin-adr': patch
+'@backstage/plugin-airbrake-backend': patch
+'@backstage/plugin-airbrake': patch
+'@backstage/plugin-allure': patch
+'@backstage/plugin-analytics-module-ga': patch
+'@backstage/plugin-apache-airflow': patch
+'@backstage/plugin-api-docs': patch
+'@backstage/plugin-app-backend': patch
+'@backstage/plugin-auth-backend': patch
+'@backstage/plugin-auth-node': patch
+'@backstage/plugin-azure-devops-backend': patch
+'@backstage/plugin-azure-devops': patch
+'@backstage/plugin-badges': patch
+'@backstage/plugin-bitbucket-cloud-common': patch
+'@backstage/plugin-bitrise': patch
+'@backstage/plugin-catalog-backend-module-azure': patch
+'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
+'@backstage/plugin-catalog-backend-module-bitbucket': patch
+'@backstage/plugin-catalog-backend-module-gerrit': patch
+'@backstage/plugin-catalog-backend-module-github': patch
+'@backstage/plugin-catalog-backend-module-gitlab': patch
+'@backstage/plugin-catalog-backend-module-msgraph': patch
+'@backstage/plugin-catalog-backend': patch
+'@backstage/plugin-catalog-graphql': patch
+'@backstage/plugin-catalog-import': patch
+'@backstage/plugin-circleci': patch
+'@backstage/plugin-cloudbuild': patch
+'@backstage/plugin-code-climate': patch
+'@backstage/plugin-code-coverage-backend': patch
+'@backstage/plugin-code-coverage': patch
+'@backstage/plugin-codescene': patch
+'@backstage/plugin-config-schema': patch
+'@backstage/plugin-cost-insights': patch
+'@backstage/plugin-dynatrace': patch
+'@backstage/plugin-explore-react': patch
+'@backstage/plugin-explore': patch
+'@backstage/plugin-firehydrant': patch
+'@backstage/plugin-fossa': patch
+'@backstage/plugin-gcalendar': patch
+'@backstage/plugin-gcp-projects': patch
+'@backstage/plugin-git-release-manager': patch
+'@backstage/plugin-github-actions': patch
+'@backstage/plugin-github-deployments': patch
+'@backstage/plugin-github-pull-requests-board': patch
+'@backstage/plugin-gitops-profiles': patch
+'@backstage/plugin-gocd': patch
+'@backstage/plugin-graphiql': patch
+'@backstage/plugin-graphql-backend': patch
+'@backstage/plugin-home': patch
+'@backstage/plugin-ilert': patch
+'@backstage/plugin-jenkins-backend': patch
+'@backstage/plugin-jenkins': patch
+'@backstage/plugin-kafka': patch
+'@backstage/plugin-kubernetes': patch
+'@backstage/plugin-lighthouse': patch
+'@backstage/plugin-newrelic': patch
+'@backstage/plugin-org': patch
+'@backstage/plugin-pagerduty': patch
+'@backstage/plugin-periskop-backend': patch
+'@backstage/plugin-periskop': patch
+'@backstage/plugin-permission-backend': patch
+'@backstage/plugin-permission-common': patch
+'@backstage/plugin-permission-node': patch
+'@backstage/plugin-proxy-backend': patch
+'@backstage/plugin-rollbar-backend': patch
+'@backstage/plugin-rollbar': patch
+'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch
+'@backstage/plugin-scaffolder-backend': patch
+'@backstage/plugin-scaffolder': patch
+'@backstage/plugin-search': patch
+'@backstage/plugin-sentry': patch
+'@backstage/plugin-shortcuts': patch
+'@backstage/plugin-sonarqube': patch
+'@backstage/plugin-splunk-on-call': patch
+'@backstage/plugin-stack-overflow': patch
+'@backstage/plugin-tech-insights': patch
+'@backstage/plugin-tech-radar': patch
+'@backstage/plugin-techdocs-addons-test-utils': patch
+'@backstage/plugin-techdocs-backend': patch
+'@backstage/plugin-techdocs-module-addons-contrib': patch
+'@backstage/plugin-techdocs': patch
+'@backstage/plugin-todo-backend': patch
+'@backstage/plugin-todo': patch
+'@backstage/plugin-user-settings': patch
+'@backstage/plugin-vault-backend': patch
+'@backstage/plugin-vault': patch
+'@backstage/plugin-xcmetrics': patch
+---
+
+Updated dependency `msw` to `^0.44.0`.
diff --git a/.changeset/renovate-9ad149b.md b/.changeset/renovate-9ad149b.md
new file mode 100644
index 0000000000..aa4baa3dd1
--- /dev/null
+++ b/.changeset/renovate-9ad149b.md
@@ -0,0 +1,8 @@
+---
+'@backstage/cli': patch
+---
+
+Updated dependency `@spotify/prettier-config` to `^14.0.0`.
+Updated dependency `@spotify/eslint-config-base` to `^14.0.0`.
+Updated dependency `@spotify/eslint-config-react` to `^14.0.0`.
+Updated dependency `@spotify/eslint-config-typescript` to `^14.0.0`.
diff --git a/.changeset/renovate-dc1ee8d.md b/.changeset/renovate-dc1ee8d.md
new file mode 100644
index 0000000000..a6f87f5484
--- /dev/null
+++ b/.changeset/renovate-dc1ee8d.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-search-backend-module-elasticsearch': patch
+---
+
+Updated dependency `@opensearch-project/opensearch` to `^2.0.0`.
diff --git a/.changeset/stale-needles-applaud.md b/.changeset/stale-needles-applaud.md
new file mode 100644
index 0000000000..cc46dc2e3f
--- /dev/null
+++ b/.changeset/stale-needles-applaud.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-api-docs': patch
+---
+
+Set font colors correctly for descriptions containing HTML
diff --git a/.changeset/sweet-rats-invite.md b/.changeset/sweet-rats-invite.md
new file mode 100644
index 0000000000..f292e7bb43
--- /dev/null
+++ b/.changeset/sweet-rats-invite.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend': patch
+---
+
+Add sourcePath option to publish:gerrit action
diff --git a/.changeset/tall-pants-clap.md b/.changeset/tall-pants-clap.md
new file mode 100644
index 0000000000..5a1714c106
--- /dev/null
+++ b/.changeset/tall-pants-clap.md
@@ -0,0 +1,6 @@
+---
+'@backstage/backend-common': patch
+'@backstage/integration': patch
+---
+
+Support self-hosted gitlab installations with relative URL.
diff --git a/.changeset/tender-cycles-shout.md b/.changeset/tender-cycles-shout.md
new file mode 100644
index 0000000000..b5b069759f
--- /dev/null
+++ b/.changeset/tender-cycles-shout.md
@@ -0,0 +1,5 @@
+---
+'@backstage/core-components': patch
+---
+
+Improve accessibility for CopyTextButton
diff --git a/.changeset/thick-shrimps-hammer.md b/.changeset/thick-shrimps-hammer.md
new file mode 100644
index 0000000000..ddc0928154
--- /dev/null
+++ b/.changeset/thick-shrimps-hammer.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder': minor
+---
+
+Add support for `allowedOwners` to the `BitbucketRepoPicker` used for the workspace value.
diff --git a/.changeset/warm-monkeys-study.md b/.changeset/warm-monkeys-study.md
new file mode 100644
index 0000000000..ae9ab4565c
--- /dev/null
+++ b/.changeset/warm-monkeys-study.md
@@ -0,0 +1,5 @@
+---
+'@backstage/core-plugin-api': patch
+---
+
+Enabled the `@backstage/core-plugin-api/alpha` entry point.
diff --git a/.changeset/warm-paws-sneeze.md b/.changeset/warm-paws-sneeze.md
new file mode 100644
index 0000000000..e620074f43
--- /dev/null
+++ b/.changeset/warm-paws-sneeze.md
@@ -0,0 +1,5 @@
+---
+'@backstage/errors': patch
+---
+
+Inline the type of `ConsumedResponse.headers` and tweaked it to be the intersection of the built-in type and `node-fetch` type.
diff --git a/.changeset/wicked-dragons-brush.md b/.changeset/wicked-dragons-brush.md
new file mode 100644
index 0000000000..737451f1fd
--- /dev/null
+++ b/.changeset/wicked-dragons-brush.md
@@ -0,0 +1,14 @@
+---
+'@backstage/plugin-techdocs': minor
+---
+
+Use the same initial filter `owned` for the `TechDocsIndexPage` as for the `CatalogPage`.
+
+If you prefer to keep the previous behavior, you can change the default for the initial filter
+to `all` (or `starred` if you rather prefer that).
+
+```
+
+```
+
+In general, with this change you will be able to set props at `TechDocsIndexPage`.
diff --git a/.changeset/witty-ladybugs-laugh.md b/.changeset/witty-ladybugs-laugh.md
new file mode 100644
index 0000000000..d47bbb3250
--- /dev/null
+++ b/.changeset/witty-ladybugs-laugh.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-scaffolder': patch
+'@backstage/plugin-scaffolder-backend': patch
+---
+
+Allow to create Gerrit project using default owner
diff --git a/.changeset/young-seas-report.md b/.changeset/young-seas-report.md
new file mode 100644
index 0000000000..388dada7e7
--- /dev/null
+++ b/.changeset/young-seas-report.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-bazaar': patch
+'@backstage/plugin-bazaar-backend': patch
+---
+
+Fixed api warnings
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 7127fb1da2..113ca7757d 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -13,6 +13,7 @@ yarn.lock @backstage/reviewers @backst
/docs/assets/search @backstage/reviewers @backstage/techdocs-core
/docs/features/search @backstage/reviewers @backstage/techdocs-core
/docs/features/techdocs @backstage/reviewers @backstage/techdocs-core
+/docs/plugins/integrating-search-into-plugins.md @backstage/reviewers @backstage/techdocs-core
/packages/techdocs-cli @backstage/reviewers @backstage/techdocs-core
/packages/techdocs-cli-embedded-app @backstage/reviewers @backstage/techdocs-core
/plugins/allure @backstage/reviewers @deepak-bhardwaj-ps
diff --git a/.github/workflows/automate_stale.yml b/.github/workflows/automate_stale.yml
index 8978048c89..35b0a8c0a6 100644
--- a/.github/workflows/automate_stale.yml
+++ b/.github/workflows/automate_stale.yml
@@ -8,7 +8,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- - uses: actions/stale@main
+ - uses: actions/stale@v5
id: stale
with:
stale-issue-message: >
@@ -17,7 +17,7 @@ jobs:
for your contributions.
days-before-issue-stale: 60
days-before-issue-close: 7
- exempt-issue-labels: 'pinned,security,plugin,help wanted,good first issue,rfc,will-fix'
+ exempt-issue-labels: pinned,security,plugin,after-vacations,rfc,will-fix
stale-issue-label: stale
stale-pr-message: >
This PR has been automatically marked as stale because it has not had
@@ -25,6 +25,6 @@ jobs:
If you are the author and the PR has been closed, feel free to re-open the PR and continue the contribution!
days-before-pr-stale: 7
days-before-pr-close: 5
- exempt-pr-labels: reviewer-approved,will-fix
+ exempt-pr-labels: after-vacations,will-fix
stale-pr-label: stale
operations-per-run: 100
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 2e134eaa71..e732e49b43 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -15,6 +15,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
+ fail-fast: false
matrix:
node-version: [14.x, 16.x]
@@ -44,6 +45,7 @@ jobs:
needs: install
strategy:
+ fail-fast: false
matrix:
node-version: [14.x, 16.x]
@@ -120,6 +122,7 @@ jobs:
needs: install
strategy:
+ fail-fast: false
matrix:
node-version: [14.x, 16.x]
diff --git a/.github/workflows/verify_e2e-linux.yml b/.github/workflows/verify_e2e-linux.yml
index ec3edb0dbe..d02c17c35f 100644
--- a/.github/workflows/verify_e2e-linux.yml
+++ b/.github/workflows/verify_e2e-linux.yml
@@ -28,6 +28,7 @@ jobs:
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
strategy:
+ fail-fast: false
matrix:
os: [ubuntu-latest]
node-version: [14.x, 16.x]
diff --git a/ADOPTERS.md b/ADOPTERS.md
index 941f9ef969..7b6b56874e 100644
--- a/ADOPTERS.md
+++ b/ADOPTERS.md
@@ -168,7 +168,7 @@ _You can do this by using the [Adopter form](https://form.typeform.com/to/zcOaKi
| [Forto](https://forto.com) | [Rodolfo Matos](mailto:rodolfo.matos@forto.com) | Still in a experimental phase/assessing the organisational fit. We will be using it mostly a developer portal -- pretty standard use case. |
| [BetterUp](https://betterup.com) | [Jordan Hochenbaum](mailto:jordan.hochenbaum@betterup.co) | We're starting to use Backstage as the central hub for service discovery, documentation, and develop experience. |
| [warung pintar](https://warungpintar.co.id/) | [Muhammad Rafly Andrianza](mailto:rafly.andrianza@warungpintar.co) | Initial Work Developer Portal with TechRadar, Service Catalogue, TechDocs, anything about platform & infrastructure resources. |
-| [RD](https://rd.com.br/) | [Michael Silva](mailto:midsilva@rd.com.br) | We are building our developer portal. Software catalog, Tech Radar and Scaffolding are among the initial features. |
+| [RaiaDrogasil](https://rd.com.br/) | [Michael Lima](mailto:midsilva@rd.com.br) | We are building our developer portal. Software catalog, Tech Radar and Scaffolding are among the initial features. |
| [AEB](https://www.aeb.com/) | [David Fankhänel](mailto:dfl@aeb.com) | Central developer platform for creating new apps via templates, getting an overview via software catalog, etc |
| [SALTO Systems](https://saltosystems.com) | [Ian Cowley](mailto:i.cowley@saltosystems.com) | Currently using Backstage as an internal documentation portal. |
| [Lummo](https://lummo.com) | [Anjul Sahu](mailto:anjul@lummo.com) | We are building the internal developer portal using Backstage and bringing up all integrations and service information at one place. |
diff --git a/docs/features/kubernetes/configuration.md b/docs/features/kubernetes/configuration.md
index 633584bdb5..dce4e60a87 100644
--- a/docs/features/kubernetes/configuration.md
+++ b/docs/features/kubernetes/configuration.md
@@ -57,11 +57,16 @@ This is an array used to determine where to retrieve cluster configuration from.
Valid cluster locator methods are:
+- [`catalog`](#catalog)
- [`localKubectlProxy`](#localKubectlProxy)
- [`config`](#config)
- [`gke`](#gke)
- [custom `KubernetesClustersSupplier`](#custom-kubernetesclusterssupplier)
+#### `catalog`
+
+This cluster locator method will read cluster information from the catalog.
+
#### `localKubectlProxy`
This cluster locator method will assume a locally running [`kubectl proxy`](https://kubernetes.io/docs/tasks/extend-kubernetes/http-proxy-access-api/#using-kubectl-to-start-a-proxy-server) process using the default port (8001).
diff --git a/docs/features/search/how-to-guides.md b/docs/features/search/how-to-guides.md
index 64787ec3c1..fb0883d506 100644
--- a/docs/features/search/how-to-guides.md
+++ b/docs/features/search/how-to-guides.md
@@ -112,6 +112,8 @@ of the `SearchType` component.
```
+> Check out the documentation around [integrating search into plugins](../../plugins/integrating-search-into-plugins.md#create-a-collator) for how to create your own collator.
+
## How to limit what can be searched in the Software Catalog
The Software Catalog includes a wealth of information about the components,
diff --git a/docs/features/software-templates/writing-templates.md b/docs/features/software-templates/writing-templates.md
index 81367b19c5..a1cd50f271 100644
--- a/docs/features/software-templates/writing-templates.md
+++ b/docs/features/software-templates/writing-templates.md
@@ -93,8 +93,12 @@ spec:
# some outputs which are saved along with the job for use in the frontend
output:
- remoteUrl: ${{ steps.publish.output.remoteUrl }}
- entityRef: ${{ steps.register.output.entityRef }}
+ links:
+ - title: Repository
+ url: ${{ steps.publish.output.remoteUrl }}
+ - title: Open in catalog
+ icon: catalog
+ entityRef: ${{ steps.register.output.entityRef }}
```
Let's dive in and pick apart what each of these sections do and what they are.
@@ -495,8 +499,12 @@ The main two that are used are the following:
```yaml
output:
- remoteUrl: ${{ steps.publish.output.remoteUrl }} # link to the remote repository
- entityRef: ${{ steps.register.output.entityRef }} # link to the entity that has been ingested to the catalog
+ links:
+ - title: Repository
+ url: ${{ steps.publish.output.remoteUrl }} # link to the remote repository
+ - title: Open in catalog
+ icon: catalog
+ entityRef: ${{ steps.register.output.entityRef }} # link to the entity that has been ingested to the catalog
```
## The templating syntax
diff --git a/docs/features/techdocs/README.md b/docs/features/techdocs/README.md
index 761a247819..65cfafd464 100644
--- a/docs/features/techdocs/README.md
+++ b/docs/features/techdocs/README.md
@@ -66,6 +66,7 @@ See [TechDocs Architecture](architecture.md) to get an overview of where the bel
| GitHub Enterprise | Yes ✅ |
| Bitbucket | Yes ✅ |
| Azure DevOps | Yes ✅ |
+| Gerrit | Yes ✅ |
| GitLab | Yes ✅ |
| GitLab Enterprise | Yes ✅ |
diff --git a/docs/integrations/azure/org.md b/docs/integrations/azure/org.md
index 8e17bb2cc1..56d37369dd 100644
--- a/docs/integrations/azure/org.md
+++ b/docs/integrations/azure/org.md
@@ -3,12 +3,239 @@ id: org
title: Microsoft Azure Active Directory Organizational Data
sidebar_label: Org Data
# prettier-ignore
-description: Importing users and groups from a Microsoft Azure Active Directory into Backstage
+description: Importing users and groups from Microsoft Azure Active Directory into Backstage
---
The Backstage catalog can be set up to ingest organizational data - users and
teams - directly from a tenant in Microsoft Azure Active Directory via the
Microsoft Graph API.
-More details on this are available in the
-[README of the `@backstage/plugin-catalog-backend-module-msgraph` package](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-msgraph/README.md).
+## Installation
+
+The package is not installed by default, therefore you have to add `@backstage/plugin-catalog-backend-module-msgraph` to your backend package.
+
+```bash
+# From your Backstage root directory
+yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-msgraph
+```
+
+Next add the basic configuration to `app-config.yaml`
+
+```yaml
+catalog:
+ providers:
+ microsoftGraphOrg:
+ default:
+ tenantId: ${AZURE_TENANT_ID}
+ user:
+ filter: accountEnabled eq true and userType eq 'member'
+ group:
+ filter: >
+ securityEnabled eq false
+ and mailEnabled eq true
+ and groupTypes/any(c:c+eq+'Unified')
+```
+
+Finally, register the plugin in `catalog.ts`.
+For large organizations, this plugin can take a long time, so be careful setting low frequency / timeouts.
+
+```diff
+ // packages/backend/src/plugins/catalog.ts
++import { MicrosoftGraphOrgEntityProvider } from '@backstage/plugin-catalog-backend-module-msgraph';
+
+ export default async function createPlugin(
+ env: PluginEnvironment,
+ ): Promise {
+ const builder = await CatalogBuilder.create(env);
+
++ builder.addEntityProvider(
++ MicrosoftGraphOrgEntityProvider.fromConfig(env.config, {
++ logger: env.logger,
++ schedule: env.scheduler.createScheduledTaskRunner({
++ frequency: { hours: 1 },
++ timeout: { minutes: 50 },
++ initialDelay: { seconds: 15}
++ }),
++ }),
++ );
+```
+
+## Authenticating with Microsoft Graph
+
+### Local Development
+
+For a local dev environment, it's recommended you have the Azure CLI or Azure PowerShell installed, and are logged in to those.
+Alternatively you can use VSCode with the Azure extension if you install `@azure/identity-vscode`.
+When these are set up, the plugin will authenticate with the Microsoft Graph API without you needing to configure any credentials, or granting any special permissions.
+If you can't do this, you'll have to create an App Registration.
+
+### App Registration
+
+If none of the other authentication methods work, you can create an app registration in the azure portal.
+By default the graph plugin requires the following Application permissions (not Delegated) for Microsoft Graph:
+
+- `GroupMember.Read.All`
+- `User.Read.All`
+
+If your organization required Admin Consent for these permissions, that will need to be granted.
+
+When authenticating with a ClientId/ClientSecret, you can either set the `AZURE_TENANT_ID`, `AZURE_CLIENT_ID` and `AZURE_CLIENT_SECRET` environment variables, or specify the values in configuration
+
+```yaml
+microsoftGraphOrg:
+ default:
+ ##...
+ clientId: 9ef1aac6-b454-4e69-9cf5-7199df049281
+ clientSecret: REDACTED
+```
+
+To authenticate with a certificate rather than a client secret, you can set the `AZURE_TENANT_ID`, `AZURE_CLIENT_ID` and `AZURE_CLIENT_CERTIFICATE_PATH` environments
+
+### Managed Identity
+
+If deploying to resources that supports Managed Identity, and has identities configured (e.g. Azure App Services, Azure Container Apps), Managed Identity should be picked up without any additional configuration.
+If your app has multiple managed identities, you may need to set the `AZURE_CLIENT_ID` environment variable to tell Azure Identity which identity to use.
+
+You will need to grant the same permissions to your identity as described for App Registrations above.
+
+## Filtering imported Users and Groups
+
+By default, the plugin will import all users and groups from your directory.
+This can be customized through filters and search queries.
+
+### Groups
+
+A smaller set of groups can be obtained by configuring a search query or a filter.
+If both `filter` and `search` are provided, then groups must match both to be ingested.
+
+```yaml
+microsoftGraphOrg:
+ providerId:
+ group:
+ filter: securityEnabled eq false and mailEnabled eq true and groupTypes/any(c:c+eq+'Unified')
+ search: '"description:One" AND ("displayName:Video" OR "displayName:Drive")'
+```
+
+In addition to these groups, one additional group will be created for your organization.
+All imported groups will be a child of this group.
+
+### Users
+
+There are two modes for importing users - You can import all user objects matching a `filter`.
+
+```yaml
+microsoftGraphOrg:
+ providerId:
+ user:
+ filter: accountEnabled eq true and userType eq 'member'
+```
+
+Alternatively you can import users that are members of specific groups.
+For each group matching the `search` and `filter` query, each group member will be imported.
+Only direct group members will be imported, not transient users.
+
+```yaml
+microsoftGraphOrg:
+ providerId:
+ userGroupMember:
+ filter: "displayName eq 'Backstage Users'"
+ search: '"description:One" AND ("displayName:Video" OR "displayName:Drive")'
+```
+
+## Customizing Transformation
+
+Ingested entities can be customized by providing custom transformers.
+These can be used to completely replace the built in logic, or used to tweak it by using the default transformers (`defaultGroupTransformer`, `defaultUserTransformer` and `defaultOrganizationTransformer`
+Entities can also be excluded from backstage by returning `undefined`.
+
+These Transformers are be registered when configuring `MicrosoftGraphOrgEntityProvider`
+
+```diff
+ builder.addEntityProvider(
+ MicrosoftGraphOrgEntityProvider.fromConfig(env.config, {
+ // ...
++ groupTransformer: myGroupTransformer,
++ userTransformer: myUserTransformer,
++ organizationTransformer: myOrganizationTransformer,
+ }),
+ );
+```
+
+When using custom transformers, you may want to customize the data returned.
+Several configuration options can be provided to tweak the Microsoft Graph query to get the data you need
+
+```yaml
+microsoftGraphOrg:
+ providerId:
+ user:
+ expand: manager
+ group:
+ expand: member
+ select: ['id', 'displayName', 'description']
+```
+
+The following provides an example of each kind of transformer
+
+```ts
+import * as MicrosoftGraph from '@microsoft/microsoft-graph-types';
+import {
+ defaultGroupTransformer,
+ defaultUserTransformer,
+ defaultOrganizationTransformer,
+} from '@backstage/plugin-catalog-backend-module-msgraph';
+import { GroupEntity, UserEntity } from '@backstage/catalog-model';
+
+// This group transformer completely replaces the built in logic with custom logic.
+export async function myGroupTransformer(
+ group: MicrosoftGraph.Group,
+ groupPhoto?: string,
+): Promise {
+ return {
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'Group',
+ metadata: {
+ name: group.id!,
+ annotations: {},
+ },
+ spec: {
+ type: 'aad',
+ children: [],
+ },
+ };
+}
+
+// This user transformer makes use of the built in logic, but also sets the description field
+export async function myUserTransformer(
+ graphUser: MicrosoftGraph.User,
+ userPhoto?: string,
+): Promise {
+ const backstageUser = await defaultUserTransformer(graphUser, userPhoto);
+
+ if (backstageUser) {
+ backstageUser.metadata.description = 'Loaded from Azure Active Directory';
+ }
+
+ return backstageUser;
+}
+
+// Example organization transformer that removes the organization group completely
+export async function myOrganizationTransformer(
+ graphOrganization: MicrosoftGraph.Organization,
+): Promise {
+ return undefined;
+}
+```
+
+## Troubleshooting
+
+### Authentication / Token Errors
+
+See [Troubleshooting Azure Identity Authentication Issues](https://aka.ms/azsdk/js/identity/troubleshoot)
+
+### Error while reading users from Microsoft Graph: Authorization_RequestDenied - Insufficient privileges to complete the operation.
+
+- Make sure you've granted all the required permissions to your application registration or managed identity
+- Make sure the permissions are `Application` permissions rather than `Delegated`
+- If your organization has configured "Admin consent" to be required, make sure this has been granted for your application permissions
+- If your group queries are returning Microsoft Teams groups, you may need to grant addition permissions (e.g. `Team.ReadBasic.All`, `TeamMember.Read.All`)
+- If you've added additional `select` or `expand` fields, those may need additional permissions granted
diff --git a/docs/integrations/datadog-rum/installation.md b/docs/integrations/datadog-rum/installation.md
index f96298a33b..821d35db15 100644
--- a/docs/integrations/datadog-rum/installation.md
+++ b/docs/integrations/datadog-rum/installation.md
@@ -24,6 +24,8 @@ app:
# env: 'staging'
```
+If your [`app-config.yaml`](https://github.com/backstage/backstage/blob/master/app-config.yaml#L5) file does not have this configuration, you may have to adjust your [`packages/app/public/index.html`](https://github.com/backstage/backstage/blob/master/packages/app/public/index.html#L64) to include the Datadog RUM `init()` section manually.
+
The `clientToken` and `applicationId` are generated from the Datadog RUM page
following
[these instructions](https://docs.datadoghq.com/real_user_monitoring/browser/).
diff --git a/docs/plugins/composability.md b/docs/plugins/composability.md
index 1894ce0d0d..2ec9d7a6e5 100644
--- a/docs/plugins/composability.md
+++ b/docs/plugins/composability.md
@@ -74,7 +74,7 @@ The extension type is a simple one:
```ts
export type Extension = {
- expose(plugin: BackstagePlugin): T;
+ expose(plugin: BackstagePlugin): T;
};
```
diff --git a/docs/plugins/integrating-search-into-plugins.md b/docs/plugins/integrating-search-into-plugins.md
index 77456dd5b4..3855dd5474 100644
--- a/docs/plugins/integrating-search-into-plugins.md
+++ b/docs/plugins/integrating-search-into-plugins.md
@@ -14,7 +14,139 @@ Search Platform in your plugin.
## Providing data to the search platform
-> A guide on how to create collators is coming soon!
+### Create a collator
+
+> Knowing what a [collator](../features/search/concepts.md#collators) is will help you as you build it out.
+
+Imagine you have a plugin that is responsible for storing FAQ snippets in a database. You want other engineers to be able to easily find your questions and answers. So that means you want them to be indexed by the search platform. Lets say the FAQ snippets can be viewed at a URL like `backstage.example.biz/faq-snippets`.
+
+The search platform provides an interface (`DocumentCollatorFactory` from package `@backstage/plugin-search-common`) that allows you to do exactly that. It works by registering each of your entries as a "document" that later represents one search result each.
+
+> You can always look at a working example, e.g. [StackOverflowQuestionsCollatorFactory](https://github.com/backstage/backstage/blob/master/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts), if you are unsure or want to follow best practices.
+
+#### 1. Install collator interface dependencies
+
+We will need the interface `DocumentCollatorFactory` from package `@backstage/plugin-search-common`, so let's add it to your plugins dependencies:
+
+```sh
+# navigate to the plugin directory
+# (for this tutorial our plugin lives in the backstage repo, if your plugin lives in a separate repo you need to clone that first)
+cd plugins/faq-snippets
+
+# Create a new branch using Git command-line
+git checkout -b tutorials/new-faq-snippets-collator
+
+# Install the package containing the interface
+yarn add @backstage/plugin-search-common
+```
+
+#### 2. Define your document type
+
+Before we can start generating documents from our FAQ entries, we first have to define a document type containing all necessary information we need to later display our entry as search result. The package `@backstage/plugin-search-common` we installed earlier contains a type `IndexableDocument` that we can extend.
+
+Create a new file `plugins/faq-snippets/src/search/collators/FaqSnippetDocument.ts` and paste the following below:
+
+```ts
+import { IndexableDocument } from '@backstage/plugin-search-common';
+
+export interface FaqSnippetDocument extends IndexableDocument {
+ answered_by: string;
+}
+```
+
+#### 3. Use Backstage App configuration
+
+Your new collator could benefit from using configuration directly from the Backstage `app-config.yaml` file which is located on the project's root folder:
+
+```yaml
+faq:
+ baseUrl: https://backstage.example.biz/faq-snippets
+```
+
+#### 4. Implement your collator
+
+Imagine your FAQs can be retrieved at the URL `https://backstage.example.biz/faq-snippets` with following JSON response format:
+
+```json
+{
+ "items": [
+ {
+ "id": 42,
+ "question": "What is The Answer to the Ultimate Question of Life, the Universe, and Everything?",
+ "answer": "Forty-two",
+ "user": "Deep Thought"
+ }
+ ]
+}
+```
+
+Below we provide an example implementation of how the FAQ collator factory could look like using our new document type, placed in the `plugins/faq-snippets/src/search/collators/FaqCollatorFactory.ts` file:
+
+```ts
+import fetch from 'cross-fetch';
+import { Logger } from 'winston';
+import { Config } from '@backstage/config';
+import { Readable } from 'stream';
+import { DocumentCollatorFactory } from '@backstage/plugin-search-common';
+
+import { FaqDocument } from './FaqDocument';
+
+export type FaqCollatorFactoryOptions = {
+ baseUrl?: string;
+ logger: Logger;
+};
+
+export class FaqCollatorFactory implements DocumentCollatorFactory {
+ private readonly baseUrl: string | undefined;
+ private readonly logger: Logger;
+ public readonly type: string = 'faq-snippets';
+
+ private constructor(options: FaqCollatorFactoryOptions) {
+ this.baseUrl = options.baseUrl;
+ this.logger = options.logger;
+ }
+
+ static fromConfig(config: Config, options: FaqCollatorFactoryOptions) {
+ const baseUrl =
+ config.getOptionalString('faq.baseUrl') ||
+ 'https://backstage.example.biz/faq-snippets';
+ return new FaqCollatorFactory({ ...options, baseUrl });
+ }
+
+ async getCollator() {
+ return Readable.from(this.execute());
+ }
+
+ async *execute(): AsyncGenerator {
+ if (!this.baseUrl) {
+ this.logger.error(`No faq.baseUrl configured in your app-config.yaml`);
+ return;
+ }
+
+ const response = await fetch(this.baseUrl);
+ const data = await response.json();
+
+ for (const faq of data.items) {
+ yield {
+ title: faq.question,
+ location: `/faq-snippets/${faq.id}`,
+ text: faq.answer,
+ answered_by: faq.user,
+ };
+ }
+ }
+}
+```
+
+#### 5. Test your collator
+
+To verify your implementation works as expected make sure to add tests for it. For your convenience, there is the [`TestPipeline`](https://backstage.io/docs/reference/plugin-search-backend-node.testpipeline) utility that emulates a pipeline into which you can integrate your custom collator.
+
+Look at [DefaultTechDocsCollatorFactory test](https://github.com/backstage/backstage/blob/master/plugins/techdocs-backend/src/search/DefaultTechDocsCollatorFactory.test.ts), for an example.
+
+#### 6. Make your plugins collator discoverable for others
+
+If you want to make your collator discoverable for other adopters, add it to the list of [plugins integrated to search](https://backstage.io/docs/features/search/search-overview#plugins-integrated-with-backstage-search).
## Building a search experience into your plugin
diff --git a/docs/releases/v1.4.0-next.3-changelog.md b/docs/releases/v1.4.0-next.3-changelog.md
new file mode 100644
index 0000000000..8a5b4260f6
--- /dev/null
+++ b/docs/releases/v1.4.0-next.3-changelog.md
@@ -0,0 +1,1719 @@
+# Release v1.4.0-next.3
+
+## @backstage/plugin-catalog-node@1.0.0-next.0
+
+### Major Changes
+
+- 9a6aba1d85: This package houses stable types from the `@backstage/plugin-catalog-backend` package and is intended for creation of catalog modules. Prefer importing from this package over the `@backstage/plugin-catalog-backend` package.
+
+### Minor Changes
+
+- 91c1d12123: Added alpha exports for the new experimental backend system.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.1.0-next.0
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/backend-app-api@0.1.0-next.0
+
+### Minor Changes
+
+- 91c1d12123: Add initial plumbing for creating backends using the experimental backend framework.
+
+ This package is highly **EXPERIMENTAL** and should not be used in production.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.1.0-next.0
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-permission-node@0.6.3-next.2
+ - @backstage/backend-tasks@0.3.3-next.3
+
+## @backstage/backend-plugin-api@0.1.0-next.0
+
+### Minor Changes
+
+- 91c1d12123: Introduced new package for creating backend plugins using the new alpha backend plugin framework.
+ This package is still considered **EXPERIMENTAL** and things will change without warning. Do not use this for production.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/backend-tasks@0.3.3-next.3
+
+## @backstage/plugin-auth-backend@0.15.0-next.3
+
+### Minor Changes
+
+- fe8e025af5: Allowed post method on /refresh path
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- 3a014730dc: Add new config option for okta auth server and IDP
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/plugin-auth-node@0.2.3-next.2
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-catalog-backend@1.3.0-next.3
+
+### Minor Changes
+
+- 1dd6c22cc8: Added an option to be able to trigger refreshes on entities based on a prestored arbitrary key.
+
+ The UrlReaderProcessor, FileReaderProcessor got updated to store the absolute URL of the catalog file as a refresh key. In the format of `:`
+ The PlaceholderProcessor got updated to store the resolverValues as refreshKeys for the entities.
+
+ The custom resolvers will need to be updated to pass in a `CatalogProcessorEmit` function as parameter and they should be updated to emit their refresh processingResults. You can see the updated resolvers in the `PlaceholderProcessor.ts`
+
+ ```ts
+ // yamlPlaceholderResolver
+ ...
+ const { content, url } = await readTextLocation(params);
+
+ params.emit(processingResult.refresh(`url:${url}`));
+ ...
+ ```
+
+- 91c1d12123: Export experimental `catalogPlugin` for the new backend system. This export is not considered stable and should not be used in production.
+
+### Patch Changes
+
+- 1e02fe46d6: Fixed bug where catalog metrics weren't being tracked.
+
+- 5f6b847c15: Fix Error Code in Register Component DryRun
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+
+- fa0533e604: CatalogBuilder supports now subscription to processing engine errors.
+
+ ```ts
+ subscribe(options: {
+ onProcessingError: (event: { unprocessedEntity: Entity, error: Error }) => Promise | void;
+ });
+ ```
+
+ If you want to get notified on errors while processing the entities, you call CatalogBuilder.subscribe
+ to get notifications with the parameters defined as above.
+
+- 9a6aba1d85: Many symbol declarations have been moved to `@backstage/plugin-catalog-node`. This has no affect on users of this package as they are all re-exported. Modules that build on top of the catalog backend plugin should switch all of their imports to the `@backstage/plugin-catalog-node` package and remove the dependency on `@backstage/plugin-catalog-backend`.
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.1.0-next.0
+ - @backstage/plugin-catalog-node@1.0.0-next.0
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/plugin-permission-node@0.6.3-next.2
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-code-coverage@0.2.0-next.3
+
+### Minor Changes
+
+- d70aaa7622: Cleaned up API exports.
+
+ The `Router` export has been removed; users are expected to use `EntityCodeCoverageContent` instead.
+
+ The `isPluginApplicableToEntity` helper has been deprecated, in favor of the `isCodeCoverageAvailable` helper.
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-code-coverage-backend@0.2.0-next.3
+
+### Minor Changes
+
+- d70aaa7622: Cleaned up API exports.
+
+ The `CodeCoverageApi` and `makeRouter` exports have been removed from the backend, since they were not meant to be exported in the first place.
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-kubernetes@0.7.0-next.3
+
+### Minor Changes
+
+- f5c9730639: Add `localKubectlProxy` cluster locator method to make local development simpler to setup.
+
+ Consolidated no-op server side auth decorators.
+ The following Kubernetes auth decorators are now one class (`ServerSideKubernetesAuthProvider`):
+
+ - `AwsKubernetesAuthProvider`
+ - `AzureKubernetesAuthProvider`
+ - `ServiceAccountKubernetesAuthProvider`
+
+### Patch Changes
+
+- 3ec294a186: expose detectErrors function publicly
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- eadb3a8d2e: Updated dependency `@kubernetes/client-node` to `^0.17.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-kubernetes-common@0.4.0-next.2
+
+## @backstage/plugin-kubernetes-backend@0.7.0-next.3
+
+### Minor Changes
+
+- f5c9730639: Add `localKubectlProxy` cluster locator method to make local development simpler to setup.
+
+ Consolidated no-op server side auth decorators.
+ The following Kubernetes auth decorators are now one class (`ServerSideKubernetesAuthProvider`):
+
+ - `AwsKubernetesAuthProvider`
+ - `AzureKubernetesAuthProvider`
+ - `ServiceAccountKubernetesAuthProvider`
+
+- 1454bf98e7: Add new endpoints to Kubernetes backend plugin
+
+ BREAKING: Kubernetes backend plugin now depends on CatalogApi
+
+ ```typescript
+ // Create new CatalogClient
+ const catalogApi = new CatalogClient({ discoveryApi: env.discovery });
+ const { router } = await KubernetesBuilder.createBuilder({
+ logger: env.logger,
+ config: env.config,
+ // Inject it into createBuilder params
+ catalogApi,
+ }).build();
+ ```
+
+### Patch Changes
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- eadb3a8d2e: Updated dependency `@kubernetes/client-node` to `^0.17.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/plugin-auth-node@0.2.3-next.2
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-kubernetes-common@0.4.0-next.2
+
+## @backstage/plugin-newrelic-dashboard@0.2.0-next.3
+
+### Minor Changes
+
+- 79ecedded9: Fix bug where the default time window/snapshot duration was supposed to be 30 days, but ended up being 43 weeks
+
+ **BREAKING**: Add a select input to change the time window of the snapshot displayed. This removes the duration prop from the `DashboardSnapshot` component.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-scaffolder-backend@1.4.0-next.3
+
+### Minor Changes
+
+- 91c1d12123: Export experimental `scaffolderCatalogExtension` for the new backend system. This export is not considered stable and should not be used in production.
+
+### Patch Changes
+
+- ea6dcb84a4: Don't resolve symlinks, treat them as binary files and copy them as-is
+
+- af02f54483: new setUserAsOwner flag for publish:gitlab action
+
+ The field default is `false`. When true it will use the token configured in the gitlab integration for the matching host, to try and set the user logged in via `repoUrlPicker` `requestUserCredentials` OAuth flow as owner of the repository created in GitLab.
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+
+- 511f49ee43: Updated dependency `octokit` to `^2.0.0`.
+
+- 735853353b: Updated dependency `@octokit/webhooks` to `^10.0.0`.
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/plugin-catalog-node@1.0.0-next.0
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-sentry@0.4.0-next.3
+
+### Minor Changes
+
+- 1b7c691a3b: Added the possibility to specify organization per component, now the annotation `sentry.io/project-slug` can have the format of `[organization]/[project-slug]` or just `[project-slug]`.
+
+ **BREAKING**: The method `fetchIssue` changed the signature:
+
+ ```diff
+ export interface SentryApi {
+ fetchIssues(
+ - project: string,
+ - statsFor: string,
+ - query?: string,
+ + entity: Entity,
+ + options: {
+ + statsFor: string;
+ + query?: string;
+ + },
+ ): Promise;
+ }
+ ```
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-tech-insights-backend@0.5.0-next.3
+
+### Minor Changes
+
+- 46cfda58aa: **BREAKING**: Update FactRetrieverRegistry interface to be async so that db backed implementations can be passed through to the FactRetrieverEngine.
+
+ If you have existing custom `FactRetrieverRegistry` implementations, you'll need to remove the `retrievers` member and make all the methods async.
+
+### Patch Changes
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- bcc122c46d: The `FactRetriever` model has been extended by adding optional title and description fields, allowing you to display them in the UI.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/plugin-tech-insights-common@0.2.5-next.0
+ - @backstage/plugin-tech-insights-node@0.3.2-next.1
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/app-defaults@1.0.4-next.3
+
+### Patch Changes
+
+- 881fc75a75: Internal tweak removing usage of explicit type parameters for the `BackstagePlugin` type.
+- Updated dependencies
+ - @backstage/core-app-api@1.0.4-next.1
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/plugin-permission-react@0.4.3-next.1
+
+## @backstage/backend-common@0.14.1-next.3
+
+### Patch Changes
+
+- 90c87f28e8: Moving from Bitbucket Server endpoint from to , to have the last commit in function of different branch, and not only the list of default branch
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/config-loader@1.1.3-next.1
+ - @backstage/integration@1.2.2-next.3
+
+## @backstage/backend-tasks@0.3.3-next.3
+
+### Patch Changes
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+
+## @backstage/backend-test-utils@0.1.26-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/cli@0.18.0-next.3
+
+## @backstage/catalog-client@1.0.4-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/catalog-model@1.1.0-next.3
+
+### Patch Changes
+
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+
+## @backstage/cli@0.18.0-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- e662b573cf: Updated dependency `@octokit/request` to `^6.0.0`.
+- Updated dependencies
+ - @backstage/config-loader@1.1.3-next.1
+ - @backstage/release-manifests@0.0.5-next.0
+
+## @backstage/config-loader@1.1.3-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- a3acec8819: Updated dependency `typescript-json-schema` to `^0.54.0`.
+
+## @backstage/core-app-api@1.0.4-next.1
+
+### Patch Changes
+
+- 881fc75a75: Internal tweak removing usage of explicit type parameters for the `BackstagePlugin` type.
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+
+## @backstage/core-components@0.10.0-next.3
+
+### Patch Changes
+
+- 7f5e79961d: Fix relative `sub-paths` by concatenating the app's base path with them.
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 693990d4fe: Updated dependency `@react-hookz/web` to `^15.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+
+## @backstage/core-plugin-api@1.0.4-next.0
+
+### Patch Changes
+
+- 881fc75a75: Internal tweak removing usage of explicit type parameters for the `BackstagePlugin` type.
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 2990fff4e5: Enabled the `@backstage/core-plugin-api/alpha` entry point.
+
+## @backstage/create-app@0.4.29-next.3
+
+### Patch Changes
+
+- Bumped create-app version.
+
+## @backstage/dev-utils@1.0.4-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/app-defaults@1.0.4-next.3
+ - @backstage/core-app-api@1.0.4-next.1
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/test-utils@1.1.2-next.2
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/integration@1.2.2-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- 1f29047bad: Updated dependency `@octokit/auth-app` to `^4.0.0`.
+- 4df3390795: Avoid double encoding of the file path in `getBitbucketServerDownloadUrl`
+
+## @backstage/integration-react@1.1.2-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration@1.2.2-next.3
+
+## @backstage/release-manifests@0.0.5-next.0
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+
+## @backstage/test-utils@1.1.2-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-app-api@1.0.4-next.1
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/plugin-permission-react@0.4.3-next.1
+
+## @backstage/plugin-adr@0.1.2-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 511f49ee43: Updated dependency `octokit` to `^2.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-search-react@0.2.2-next.3
+
+## @backstage/plugin-adr-backend@0.1.2-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-airbrake@0.3.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/test-utils@1.1.2-next.2
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/dev-utils@1.0.4-next.3
+
+## @backstage/plugin-airbrake-backend@0.2.7-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+
+## @backstage/plugin-allure@0.1.23-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-analytics-module-ga@0.1.18-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
+## @backstage/plugin-apache-airflow@0.2.0-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
+## @backstage/plugin-api-docs@0.8.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- b76eea25ed: Updated dependency `@asyncapi/react-component` to `1.0.0-next.39`.
+- 9432a05cf3: Set font colors correctly for descriptions containing HTML
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-catalog@1.4.0-next.3
+
+## @backstage/plugin-app-backend@0.3.34-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/config-loader@1.1.3-next.1
+
+## @backstage/plugin-auth-node@0.2.3-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+
+## @backstage/plugin-azure-devops@0.1.23-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-azure-devops-common@0.2.4-next.0
+
+## @backstage/plugin-azure-devops-backend@0.3.13-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+
+- e67c4b7d5a: Adding getProjects endpoint to list out all projects associated with the Azure DevOps organization.
+
+ It can be accessed by using this endpoint `{backendUrl}/api/azure-devops/projects`
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-azure-devops-common@0.2.4-next.0
+
+## @backstage/plugin-azure-devops-common@0.2.4-next.0
+
+### Patch Changes
+
+- e67c4b7d5a: Adding getProjects endpoint to list out all projects associated with the Azure DevOps organization.
+
+ It can be accessed by using this endpoint `{backendUrl}/api/azure-devops/projects`
+
+## @backstage/plugin-badges@0.2.31-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-bazaar@0.1.22-next.3
+
+### Patch Changes
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/cli@0.18.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-catalog@1.4.0-next.3
+
+## @backstage/plugin-bitbucket-cloud-common@0.1.1-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/integration@1.2.2-next.3
+
+## @backstage/plugin-bitrise@0.1.34-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-catalog@1.4.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-search-react@0.2.2-next.3
+
+## @backstage/plugin-catalog-backend-module-aws@0.1.7-next.2
+
+### Patch Changes
+
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-catalog-backend-module-azure@0.1.5-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-catalog-backend-module-bitbucket@0.2.1-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/plugin-bitbucket-cloud-common@0.1.1-next.1
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.1.1-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/plugin-bitbucket-cloud-common@0.1.1-next.1
+ - @backstage/backend-tasks@0.3.3-next.3
+
+## @backstage/plugin-catalog-backend-module-gerrit@0.1.2-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-catalog-backend-module-github@0.1.5-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 0f25116d28: Updated dependency `@octokit/graphql` to `^5.0.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-catalog-backend-module-gitlab@0.1.5-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-catalog-backend-module-ldap@0.5.1-next.2
+
+### Patch Changes
+
+- ddfd566606: Fix mapping between users and groups for FreeIPA when using the LdapOrgProcessor
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-catalog-backend-module-msgraph@0.4.0-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-catalog-backend-module-openapi@0.1.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-catalog-graph@0.2.19-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-catalog-graphql@0.3.11-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-catalog-import@0.8.10-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-catalog-react@1.1.2-next.3
+
+### Patch Changes
+
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-permission-react@0.4.3-next.1
+
+## @backstage/plugin-cicd-statistics@0.1.9-next.1
+
+### Patch Changes
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-cicd-statistics-module-gitlab@0.1.3-next.1
+
+### Patch Changes
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/plugin-cicd-statistics@0.1.9-next.1
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-circleci@0.3.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-cloudbuild@0.3.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-code-climate@0.1.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-codescene@0.1.2-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
+## @backstage/plugin-config-schema@0.1.30-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
+## @backstage/plugin-cost-insights@0.11.29-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-dynatrace@0.1.1-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-explore@0.3.38-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/plugin-explore-react@0.0.19-next.0
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-explore-react@0.0.19-next.0
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+
+## @backstage/plugin-firehydrant@0.1.24-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-fossa@0.2.39-next.3
+
+### Patch Changes
+
+- 322d1ceeba: Allow configuration of base URL for Fossa links
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-gcalendar@0.3.3-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
+## @backstage/plugin-gcp-projects@0.3.26-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 693990d4fe: Updated dependency `@react-hookz/web` to `^15.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
+## @backstage/plugin-git-release-manager@0.3.20-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration@1.2.2-next.3
+
+## @backstage/plugin-github-actions@0.5.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-github-deployments@0.1.38-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- 0f25116d28: Updated dependency `@octokit/graphql` to `^5.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-github-pull-requests-board@0.1.1-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-gitops-profiles@0.3.25-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
+## @backstage/plugin-gocd@0.1.13-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-graphiql@0.2.39-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
+## @backstage/plugin-graphql-backend@0.1.24-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-catalog-graphql@0.3.11-next.1
+
+## @backstage/plugin-home@0.4.23-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/plugin-stack-overflow@0.1.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-ilert@0.1.33-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-jenkins@0.7.6-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-jenkins-backend@0.1.24-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/plugin-auth-node@0.2.3-next.2
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-kafka@0.3.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-kubernetes-common@0.4.0-next.2
+
+### Patch Changes
+
+- eadb3a8d2e: Updated dependency `@kubernetes/client-node` to `^0.17.0`.
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-lighthouse@0.3.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-newrelic@0.3.25-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
+## @backstage/plugin-org@0.5.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-pagerduty@0.5.0-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-periskop@0.1.5-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-periskop-backend@0.1.5-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+
+## @backstage/plugin-permission-backend@0.5.9-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-auth-node@0.2.3-next.2
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/plugin-permission-node@0.6.3-next.2
+
+## @backstage/plugin-permission-common@0.6.3-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+
+## @backstage/plugin-permission-node@0.6.3-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-auth-node@0.2.3-next.2
+ - @backstage/plugin-permission-common@0.6.3-next.1
+
+## @backstage/plugin-permission-react@0.4.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/plugin-permission-common@0.6.3-next.1
+
+## @backstage/plugin-proxy-backend@0.2.28-next.1
+
+### Patch Changes
+
+- a4fa1ce090: The proxy-backend now automatically reloads configuration when app-config.yaml is updated.
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+
+## @backstage/plugin-rollbar@0.4.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-rollbar-backend@0.1.31-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+
+## @backstage/plugin-scaffolder@1.4.0-next.3
+
+### Patch Changes
+
+- b557e6c58d: Fixed that adding more than one `allowedOwner` or `allowedRepo` in the template config will now still set the first value as default in the initial form state of `RepoUrlPicker`.
+- d600cb2ab6: contextMenu prop passed through to from the component
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- 693990d4fe: Updated dependency `@react-hookz/web` to `^15.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-permission-react@0.4.3-next.1
+
+## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.9-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-scaffolder-backend@1.4.0-next.3
+ - @backstage/integration@1.2.2-next.3
+
+## @backstage/plugin-search@0.9.1-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-search-react@0.2.2-next.3
+
+## @backstage/plugin-search-backend@0.5.4-next.2
+
+### Patch Changes
+
+- a21cd43467: If error is `MissingIndexError` we return a 400 response with a more clear error message.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-auth-node@0.2.3-next.2
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/plugin-permission-node@0.6.3-next.2
+ - @backstage/plugin-search-backend-node@0.6.3-next.2
+
+## @backstage/plugin-search-backend-module-elasticsearch@0.2.0-next.2
+
+### Patch Changes
+
+- 71de198828: Updated dependency `@opensearch-project/opensearch` to `^2.0.0`.
+- a21cd43467: Throws `MissingIndexError` when no index of type exist.
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@0.6.3-next.2
+
+## @backstage/plugin-search-backend-node@0.6.3-next.2
+
+### Patch Changes
+
+- a21cd43467: Exports `MissingIndexError` that can be used by the search engines for better error handling when missing index.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/backend-tasks@0.3.3-next.3
+
+## @backstage/plugin-search-react@0.2.2-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
+## @backstage/plugin-shortcuts@0.2.8-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
+## @backstage/plugin-sonarqube@0.3.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-splunk-on-call@0.3.31-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-stack-overflow@0.1.3-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/plugin-home@0.4.23-next.3
+
+## @backstage/plugin-tech-insights@0.2.3-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/plugin-tech-insights-common@0.2.5-next.0
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.18-next.2
+
+### Patch Changes
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-tech-insights-common@0.2.5-next.0
+ - @backstage/plugin-tech-insights-node@0.3.2-next.1
+
+## @backstage/plugin-tech-insights-common@0.2.5-next.0
+
+### Patch Changes
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+
+## @backstage/plugin-tech-insights-node@0.3.2-next.1
+
+### Patch Changes
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- bcc122c46d: The `FactRetriever` model has been extended by adding optional title and description fields, allowing you to display them in the UI.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-tech-insights-common@0.2.5-next.0
+
+## @backstage/plugin-tech-radar@0.5.14-next.3
+
+### Patch Changes
+
+- b8f608f1ec: Update tech-radar documentation on how to use an external json data source with dates.
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
+## @backstage/plugin-techdocs@1.2.1-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-search-react@0.2.2-next.3
+ - @backstage/plugin-techdocs-react@1.0.2-next.2
+
+## @backstage/plugin-techdocs-addons-test-utils@1.0.2-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-app-api@1.0.4-next.1
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/test-utils@1.1.2-next.2
+ - @backstage/plugin-techdocs@1.2.1-next.3
+ - @backstage/plugin-catalog@1.4.0-next.3
+ - @backstage/plugin-search-react@0.2.2-next.3
+ - @backstage/plugin-techdocs-react@1.0.2-next.2
+
+## @backstage/plugin-techdocs-backend@1.2.0-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-techdocs-node@1.2.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-techdocs-module-addons-contrib@1.0.2-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 693990d4fe: Updated dependency `@react-hookz/web` to `^15.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/plugin-techdocs-react@1.0.2-next.2
+
+## @backstage/plugin-techdocs-node@1.2.0-next.3
+
+### Patch Changes
+
+- d505b7b37d: Fixed issue with git feedback buttons not appearing automatically in docs pages. This was done by appending repo_url to the helper function getRepoUrlFromLocationAnnotation.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-techdocs-react@1.0.2-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-todo@0.2.9-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-todo-backend@0.1.31-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
+## @backstage/plugin-user-settings@0.4.6-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
+## @backstage/plugin-vault@0.1.1-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
+## @backstage/plugin-vault-backend@0.2.0-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/backend-test-utils@0.1.26-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+
+## @backstage/plugin-xcmetrics@0.2.27-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
+## example-app@0.2.73-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-code-coverage@0.2.0-next.3
+ - @backstage/plugin-scaffolder@1.4.0-next.3
+ - @backstage/plugin-kubernetes@0.7.0-next.3
+ - @backstage/plugin-tech-radar@0.5.14-next.3
+ - @backstage/plugin-newrelic-dashboard@0.2.0-next.3
+ - @backstage/app-defaults@1.0.4-next.3
+ - @backstage/core-app-api@1.0.4-next.1
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/plugin-sentry@0.4.0-next.3
+ - @backstage/cli@0.18.0-next.3
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/plugin-airbrake@0.3.7-next.3
+ - @backstage/plugin-apache-airflow@0.2.0-next.3
+ - @backstage/plugin-api-docs@0.8.7-next.3
+ - @backstage/plugin-azure-devops@0.1.23-next.3
+ - @backstage/plugin-badges@0.2.31-next.3
+ - @backstage/plugin-catalog-import@0.8.10-next.3
+ - @backstage/plugin-circleci@0.3.7-next.3
+ - @backstage/plugin-cloudbuild@0.3.7-next.3
+ - @backstage/plugin-cost-insights@0.11.29-next.3
+ - @backstage/plugin-dynatrace@0.1.1-next.3
+ - @backstage/plugin-explore@0.3.38-next.3
+ - @backstage/plugin-gcalendar@0.3.3-next.3
+ - @backstage/plugin-gcp-projects@0.3.26-next.3
+ - @backstage/plugin-github-actions@0.5.7-next.3
+ - @backstage/plugin-gocd@0.1.13-next.3
+ - @backstage/plugin-graphiql@0.2.39-next.3
+ - @backstage/plugin-home@0.4.23-next.3
+ - @backstage/plugin-jenkins@0.7.6-next.3
+ - @backstage/plugin-kafka@0.3.7-next.3
+ - @backstage/plugin-lighthouse@0.3.7-next.3
+ - @backstage/plugin-newrelic@0.3.25-next.3
+ - @backstage/plugin-org@0.5.7-next.3
+ - @backstage/plugin-pagerduty@0.5.0-next.3
+ - @backstage/plugin-rollbar@0.4.7-next.3
+ - @backstage/plugin-search@0.9.1-next.3
+ - @backstage/plugin-shortcuts@0.2.8-next.3
+ - @backstage/plugin-stack-overflow@0.1.3-next.3
+ - @backstage/plugin-tech-insights@0.2.3-next.3
+ - @backstage/plugin-techdocs-module-addons-contrib@1.0.2-next.3
+ - @backstage/plugin-techdocs@1.2.1-next.3
+ - @backstage/plugin-todo@0.2.9-next.3
+ - @backstage/plugin-user-settings@0.4.6-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-catalog@1.4.0-next.3
+ - @backstage/plugin-catalog-graph@0.2.19-next.3
+ - @backstage/plugin-permission-react@0.4.3-next.1
+ - @backstage/plugin-search-react@0.2.2-next.3
+ - @backstage/plugin-techdocs-react@1.0.2-next.2
+
+## example-backend@0.2.73-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-code-coverage-backend@0.2.0-next.3
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/plugin-kubernetes-backend@0.7.0-next.3
+ - @backstage/plugin-proxy-backend@0.2.28-next.1
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-scaffolder-backend@1.4.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/plugin-app-backend@0.3.34-next.3
+ - @backstage/plugin-auth-backend@0.15.0-next.3
+ - @backstage/plugin-auth-node@0.2.3-next.2
+ - @backstage/plugin-azure-devops-backend@0.3.13-next.1
+ - @backstage/plugin-graphql-backend@0.1.24-next.1
+ - @backstage/plugin-jenkins-backend@0.1.24-next.3
+ - @backstage/plugin-permission-backend@0.5.9-next.2
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/plugin-permission-node@0.6.3-next.2
+ - @backstage/plugin-rollbar-backend@0.1.31-next.1
+ - @backstage/plugin-techdocs-backend@1.2.0-next.3
+ - @backstage/plugin-todo-backend@0.1.31-next.2
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.18-next.2
+ - @backstage/plugin-tech-insights-backend@0.5.0-next.3
+ - @backstage/plugin-tech-insights-node@0.3.2-next.1
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-search-backend-module-elasticsearch@0.2.0-next.2
+ - @backstage/plugin-search-backend-node@0.6.3-next.2
+ - @backstage/plugin-search-backend@0.5.4-next.2
+ - example-app@0.2.73-next.3
+
+## example-backend-next@0.0.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/plugin-scaffolder-backend@1.4.0-next.3
+ - @backstage/backend-app-api@0.1.0-next.0
+
+## techdocs-cli-embedded-app@0.2.72-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/app-defaults@1.0.4-next.3
+ - @backstage/core-app-api@1.0.4-next.1
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/cli@0.18.0-next.3
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/test-utils@1.1.2-next.2
+ - @backstage/plugin-techdocs@1.2.1-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog@1.4.0-next.3
+ - @backstage/plugin-techdocs-react@1.0.2-next.2
+
+## @internal/plugin-todo-list@1.0.3-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
diff --git a/microsite/package.json b/microsite/package.json
index c0c16d881b..b6373ba047 100644
--- a/microsite/package.json
+++ b/microsite/package.json
@@ -16,7 +16,7 @@
"lock:check": "yarn-lock-check"
},
"devDependencies": {
- "@spotify/prettier-config": "^13.0.1",
+ "@spotify/prettier-config": "^14.0.0",
"docusaurus": "^2.0.0-alpha.70",
"js-yaml": "^4.1.0",
"prettier": "^2.6.2",
diff --git a/microsite/siteConfig.js b/microsite/siteConfig.js
index d757ed448b..8396a64729 100644
--- a/microsite/siteConfig.js
+++ b/microsite/siteConfig.js
@@ -40,6 +40,7 @@ const siteConfig = {
// Google Analytics
gaTrackingId: 'UA-163836834-5',
+ gaGtag: true,
// For no header links in the top nav bar -> headerLinks: [],
headerLinks: [
diff --git a/microsite/yarn.lock b/microsite/yarn.lock
index f4831e2b42..dc5c1fe6cf 100644
--- a/microsite/yarn.lock
+++ b/microsite/yarn.lock
@@ -909,10 +909,10 @@
resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd"
integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==
-"@spotify/prettier-config@^13.0.1":
- version "13.0.1"
- resolved "https://registry.npmjs.org/@spotify/prettier-config/-/prettier-config-13.0.1.tgz#0fdceb3d4ab543259ce6adc0ec1d10e34898b812"
- integrity sha512-oVd4hjx2+y0MeUdk1l+ItwVLwlrDlvTlGwXBWMMzPYc7DLyxuxFvDfoHGkAQkrikfAgtdnzxrW6u9a8ywUqdfw==
+"@spotify/prettier-config@^14.0.0":
+ version "14.0.1"
+ resolved "https://registry.npmjs.org/@spotify/prettier-config/-/prettier-config-14.0.1.tgz#a3a2342ec07693647ab76a64a623fbb79d464fa7"
+ integrity sha512-NHT7IpIVOsAMhPfDVf1S/jfq59j7d2ru3XoU9An/Aqy9MDr/ZmAvQEAPFiz+qlm41xEGkNK34yEi71LC03G2oA==
"@types/cheerio@^0.22.8":
version "0.22.23"
diff --git a/package.json b/package.json
index 9f219cfa11..680c668fe6 100644
--- a/package.json
+++ b/package.json
@@ -49,7 +49,7 @@
"@types/react": "^17",
"@types/react-dom": "^17"
},
- "version": "1.4.0-next.2",
+ "version": "1.4.0-next.3",
"dependencies": {
"@manypkg/get-packages": "^1.1.3",
"@microsoft/api-documenter": "^7.17.11",
@@ -59,8 +59,8 @@
},
"devDependencies": {
"@changesets/cli": "^2.14.0",
- "@octokit/rest": "^18.12.0",
- "@spotify/prettier-config": "^13.0.0",
+ "@octokit/rest": "^19.0.3",
+ "@spotify/prettier-config": "^14.0.0",
"@types/node": "^16.11.26",
"@types/webpack": "^5.28.0",
"command-exists": "^1.2.9",
diff --git a/packages/app-defaults/CHANGELOG.md b/packages/app-defaults/CHANGELOG.md
index 2786d4a5e4..8e50e13300 100644
--- a/packages/app-defaults/CHANGELOG.md
+++ b/packages/app-defaults/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/app-defaults
+## 1.0.4-next.3
+
+### Patch Changes
+
+- 881fc75a75: Internal tweak removing usage of explicit type parameters for the `BackstagePlugin` type.
+- Updated dependencies
+ - @backstage/core-app-api@1.0.4-next.1
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/plugin-permission-react@0.4.3-next.1
+
## 1.0.4-next.2
### Patch Changes
diff --git a/packages/app-defaults/package.json b/packages/app-defaults/package.json
index e67af42404..17c196da79 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.2",
+ "version": "1.0.4-next.3",
"private": false,
"publishConfig": {
"access": "public",
@@ -33,10 +33,10 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-permission-react": "^0.4.3-next.0",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-permission-react": "^0.4.3-next.1",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -46,8 +46,8 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@types/jest": "^26.0.7",
diff --git a/packages/app-defaults/src/createApp.tsx b/packages/app-defaults/src/createApp.tsx
index d85dfa04eb..9d0c01c633 100644
--- a/packages/app-defaults/src/createApp.tsx
+++ b/packages/app-defaults/src/createApp.tsx
@@ -50,7 +50,7 @@ export function createApp(
...icons,
...options?.icons,
},
- plugins: (options?.plugins as BackstagePlugin[]) ?? [],
+ plugins: (options?.plugins as BackstagePlugin[]) ?? [],
themes: options?.themes ?? themes,
});
}
diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md
index 0f28d87448..65e4a5bc85 100644
--- a/packages/app/CHANGELOG.md
+++ b/packages/app/CHANGELOG.md
@@ -1,5 +1,62 @@
# example-app
+## 0.2.73-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-code-coverage@0.2.0-next.3
+ - @backstage/plugin-scaffolder@1.4.0-next.3
+ - @backstage/plugin-kubernetes@0.7.0-next.3
+ - @backstage/plugin-tech-radar@0.5.14-next.3
+ - @backstage/plugin-newrelic-dashboard@0.2.0-next.3
+ - @backstage/app-defaults@1.0.4-next.3
+ - @backstage/core-app-api@1.0.4-next.1
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/plugin-sentry@0.4.0-next.3
+ - @backstage/cli@0.18.0-next.3
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/plugin-airbrake@0.3.7-next.3
+ - @backstage/plugin-apache-airflow@0.2.0-next.3
+ - @backstage/plugin-api-docs@0.8.7-next.3
+ - @backstage/plugin-azure-devops@0.1.23-next.3
+ - @backstage/plugin-badges@0.2.31-next.3
+ - @backstage/plugin-catalog-import@0.8.10-next.3
+ - @backstage/plugin-circleci@0.3.7-next.3
+ - @backstage/plugin-cloudbuild@0.3.7-next.3
+ - @backstage/plugin-cost-insights@0.11.29-next.3
+ - @backstage/plugin-dynatrace@0.1.1-next.3
+ - @backstage/plugin-explore@0.3.38-next.3
+ - @backstage/plugin-gcalendar@0.3.3-next.3
+ - @backstage/plugin-gcp-projects@0.3.26-next.3
+ - @backstage/plugin-github-actions@0.5.7-next.3
+ - @backstage/plugin-gocd@0.1.13-next.3
+ - @backstage/plugin-graphiql@0.2.39-next.3
+ - @backstage/plugin-home@0.4.23-next.3
+ - @backstage/plugin-jenkins@0.7.6-next.3
+ - @backstage/plugin-kafka@0.3.7-next.3
+ - @backstage/plugin-lighthouse@0.3.7-next.3
+ - @backstage/plugin-newrelic@0.3.25-next.3
+ - @backstage/plugin-org@0.5.7-next.3
+ - @backstage/plugin-pagerduty@0.5.0-next.3
+ - @backstage/plugin-rollbar@0.4.7-next.3
+ - @backstage/plugin-search@0.9.1-next.3
+ - @backstage/plugin-shortcuts@0.2.8-next.3
+ - @backstage/plugin-stack-overflow@0.1.3-next.3
+ - @backstage/plugin-tech-insights@0.2.3-next.3
+ - @backstage/plugin-techdocs-module-addons-contrib@1.0.2-next.3
+ - @backstage/plugin-techdocs@1.2.1-next.3
+ - @backstage/plugin-todo@0.2.9-next.3
+ - @backstage/plugin-user-settings@0.4.6-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-catalog@1.4.0-next.3
+ - @backstage/plugin-catalog-graph@0.2.19-next.3
+ - @backstage/plugin-permission-react@0.4.3-next.1
+ - @backstage/plugin-search-react@0.2.2-next.3
+ - @backstage/plugin-techdocs-react@1.0.2-next.2
+
## 0.2.73-next.2
### Patch Changes
diff --git a/packages/app/package.json b/packages/app/package.json
index c114d79250..08833ca1a3 100644
--- a/packages/app/package.json
+++ b/packages/app/package.json
@@ -1,71 +1,71 @@
{
"name": "example-app",
- "version": "0.2.73-next.2",
+ "version": "0.2.73-next.3",
"private": true,
"backstage": {
"role": "frontend"
},
"bundled": true,
"dependencies": {
- "@backstage/app-defaults": "^1.0.4-next.2",
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/app-defaults": "^1.0.4-next.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/integration-react": "^1.1.2-next.2",
- "@backstage/plugin-airbrake": "^0.3.7-next.2",
- "@backstage/plugin-api-docs": "^0.8.7-next.2",
- "@backstage/plugin-azure-devops": "^0.1.23-next.2",
- "@backstage/plugin-apache-airflow": "^0.2.0-next.2",
- "@backstage/plugin-badges": "^0.2.31-next.2",
- "@backstage/plugin-catalog": "^1.4.0-next.2",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/integration-react": "^1.1.2-next.3",
+ "@backstage/plugin-airbrake": "^0.3.7-next.3",
+ "@backstage/plugin-api-docs": "^0.8.7-next.3",
+ "@backstage/plugin-azure-devops": "^0.1.23-next.3",
+ "@backstage/plugin-apache-airflow": "^0.2.0-next.3",
+ "@backstage/plugin-badges": "^0.2.31-next.3",
+ "@backstage/plugin-catalog": "^1.4.0-next.3",
"@backstage/plugin-catalog-common": "^1.0.4-next.0",
- "@backstage/plugin-catalog-graph": "^0.2.19-next.2",
- "@backstage/plugin-catalog-import": "^0.8.10-next.2",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
- "@backstage/plugin-circleci": "^0.3.7-next.2",
- "@backstage/plugin-cloudbuild": "^0.3.7-next.2",
- "@backstage/plugin-code-coverage": "^0.1.34-next.2",
- "@backstage/plugin-cost-insights": "^0.11.29-next.2",
- "@backstage/plugin-dynatrace": "^0.1.1-next.2",
- "@backstage/plugin-explore": "^0.3.38-next.2",
- "@backstage/plugin-gcalendar": "^0.3.3-next.2",
- "@backstage/plugin-gcp-projects": "^0.3.26-next.2",
- "@backstage/plugin-github-actions": "^0.5.7-next.2",
- "@backstage/plugin-gocd": "^0.1.13-next.2",
- "@backstage/plugin-graphiql": "^0.2.39-next.2",
- "@backstage/plugin-home": "^0.4.23-next.2",
- "@backstage/plugin-jenkins": "^0.7.6-next.2",
- "@backstage/plugin-kafka": "^0.3.7-next.2",
- "@backstage/plugin-kubernetes": "^0.6.7-next.2",
- "@backstage/plugin-lighthouse": "^0.3.7-next.2",
- "@backstage/plugin-newrelic": "^0.3.25-next.2",
- "@backstage/plugin-newrelic-dashboard": "^0.1.15-next.2",
- "@backstage/plugin-org": "^0.5.7-next.2",
- "@backstage/plugin-pagerduty": "0.5.0-next.2",
- "@backstage/plugin-permission-react": "^0.4.3-next.0",
- "@backstage/plugin-rollbar": "^0.4.7-next.2",
- "@backstage/plugin-scaffolder": "^1.4.0-next.2",
- "@backstage/plugin-search": "^0.9.1-next.2",
- "@backstage/plugin-search-react": "^0.2.2-next.2",
+ "@backstage/plugin-catalog-graph": "^0.2.19-next.3",
+ "@backstage/plugin-catalog-import": "^0.8.10-next.3",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
+ "@backstage/plugin-circleci": "^0.3.7-next.3",
+ "@backstage/plugin-cloudbuild": "^0.3.7-next.3",
+ "@backstage/plugin-code-coverage": "^0.2.0-next.3",
+ "@backstage/plugin-cost-insights": "^0.11.29-next.3",
+ "@backstage/plugin-dynatrace": "^0.1.1-next.3",
+ "@backstage/plugin-explore": "^0.3.38-next.3",
+ "@backstage/plugin-gcalendar": "^0.3.3-next.3",
+ "@backstage/plugin-gcp-projects": "^0.3.26-next.3",
+ "@backstage/plugin-github-actions": "^0.5.7-next.3",
+ "@backstage/plugin-gocd": "^0.1.13-next.3",
+ "@backstage/plugin-graphiql": "^0.2.39-next.3",
+ "@backstage/plugin-home": "^0.4.23-next.3",
+ "@backstage/plugin-jenkins": "^0.7.6-next.3",
+ "@backstage/plugin-kafka": "^0.3.7-next.3",
+ "@backstage/plugin-kubernetes": "^0.7.0-next.3",
+ "@backstage/plugin-lighthouse": "^0.3.7-next.3",
+ "@backstage/plugin-newrelic": "^0.3.25-next.3",
+ "@backstage/plugin-newrelic-dashboard": "^0.2.0-next.3",
+ "@backstage/plugin-org": "^0.5.7-next.3",
+ "@backstage/plugin-pagerduty": "0.5.0-next.3",
+ "@backstage/plugin-permission-react": "^0.4.3-next.1",
+ "@backstage/plugin-rollbar": "^0.4.7-next.3",
+ "@backstage/plugin-scaffolder": "^1.4.0-next.3",
+ "@backstage/plugin-search": "^0.9.1-next.3",
+ "@backstage/plugin-search-react": "^0.2.2-next.3",
"@backstage/plugin-search-common": "^0.3.6-next.0",
- "@backstage/plugin-sentry": "^0.3.45-next.2",
- "@backstage/plugin-shortcuts": "^0.2.8-next.2",
- "@backstage/plugin-stack-overflow": "^0.1.3-next.2",
- "@backstage/plugin-tech-radar": "^0.5.14-next.2",
- "@backstage/plugin-techdocs": "^1.2.1-next.2",
- "@backstage/plugin-techdocs-react": "^1.0.2-next.1",
- "@backstage/plugin-techdocs-module-addons-contrib": "^1.0.2-next.2",
- "@backstage/plugin-todo": "^0.2.9-next.2",
- "@backstage/plugin-user-settings": "^0.4.6-next.2",
- "@backstage/plugin-tech-insights": "^0.2.3-next.2",
+ "@backstage/plugin-sentry": "^0.4.0-next.3",
+ "@backstage/plugin-shortcuts": "^0.2.8-next.3",
+ "@backstage/plugin-stack-overflow": "^0.1.3-next.3",
+ "@backstage/plugin-tech-radar": "^0.5.14-next.3",
+ "@backstage/plugin-techdocs": "^1.2.1-next.3",
+ "@backstage/plugin-techdocs-react": "^1.0.2-next.2",
+ "@backstage/plugin-techdocs-module-addons-contrib": "^1.0.2-next.3",
+ "@backstage/plugin-todo": "^0.2.9-next.3",
+ "@backstage/plugin-user-settings": "^0.4.6-next.3",
+ "@backstage/plugin-tech-insights": "^0.2.3-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
- "@octokit/rest": "^18.5.3",
+ "@octokit/rest": "^19.0.3",
"@roadiehq/backstage-plugin-buildkite": "^2.0.0",
"@roadiehq/backstage-plugin-github-insights": "^2.0.0",
"@roadiehq/backstage-plugin-github-pull-requests": "^2.0.0",
@@ -81,7 +81,7 @@
"zen-observable": "^0.8.15"
},
"devDependencies": {
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@rjsf/core": "^3.2.1",
"@testing-library/cypress": "^8.0.2",
"@testing-library/jest-dom": "^5.10.1",
diff --git a/packages/backend-app-api/CHANGELOG.md b/packages/backend-app-api/CHANGELOG.md
new file mode 100644
index 0000000000..334de3b4d8
--- /dev/null
+++ b/packages/backend-app-api/CHANGELOG.md
@@ -0,0 +1,17 @@
+# @backstage/backend-app-api
+
+## 0.1.0-next.0
+
+### Minor Changes
+
+- 91c1d12123: Add initial plumbing for creating backends using the experimental backend framework.
+
+ This package is highly **EXPERIMENTAL** and should not be used in production.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.1.0-next.0
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-permission-node@0.6.3-next.2
+ - @backstage/backend-tasks@0.3.3-next.3
diff --git a/packages/backend-app-api/package.json b/packages/backend-app-api/package.json
index ae6f7eb03b..f49fe159f3 100644
--- a/packages/backend-app-api/package.json
+++ b/packages/backend-app-api/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-app-api",
"description": "Core API used by Backstage backend apps",
- "version": "0.0.0",
+ "version": "0.1.0-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"private": false,
@@ -34,16 +34,16 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-plugin-api": "^0.0.0",
- "@backstage/backend-common": "^0.14.1-next.2",
- "@backstage/backend-tasks": "^0.3.3-next.2",
- "@backstage/plugin-permission-node": "^0.6.3-next.1",
+ "@backstage/backend-plugin-api": "^0.1.0-next.0",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/backend-tasks": "^0.3.3-next.3",
+ "@backstage/plugin-permission-node": "^0.6.3-next.2",
"express": "^4.17.1",
"express-promise-router": "^4.1.0",
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2"
+ "@backstage/cli": "^0.18.0-next.3"
},
"files": [
"dist",
diff --git a/packages/backend-common/CHANGELOG.md b/packages/backend-common/CHANGELOG.md
index a052e37fe7..84370721a8 100644
--- a/packages/backend-common/CHANGELOG.md
+++ b/packages/backend-common/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/backend-common
+## 0.14.1-next.3
+
+### Patch Changes
+
+- 90c87f28e8: Moving from Bitbucket Server endpoint from https://docs.atlassian.com/bitbucket-server/rest/7.9.0/bitbucket-rest.html#idp222 to https://docs.atlassian.com/bitbucket-server/rest/7.9.0/bitbucket-rest.html#idp224, to have the last commit in function of different branch, and not only the list of default branch
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/config-loader@1.1.3-next.1
+ - @backstage/integration@1.2.2-next.3
+
## 0.14.1-next.2
### Patch Changes
diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json
index 422465ee6f..cb2f653277 100644
--- a/packages/backend-common/package.json
+++ b/packages/backend-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-common",
"description": "Common functionality library for Backstage backends",
- "version": "0.14.1-next.2",
+ "version": "0.14.1-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"private": false,
@@ -36,13 +36,13 @@
"dependencies": {
"@backstage/cli-common": "^0.1.9",
"@backstage/config": "^1.0.1",
- "@backstage/config-loader": "^1.1.3-next.0",
+ "@backstage/config-loader": "^1.1.3-next.1",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.2",
+ "@backstage/integration": "^1.2.2-next.3",
"@backstage/types": "^1.0.0",
"@google-cloud/storage": "^6.0.0",
"@manypkg/get-packages": "^1.1.3",
- "@octokit/rest": "^18.5.3",
+ "@octokit/rest": "^19.0.3",
"@types/cors": "^2.8.6",
"@types/dockerode": "^3.3.0",
"@types/express": "^4.17.6",
@@ -68,7 +68,7 @@
"knex": "^2.0.0",
"lodash": "^4.17.21",
"logform": "^2.3.2",
- "luxon": "^2.3.1",
+ "luxon": "^3.0.0",
"minimatch": "^5.0.0",
"minimist": "^1.2.5",
"morgan": "^1.10.0",
@@ -91,8 +91,8 @@
}
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.2",
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/archiver": "^5.1.0",
"@types/base64-stream": "^1.0.2",
"@types/compression": "^1.7.0",
@@ -112,7 +112,7 @@
"better-sqlite3": "^7.5.0",
"http-errors": "^2.0.0",
"mock-fs": "^5.1.0",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"mysql2": "^2.2.5",
"recursive-readdir": "^2.2.2",
"supertest": "^6.1.3"
diff --git a/packages/backend-common/src/reading/BitbucketServerUrlReader.test.ts b/packages/backend-common/src/reading/BitbucketServerUrlReader.test.ts
index 1417752494..4584ba75f8 100644
--- a/packages/backend-common/src/reading/BitbucketServerUrlReader.test.ts
+++ b/packages/backend-common/src/reading/BitbucketServerUrlReader.test.ts
@@ -83,13 +83,11 @@ describe('BitbucketServerUrlReader', () => {
),
),
rest.get(
- 'https://api.bitbucket.mycompany.net/rest/api/1.0/projects/backstage/repos/mock/commits',
+ 'https://api.bitbucket.mycompany.net/rest/api/1.0/projects/backstage/repos/mock/commits/*',
(_, res, ctx) =>
res(
ctx.status(200),
- ctx.json({
- values: [{ id: '12ab34cd56ef78gh90ij12kl34mn56op78qr90st' }],
- }),
+ ctx.json({ id: '12ab34cd56ef78gh90ij12kl34mn56op78qr90st' }),
),
),
);
@@ -132,13 +130,11 @@ describe('BitbucketServerUrlReader', () => {
),
),
rest.get(
- 'https://api.bitbucket.mycompany.net/rest/api/1.0/projects/backstage/repos/mock/commits',
+ 'https://api.bitbucket.mycompany.net/rest/api/1.0/projects/backstage/repos/mock/commits/*',
(_, res, ctx) =>
res(
ctx.status(200),
- ctx.json({
- values: [{ id: '12ab34cd56ef78gh90ij12kl34mn56op78qr90st' }],
- }),
+ ctx.json({ id: '12ab34cd56ef78gh90ij12kl34mn56op78qr90st' }),
),
),
);
diff --git a/packages/backend-common/src/reading/BitbucketServerUrlReader.ts b/packages/backend-common/src/reading/BitbucketServerUrlReader.ts
index b4e1e62327..31894cf823 100644
--- a/packages/backend-common/src/reading/BitbucketServerUrlReader.ts
+++ b/packages/backend-common/src/reading/BitbucketServerUrlReader.ts
@@ -186,33 +186,29 @@ export class BitbucketServerUrlReader implements UrlReader {
}
private async getLastCommitShortHash(url: string): Promise {
- const { name: repoName, owner: project } = parseGitUrl(url);
+ const { name: repoName, owner: project, ref: branch } = parseGitUrl(url);
- // Bitbucket Server https://docs.atlassian.com/bitbucket-server/rest/7.9.0/bitbucket-rest.html#idp222
- const commitsApiUrl = `${this.integration.config.apiBaseUrl}/projects/${project}/repos/${repoName}/commits`;
+ // Bitbucket Server https://docs.atlassian.com/bitbucket-server/rest/7.9.0/bitbucket-rest.html#idp224
+ const commitApiUrl = `${this.integration.config.apiBaseUrl}/projects/${project}/repos/${repoName}/commits/${branch}`;
- const commitsResponse = await fetch(
- commitsApiUrl,
+ const commitResponse = await fetch(
+ commitApiUrl,
getBitbucketServerRequestOptions(this.integration.config),
);
- if (!commitsResponse.ok) {
- const message = `Failed to retrieve commits from ${commitsApiUrl}, ${commitsResponse.status} ${commitsResponse.statusText}`;
- if (commitsResponse.status === 404) {
+ if (!commitResponse.ok) {
+ const message = `Failed to retrieve commits from ${commitApiUrl}, ${commitResponse.status} ${commitResponse.statusText}`;
+ if (commitResponse.status === 404) {
throw new NotFoundError(message);
}
throw new Error(message);
}
- const commits = await commitsResponse.json();
- if (
- commits &&
- commits.values &&
- commits.values.length > 0 &&
- commits.values[0].id
- ) {
- return commits.values[0].id.substring(0, 12);
+ const commits = await commitResponse.json();
+
+ if (commits && commits.id) {
+ return commits.id.substring(0, 12);
}
- throw new Error(`Failed to read response from ${commitsApiUrl}`);
+ throw new Error(`Failed to read response from ${commitApiUrl}`);
}
}
diff --git a/packages/backend-common/src/reading/GitlabUrlReader.ts b/packages/backend-common/src/reading/GitlabUrlReader.ts
index 2387dadf5b..5bc234daef 100644
--- a/packages/backend-common/src/reading/GitlabUrlReader.ts
+++ b/packages/backend-common/src/reading/GitlabUrlReader.ts
@@ -16,6 +16,7 @@
import {
getGitLabFileFetchUrl,
+ getGitLabIntegrationRelativePath,
getGitLabRequestOptions,
GitLabIntegration,
ScmIntegrations,
@@ -37,7 +38,7 @@ import {
ReadUrlResponse,
ReadUrlOptions,
} from './types';
-import { trimEnd } from 'lodash';
+import { trimEnd, trimStart } from 'lodash';
import { ReadUrlResponseFactory } from './ReadUrlResponseFactory';
/**
@@ -117,13 +118,24 @@ export class GitlabUrlReader implements UrlReader {
const { etag, signal } = options ?? {};
const { ref, full_name, filepath } = parseGitUrl(url);
+ let repoFullName = full_name;
+
+ const relativePath = getGitLabIntegrationRelativePath(
+ this.integration.config,
+ );
+
+ // Considering self hosted gitlab with relative
+ if (relativePath) {
+ repoFullName = trimStart(full_name, relativePath);
+ }
+
// Use GitLab API to get the default branch
// encodeURIComponent is required for GitLab API
// https://docs.gitlab.com/ee/api/README.html#namespaced-path-encoding
const projectGitlabResponse = await fetch(
new URL(
`${this.integration.config.apiBaseUrl}/projects/${encodeURIComponent(
- full_name,
+ repoFullName,
)}`,
).toString(),
getGitLabRequestOptions(this.integration.config),
@@ -150,7 +162,7 @@ export class GitlabUrlReader implements UrlReader {
const commitsGitlabResponse = await fetch(
new URL(
`${this.integration.config.apiBaseUrl}/projects/${encodeURIComponent(
- full_name,
+ repoFullName,
)}/repository/commits?${commitsReqParams.toString()}`,
).toString(),
{
@@ -181,7 +193,7 @@ export class GitlabUrlReader implements UrlReader {
// https://docs.gitlab.com/ee/api/repositories.html#get-file-archive
const archiveGitLabResponse = await fetch(
`${this.integration.config.apiBaseUrl}/projects/${encodeURIComponent(
- full_name,
+ repoFullName,
)}/repository/archive?sha=${branch}`,
{
...getGitLabRequestOptions(this.integration.config),
diff --git a/packages/backend-next/CHANGELOG.md b/packages/backend-next/CHANGELOG.md
new file mode 100644
index 0000000000..42d40130c9
--- /dev/null
+++ b/packages/backend-next/CHANGELOG.md
@@ -0,0 +1,10 @@
+# example-backend-next
+
+## 0.0.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/plugin-scaffolder-backend@1.4.0-next.3
+ - @backstage/backend-app-api@0.1.0-next.0
diff --git a/packages/backend-next/package.json b/packages/backend-next/package.json
index 673116790e..eba7aec08e 100644
--- a/packages/backend-next/package.json
+++ b/packages/backend-next/package.json
@@ -1,6 +1,6 @@
{
"name": "example-backend-next",
- "version": "0.0.0",
+ "version": "0.0.1-next.0",
"main": "dist/index.cjs.js",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -25,12 +25,12 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-app-api": "^0.0.0",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.2",
- "@backstage/plugin-scaffolder-backend": "^1.4.0-next.2"
+ "@backstage/backend-app-api": "^0.1.0-next.0",
+ "@backstage/plugin-catalog-backend": "^1.3.0-next.3",
+ "@backstage/plugin-scaffolder-backend": "^1.4.0-next.3"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2"
+ "@backstage/cli": "^0.18.0-next.3"
},
"files": [
"dist"
diff --git a/packages/backend-plugin-api/CHANGELOG.md b/packages/backend-plugin-api/CHANGELOG.md
new file mode 100644
index 0000000000..30f00578fa
--- /dev/null
+++ b/packages/backend-plugin-api/CHANGELOG.md
@@ -0,0 +1,15 @@
+# @backstage/backend-plugin-api
+
+## 0.1.0-next.0
+
+### Minor Changes
+
+- 91c1d12123: Introduced new package for creating backend plugins using the new alpha backend plugin framework.
+ This package is still considered **EXPERIMENTAL** and things will change without warning. Do not use this for production.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/backend-tasks@0.3.3-next.3
diff --git a/packages/backend-plugin-api/package.json b/packages/backend-plugin-api/package.json
index f9109ae680..9f3aa255bf 100644
--- a/packages/backend-plugin-api/package.json
+++ b/packages/backend-plugin-api/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-plugin-api",
"description": "Core API used by Backstage backend plugins",
- "version": "0.0.0",
+ "version": "0.1.0-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"private": false,
@@ -35,16 +35,16 @@
},
"dependencies": {
"@backstage/config": "^1.0.1",
- "@backstage/backend-common": "^0.14.1-next.2",
- "@backstage/plugin-permission-common": "^0.6.3-next.0",
- "@backstage/backend-tasks": "^0.3.3-next.2",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/plugin-permission-common": "^0.6.3-next.1",
+ "@backstage/backend-tasks": "^0.3.3-next.3",
"@types/express": "^4.17.6",
"express": "^4.17.1",
"winston": "^3.2.1",
"winston-transport": "^4.5.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2"
+ "@backstage/cli": "^0.18.0-next.3"
},
"files": [
"dist",
diff --git a/packages/backend-tasks/CHANGELOG.md b/packages/backend-tasks/CHANGELOG.md
index 782088ff84..e7fa4e6eeb 100644
--- a/packages/backend-tasks/CHANGELOG.md
+++ b/packages/backend-tasks/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/backend-tasks
+## 0.3.3-next.3
+
+### Patch Changes
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+
## 0.3.3-next.2
### Patch Changes
diff --git a/packages/backend-tasks/package.json b/packages/backend-tasks/package.json
index 91b94d4d1c..4f5e91e186 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.2",
+ "version": "0.3.3-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"private": false,
@@ -33,7 +33,7 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.2",
+ "@backstage/backend-common": "^0.14.1-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
"@backstage/types": "^1.0.0",
@@ -41,15 +41,15 @@
"cron": "^2.0.0",
"knex": "^2.0.0",
"lodash": "^4.17.21",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"node-abort-controller": "^3.0.1",
"uuid": "^8.0.0",
"winston": "^3.2.1",
"zod": "^3.9.5"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.2",
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@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 e0bb57a3f0..46ba178820 100644
--- a/packages/backend-test-utils/CHANGELOG.md
+++ b/packages/backend-test-utils/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/backend-test-utils
+## 0.1.26-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/cli@0.18.0-next.3
+
## 0.1.26-next.2
### Patch Changes
diff --git a/packages/backend-test-utils/package.json b/packages/backend-test-utils/package.json
index 53953ba85e..3003dca281 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.2",
+ "version": "0.1.26-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"private": false,
@@ -34,19 +34,19 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.2",
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@backstage/config": "^1.0.1",
"better-sqlite3": "^7.5.0",
"knex": "^2.0.0",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"mysql2": "^2.2.5",
"pg": "^8.3.0",
"testcontainers": "^8.1.2",
"uuid": "^8.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2"
+ "@backstage/cli": "^0.18.0-next.3"
},
"files": [
"dist"
diff --git a/packages/backend/CHANGELOG.md b/packages/backend/CHANGELOG.md
index 02eac85805..c38a16c86f 100644
--- a/packages/backend/CHANGELOG.md
+++ b/packages/backend/CHANGELOG.md
@@ -1,5 +1,40 @@
# example-backend
+## 0.2.73-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-code-coverage-backend@0.2.0-next.3
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/plugin-kubernetes-backend@0.7.0-next.3
+ - @backstage/plugin-proxy-backend@0.2.28-next.1
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-scaffolder-backend@1.4.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/plugin-app-backend@0.3.34-next.3
+ - @backstage/plugin-auth-backend@0.15.0-next.3
+ - @backstage/plugin-auth-node@0.2.3-next.2
+ - @backstage/plugin-azure-devops-backend@0.3.13-next.1
+ - @backstage/plugin-graphql-backend@0.1.24-next.1
+ - @backstage/plugin-jenkins-backend@0.1.24-next.3
+ - @backstage/plugin-permission-backend@0.5.9-next.2
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/plugin-permission-node@0.6.3-next.2
+ - @backstage/plugin-rollbar-backend@0.1.31-next.1
+ - @backstage/plugin-techdocs-backend@1.2.0-next.3
+ - @backstage/plugin-todo-backend@0.1.31-next.2
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.18-next.2
+ - @backstage/plugin-tech-insights-backend@0.5.0-next.3
+ - @backstage/plugin-tech-insights-node@0.3.2-next.1
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-search-backend-module-elasticsearch@0.2.0-next.2
+ - @backstage/plugin-search-backend-node@0.6.3-next.2
+ - @backstage/plugin-search-backend@0.5.4-next.2
+ - example-app@0.2.73-next.3
+
## 0.2.73-next.2
### Patch Changes
diff --git a/packages/backend/package.json b/packages/backend/package.json
index df6fe5ec3b..67070bfeee 100644
--- a/packages/backend/package.json
+++ b/packages/backend/package.json
@@ -1,6 +1,6 @@
{
"name": "example-backend",
- "version": "0.2.73-next.2",
+ "version": "0.2.73-next.3",
"main": "dist/index.cjs.js",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -26,41 +26,41 @@
"build-image": "docker build ../.. -f Dockerfile --tag example-backend"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.2",
- "@backstage/backend-tasks": "^0.3.3-next.2",
- "@backstage/catalog-client": "^1.0.4-next.1",
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/backend-tasks": "^0.3.3-next.3",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/integration": "^1.2.2-next.2",
- "@backstage/plugin-app-backend": "^0.3.34-next.2",
- "@backstage/plugin-auth-backend": "^0.15.0-next.2",
- "@backstage/plugin-auth-node": "^0.2.3-next.1",
- "@backstage/plugin-azure-devops-backend": "^0.3.13-next.0",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/plugin-app-backend": "^0.3.34-next.3",
+ "@backstage/plugin-auth-backend": "^0.15.0-next.3",
+ "@backstage/plugin-auth-node": "^0.2.3-next.2",
+ "@backstage/plugin-azure-devops-backend": "^0.3.13-next.1",
"@backstage/plugin-badges-backend": "^0.1.28-next.2",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.2",
- "@backstage/plugin-code-coverage-backend": "^0.1.32-next.2",
- "@backstage/plugin-graphql-backend": "^0.1.24-next.0",
- "@backstage/plugin-jenkins-backend": "^0.1.24-next.2",
- "@backstage/plugin-kubernetes-backend": "^0.7.0-next.2",
+ "@backstage/plugin-catalog-backend": "^1.3.0-next.3",
+ "@backstage/plugin-code-coverage-backend": "^0.2.0-next.3",
+ "@backstage/plugin-graphql-backend": "^0.1.24-next.1",
+ "@backstage/plugin-jenkins-backend": "^0.1.24-next.3",
+ "@backstage/plugin-kubernetes-backend": "^0.7.0-next.3",
"@backstage/plugin-kafka-backend": "^0.2.27-next.2",
- "@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.2",
+ "@backstage/plugin-permission-backend": "^0.5.9-next.2",
+ "@backstage/plugin-permission-common": "^0.6.3-next.1",
+ "@backstage/plugin-permission-node": "^0.6.3-next.2",
+ "@backstage/plugin-proxy-backend": "^0.2.28-next.1",
+ "@backstage/plugin-rollbar-backend": "^0.1.31-next.1",
+ "@backstage/plugin-scaffolder-backend": "^1.4.0-next.3",
"@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": "^0.5.4-next.2",
+ "@backstage/plugin-search-backend-node": "^0.6.3-next.2",
+ "@backstage/plugin-search-backend-module-elasticsearch": "^0.2.0-next.2",
"@backstage/plugin-search-backend-module-pg": "^0.3.5-next.2",
- "@backstage/plugin-techdocs-backend": "^1.2.0-next.2",
- "@backstage/plugin-tech-insights-backend": "^0.5.0-next.2",
- "@backstage/plugin-tech-insights-node": "^0.3.2-next.0",
- "@backstage/plugin-tech-insights-backend-module-jsonfc": "^0.1.18-next.1",
- "@backstage/plugin-todo-backend": "^0.1.31-next.1",
+ "@backstage/plugin-techdocs-backend": "^1.2.0-next.3",
+ "@backstage/plugin-tech-insights-backend": "^0.5.0-next.3",
+ "@backstage/plugin-tech-insights-node": "^0.3.2-next.1",
+ "@backstage/plugin-tech-insights-backend-module-jsonfc": "^0.1.18-next.2",
+ "@backstage/plugin-todo-backend": "^0.1.31-next.2",
"@gitbeaker/node": "^35.1.0",
- "@octokit/rest": "^18.5.3",
+ "@octokit/rest": "^19.0.3",
"better-sqlite3": "^7.5.0",
"azure-devops-node-api": "^11.0.1",
"dockerode": "^3.3.1",
@@ -68,14 +68,14 @@
"express": "^4.17.1",
"express-promise-router": "^4.1.0",
"express-prom-bundle": "^6.3.6",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"pg": "^8.3.0",
"pg-connection-string": "^2.3.0",
"prom-client": "^14.0.1",
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/dockerode": "^3.3.0",
"@types/express": "^4.17.6",
"@types/express-serve-static-core": "^4.17.5",
diff --git a/packages/catalog-client/CHANGELOG.md b/packages/catalog-client/CHANGELOG.md
index 0b0d29b940..f2fc1d2c88 100644
--- a/packages/catalog-client/CHANGELOG.md
+++ b/packages/catalog-client/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/catalog-client
+## 1.0.4-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.3
+
## 1.0.4-next.1
### Patch Changes
diff --git a/packages/catalog-client/package.json b/packages/catalog-client/package.json
index 3fbf662615..a4678fb94b 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.1",
+ "version": "1.0.4-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,14 +33,14 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/errors": "^1.1.0-next.0",
"cross-fetch": "^3.1.5"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/jest": "^26.0.7",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/packages/catalog-model/CHANGELOG.md b/packages/catalog-model/CHANGELOG.md
index 910fc92cd2..d9eb2a04a5 100644
--- a/packages/catalog-model/CHANGELOG.md
+++ b/packages/catalog-model/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/catalog-model
+## 1.1.0-next.3
+
+### Patch Changes
+
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+
## 1.1.0-next.2
### Minor Changes
diff --git a/packages/catalog-model/api-report.md b/packages/catalog-model/api-report.md
index 9b9136fc3c..b7456bb2f8 100644
--- a/packages/catalog-model/api-report.md
+++ b/packages/catalog-model/api-report.md
@@ -14,6 +14,17 @@ export interface AlphaEntity extends Entity {
// @public
export const ANNOTATION_EDIT_URL = 'backstage.io/edit-url';
+// @public
+export const ANNOTATION_KUBERNETES_API_SERVER = 'kubernetes.io/api-server';
+
+// @public
+export const ANNOTATION_KUBERNETES_API_SERVER_CA =
+ 'kubernetes.io/api-server-certificate-authority';
+
+// @public
+export const ANNOTATION_KUBERNETES_AUTH_PROVIDER =
+ 'kubernetes.io/auth-provider';
+
// @public
export const ANNOTATION_LOCATION = 'backstage.io/managed-by-location';
diff --git a/packages/catalog-model/package.json b/packages/catalog-model/package.json
index 460dafa43a..081ffff289 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.2",
+ "version": "1.1.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -43,7 +43,7 @@
"uuid": "^8.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/jest": "^26.0.7",
"@types/json-schema": "^7.0.5",
"@types/lodash": "^4.14.151",
diff --git a/packages/catalog-model/src/entity/constants.ts b/packages/catalog-model/src/entity/constants.ts
index 5dc21683bd..ac9e813394 100644
--- a/packages/catalog-model/src/entity/constants.ts
+++ b/packages/catalog-model/src/entity/constants.ts
@@ -34,3 +34,26 @@ export const ANNOTATION_VIEW_URL = 'backstage.io/view-url';
* @public
*/
export const ANNOTATION_EDIT_URL = 'backstage.io/edit-url';
+
+/**
+ * Annotation for specifying the API server of a Kubernetes cluster
+ *
+ * @public
+ */
+export const ANNOTATION_KUBERNETES_API_SERVER = 'kubernetes.io/api-server';
+
+/**
+ * Annotation for specifying the Certificate Authority of an API server for a Kubernetes cluster
+ *
+ * @public
+ */
+export const ANNOTATION_KUBERNETES_API_SERVER_CA =
+ 'kubernetes.io/api-server-certificate-authority';
+
+/**
+ * Annotation for specifying the auth provider for a Kubernetes cluster
+ *
+ * @public
+ */
+export const ANNOTATION_KUBERNETES_AUTH_PROVIDER =
+ 'kubernetes.io/auth-provider';
diff --git a/packages/catalog-model/src/entity/index.ts b/packages/catalog-model/src/entity/index.ts
index 039529bf3e..a97476ba11 100644
--- a/packages/catalog-model/src/entity/index.ts
+++ b/packages/catalog-model/src/entity/index.ts
@@ -19,6 +19,9 @@ export {
DEFAULT_NAMESPACE,
ANNOTATION_EDIT_URL,
ANNOTATION_VIEW_URL,
+ ANNOTATION_KUBERNETES_API_SERVER,
+ ANNOTATION_KUBERNETES_API_SERVER_CA,
+ ANNOTATION_KUBERNETES_AUTH_PROVIDER,
} from './constants';
export type {
AlphaEntity,
diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md
index b4dbb1cdc5..ba8f773fdb 100644
--- a/packages/cli/CHANGELOG.md
+++ b/packages/cli/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/cli
+## 0.18.0-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- e662b573cf: Updated dependency `@octokit/request` to `^6.0.0`.
+- Updated dependencies
+ - @backstage/config-loader@1.1.3-next.1
+ - @backstage/release-manifests@0.0.5-next.0
+
## 0.18.0-next.2
### Patch Changes
diff --git a/packages/cli/package.json b/packages/cli/package.json
index d64ccf0c7d..ab0c8ac4d3 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.18.0-next.2",
+ "version": "0.18.0-next.3",
"private": false,
"publishConfig": {
"access": "public"
@@ -33,9 +33,9 @@
"dependencies": {
"@backstage/cli-common": "^0.1.9",
"@backstage/config": "^1.0.1",
- "@backstage/config-loader": "^1.1.3-next.0",
+ "@backstage/config-loader": "^1.1.3-next.1",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/release-manifests": "^0.0.4",
+ "@backstage/release-manifests": "^0.0.5-next.0",
"@backstage/types": "^1.0.0",
"@hot-loader/react-dom-v16": "npm:@hot-loader/react-dom@^16.0.2",
"@hot-loader/react-dom-v17": "npm:@hot-loader/react-dom@^17.0.2",
@@ -45,9 +45,9 @@
"@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^13.0.6",
"@rollup/plugin-yaml": "^3.1.0",
- "@spotify/eslint-config-base": "^13.0.0",
- "@spotify/eslint-config-react": "^13.0.0",
- "@spotify/eslint-config-typescript": "^13.0.0",
+ "@spotify/eslint-config-base": "^14.0.0",
+ "@spotify/eslint-config-react": "^14.0.0",
+ "@spotify/eslint-config-typescript": "^14.0.0",
"@sucrase/jest-plugin": "^2.1.1",
"@sucrase/webpack-loader": "^2.0.0",
"@svgr/plugin-jsx": "6.2.x",
@@ -126,13 +126,13 @@
"zod": "^3.11.6"
},
"devDependencies": {
- "@backstage/backend-common": "^0.14.1-next.2",
+ "@backstage/backend-common": "^0.14.1-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@backstage/theme": "^0.2.16-next.1",
"@types/diff": "^5.0.0",
"@types/express": "^4.17.6",
@@ -152,7 +152,7 @@
"@types/yarnpkg__lockfile": "^1.1.4",
"del": "^6.0.0",
"mock-fs": "^5.1.0",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"nodemon": "^2.0.2",
"ts-node": "^10.0.0"
},
diff --git a/packages/cli/templates/default-backend-plugin/package.json.hbs b/packages/cli/templates/default-backend-plugin/package.json.hbs
index 4e8ee254b9..0a5600ad24 100644
--- a/packages/cli/templates/default-backend-plugin/package.json.hbs
+++ b/packages/cli/templates/default-backend-plugin/package.json.hbs
@@ -41,7 +41,7 @@
"@backstage/cli": "{{versionQuery '@backstage/cli'}}",
"@types/supertest": "{{versionQuery '@types/supertest' '2.0.8'}}",
"supertest": "{{versionQuery 'supertest' '4.0.2'}}",
- "msw": "{{versionQuery 'msw' '0.43.0'}}"
+ "msw": "{{versionQuery 'msw' '0.44.0'}}"
},
"files": [
"dist"
diff --git a/packages/cli/templates/default-plugin/package.json.hbs b/packages/cli/templates/default-plugin/package.json.hbs
index 490f18d474..f084d59a8e 100644
--- a/packages/cli/templates/default-plugin/package.json.hbs
+++ b/packages/cli/templates/default-plugin/package.json.hbs
@@ -49,7 +49,7 @@
"@testing-library/user-event": "{{versionQuery '@testing-library/user-event' '14.0.0'}}",
"@types/jest": "{{versionQuery '@types/jest' '26.0.7'}}",
"@types/node": "{{versionQuery '@types/node' '16.11.26'}}",
- "msw": "{{versionQuery 'msw' '0.43.0'}}",
+ "msw": "{{versionQuery 'msw' '0.44.0'}}",
"cross-fetch": "{{versionQuery 'cross-fetch' '3.1.5'}}"
},
"files": [
diff --git a/packages/config-loader/CHANGELOG.md b/packages/config-loader/CHANGELOG.md
index af297b1112..f5b5846a42 100644
--- a/packages/config-loader/CHANGELOG.md
+++ b/packages/config-loader/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/config-loader
+## 1.1.3-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- a3acec8819: Updated dependency `typescript-json-schema` to `^0.54.0`.
+
## 1.1.3-next.0
### Patch Changes
diff --git a/packages/config-loader/package.json b/packages/config-loader/package.json
index 638e3dc8e0..c87d28b690 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.3-next.0",
+ "version": "1.1.3-next.1",
"private": false,
"publishConfig": {
"access": "public",
@@ -57,7 +57,7 @@
"@types/node": "^16.11.26",
"@types/yup": "^0.29.13",
"mock-fs": "^5.1.0",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/packages/core-app-api/CHANGELOG.md b/packages/core-app-api/CHANGELOG.md
index c4d2f9d8fe..115b41d76e 100644
--- a/packages/core-app-api/CHANGELOG.md
+++ b/packages/core-app-api/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/core-app-api
+## 1.0.4-next.1
+
+### Patch Changes
+
+- 881fc75a75: Internal tweak removing usage of explicit type parameters for the `BackstagePlugin` type.
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+
## 1.0.4-next.0
### Patch Changes
diff --git a/packages/core-app-api/api-report.md b/packages/core-app-api/api-report.md
index 116b33c598..beb0d11201 100644
--- a/packages/core-app-api/api-report.md
+++ b/packages/core-app-api/api-report.md
@@ -155,7 +155,7 @@ export type AppConfigLoader = () => Promise;
// @public
export type AppContext = {
- getPlugins(): BackstagePlugin[];
+ getPlugins(): BackstagePlugin[];
getSystemIcon(key: string): IconComponent | undefined;
getComponents(): AppComponents;
};
@@ -193,7 +193,7 @@ export type AppOptions = {
[key in string]: IconComponent;
};
plugins?: Array<
- BackstagePlugin & {
+ BackstagePlugin & {
output?(): Array<
| {
type: 'feature-flag';
@@ -254,7 +254,7 @@ export type AuthApiCreateOptions = {
// @public
export type BackstageApp = {
- getPlugins(): BackstagePlugin[];
+ getPlugins(): BackstagePlugin[];
getSystemIcon(key: string): IconComponent | undefined;
getProvider(): ComponentType<{}>;
getRouter(): ComponentType<{}>;
diff --git a/packages/core-app-api/package.json b/packages/core-app-api/package.json
index e7d530417a..34c44fe6e0 100644
--- a/packages/core-app-api/package.json
+++ b/packages/core-app-api/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/core-app-api",
"description": "Core app API used by Backstage apps",
- "version": "1.0.4-next.0",
+ "version": "1.0.4-next.1",
"private": false,
"publishConfig": {
"access": "public",
@@ -34,7 +34,7 @@
},
"dependencies": {
"@backstage/config": "^1.0.1",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/types": "^1.0.0",
"@backstage/version-bridge": "^1.0.1",
"@types/prop-types": "^15.7.3",
@@ -49,8 +49,8 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
@@ -59,7 +59,7 @@
"@types/node": "^16.11.26",
"@types/zen-observable": "^0.8.0",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/packages/core-app-api/src/app/AppManager.tsx b/packages/core-app-api/src/app/AppManager.tsx
index f47ddf676a..72c69f7da4 100644
--- a/packages/core-app-api/src/app/AppManager.tsx
+++ b/packages/core-app-api/src/app/AppManager.tsx
@@ -82,8 +82,8 @@ import { resolveRouteBindings } from './resolveRouteBindings';
import { BackstageRouteObject } from '../routing/types';
type CompatiblePlugin =
- | BackstagePlugin
- | (Omit, 'getFeatureFlags'> & {
+ | BackstagePlugin
+ | (Omit & {
output(): Array<{ type: 'feature-flag'; name: string }>;
});
@@ -145,7 +145,7 @@ function useConfigLoader(
class AppContextImpl implements AppContext {
constructor(private readonly app: AppManager) {}
- getPlugins(): BackstagePlugin[] {
+ getPlugins(): BackstagePlugin[] {
return this.app.getPlugins();
}
@@ -186,8 +186,8 @@ export class AppManager implements BackstageApp {
this.apiFactoryRegistry = new ApiFactoryRegistry();
}
- getPlugins(): BackstagePlugin[] {
- return Array.from(this.plugins) as BackstagePlugin[];
+ getPlugins(): BackstagePlugin[] {
+ return Array.from(this.plugins) as BackstagePlugin[];
}
getSystemIcon(key: string): IconComponent | undefined {
@@ -241,7 +241,7 @@ export class AppManager implements BackstageApp {
validateRouteParameters(routing.paths, routing.parents);
validateRouteBindings(
routeBindings,
- this.plugins as Iterable>,
+ this.plugins as Iterable,
);
}
diff --git a/packages/core-app-api/src/app/types.ts b/packages/core-app-api/src/app/types.ts
index ff7a43d0eb..979fb0496e 100644
--- a/packages/core-app-api/src/app/types.ts
+++ b/packages/core-app-api/src/app/types.ts
@@ -206,7 +206,7 @@ export type AppOptions = {
* A list of all plugins to include in the app.
*/
plugins?: Array<
- BackstagePlugin & {
+ BackstagePlugin & {
output?(): Array<
{ type: 'feature-flag'; name: string } | { type: string }
>; // support for old plugins
@@ -291,7 +291,7 @@ export type BackstageApp = {
/**
* Returns all plugins registered for the app.
*/
- getPlugins(): BackstagePlugin[];
+ getPlugins(): BackstagePlugin[];
/**
* Get a common or custom icon for this app.
@@ -321,7 +321,7 @@ export type AppContext = {
/**
* Get a list of all plugins that are installed in the app.
*/
- getPlugins(): BackstagePlugin[];
+ getPlugins(): BackstagePlugin[];
/**
* Get a common or custom icon for this app.
diff --git a/packages/core-app-api/src/plugins/collectors.ts b/packages/core-app-api/src/plugins/collectors.ts
index 0f8b65ad62..41b4b00ea3 100644
--- a/packages/core-app-api/src/plugins/collectors.ts
+++ b/packages/core-app-api/src/plugins/collectors.ts
@@ -18,12 +18,9 @@ import { BackstagePlugin, getComponentData } from '@backstage/core-plugin-api';
import { createCollector } from '../extensions/traversal';
export const pluginCollector = createCollector(
- () => new Set>(),
+ () => new Set(),
(acc, node) => {
- const plugin = getComponentData>(
- node,
- 'core.plugin',
- );
+ const plugin = getComponentData(node, 'core.plugin');
if (plugin) {
acc.add(plugin);
}
diff --git a/packages/core-components/CHANGELOG.md b/packages/core-components/CHANGELOG.md
index 46a44394b3..8952d3be8f 100644
--- a/packages/core-components/CHANGELOG.md
+++ b/packages/core-components/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/core-components
+## 0.10.0-next.3
+
+### Patch Changes
+
+- 7f5e79961d: Fix relative `sub-paths` by concatenating the app's base path with them.
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 693990d4fe: Updated dependency `@react-hookz/web` to `^15.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+
## 0.10.0-next.2
### Minor Changes
diff --git a/packages/core-components/api-report.md b/packages/core-components/api-report.md
index 302ef7ef7d..4e3820967a 100644
--- a/packages/core-components/api-report.md
+++ b/packages/core-components/api-report.md
@@ -190,6 +190,7 @@ export function CopyTextButton(props: CopyTextButtonProps): JSX.Element;
// @public
export interface CopyTextButtonProps {
+ 'aria-label'?: string;
text: string;
tooltipDelay?: number;
tooltipText?: string;
diff --git a/packages/core-components/package.json b/packages/core-components/package.json
index a6dff88333..43ab5d1775 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.10.0-next.2",
+ "version": "0.10.0-next.3",
"private": false,
"publishConfig": {
"access": "public",
@@ -34,7 +34,7 @@
},
"dependencies": {
"@backstage/config": "^1.0.1",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@backstage/version-bridge": "^1.0.1",
@@ -79,9 +79,9 @@
"react-dom": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
@@ -101,7 +101,7 @@
"@types/react-window": "^1.8.5",
"@types/zen-observable": "^0.8.0",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/packages/core-components/src/components/CopyTextButton/CopyTextButton.stories.tsx b/packages/core-components/src/components/CopyTextButton/CopyTextButton.stories.tsx
index c1834091b5..3e6435ddad 100644
--- a/packages/core-components/src/components/CopyTextButton/CopyTextButton.stories.tsx
+++ b/packages/core-components/src/components/CopyTextButton/CopyTextButton.stories.tsx
@@ -40,3 +40,10 @@ export const LongerTooltipDelay = () => (
tooltipDelay={3000}
/>
);
+
+export const WithAriaLabel = () => (
+
+);
diff --git a/packages/core-components/src/components/CopyTextButton/CopyTextButton.test.tsx b/packages/core-components/src/components/CopyTextButton/CopyTextButton.test.tsx
index 462bfb36cb..e6448ce5ee 100644
--- a/packages/core-components/src/components/CopyTextButton/CopyTextButton.test.tsx
+++ b/packages/core-components/src/components/CopyTextButton/CopyTextButton.test.tsx
@@ -55,13 +55,14 @@ const apis = [[errorApiRef, mockErrorApi] as const] as const;
describe('', () => {
it('renders without exploding', async () => {
- const { getByTitle, queryByText } = await renderInTestApp(
+ const { getByTitle, queryByText, getByLabelText } = await renderInTestApp(
,
);
expect(getByTitle('mockTooltip')).toBeInTheDocument();
expect(queryByText('mockTooltip')).not.toBeInTheDocument();
+ expect(getByLabelText('Copy text')).toBeInTheDocument();
});
it('displays tooltip and copy the text on click', async () => {
@@ -99,4 +100,13 @@ describe('', () => {
);
expect(mockErrorApi.post).toHaveBeenCalledWith(error);
});
+
+ it('aria-label', async () => {
+ const { getByLabelText } = await renderInTestApp(
+
+
+ ,
+ );
+ expect(getByLabelText('text for aria-label')).toBeInTheDocument();
+ });
});
diff --git a/packages/core-components/src/components/CopyTextButton/CopyTextButton.tsx b/packages/core-components/src/components/CopyTextButton/CopyTextButton.tsx
index 670c21f10c..bd900a931d 100644
--- a/packages/core-components/src/components/CopyTextButton/CopyTextButton.tsx
+++ b/packages/core-components/src/components/CopyTextButton/CopyTextButton.tsx
@@ -47,6 +47,15 @@ export interface CopyTextButtonProps {
* Default: "Text copied to clipboard"
*/
tooltipText?: string;
+
+ /**
+ * Text to use as aria-label prop on the button
+ *
+ * @remarks
+ *
+ * Default: "Copy text"
+ */
+ 'aria-label'?: string;
}
/**
@@ -62,13 +71,18 @@ export interface CopyTextButtonProps {
*
* @example
*
- * ``
+ * ```
+ *
+ * ```
*/
export function CopyTextButton(props: CopyTextButtonProps) {
const {
text,
tooltipDelay = 1000,
tooltipText = 'Text copied to clipboard',
+ 'aria-label': ariaLabel = 'Copy text',
} = props;
const errorApi = useApi(errorApiRef);
const [open, setOpen] = useState(false);
@@ -96,7 +110,7 @@ export function CopyTextButton(props: CopyTextButtonProps) {
onClose={() => setOpen(false)}
open={open}
>
-
+
diff --git a/packages/core-plugin-api/CHANGELOG.md b/packages/core-plugin-api/CHANGELOG.md
index 8b363df966..0d3cf6dabe 100644
--- a/packages/core-plugin-api/CHANGELOG.md
+++ b/packages/core-plugin-api/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/core-plugin-api
+## 1.0.4-next.0
+
+### Patch Changes
+
+- 881fc75a75: Internal tweak removing usage of explicit type parameters for the `BackstagePlugin` type.
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 2990fff4e5: Enabled the `@backstage/core-plugin-api/alpha` entry point.
+
## 1.0.3
### Patch Changes
diff --git a/packages/core-plugin-api/api-report.md b/packages/core-plugin-api/api-report.md
index 8289e863e0..1921c1b715 100644
--- a/packages/core-plugin-api/api-report.md
+++ b/packages/core-plugin-api/api-report.md
@@ -31,26 +31,26 @@ export type AlertMessage = {
severity?: 'success' | 'info' | 'warning' | 'error';
};
-// @alpha
+// @public
export type AnalyticsApi = {
captureEvent(event: AnalyticsEvent): void;
};
-// @alpha
+// @public
export const analyticsApiRef: ApiRef;
-// @alpha
+// @public
export const AnalyticsContext: (options: {
attributes: Partial;
children: ReactNode;
}) => JSX.Element;
-// @alpha
+// @public
export type AnalyticsContextValue = CommonAnalyticsContext & {
[param in string]: string | boolean | number | undefined;
};
-// @alpha
+// @public
export type AnalyticsEvent = {
action: string;
subject: string;
@@ -59,12 +59,12 @@ export type AnalyticsEvent = {
context: AnalyticsContextValue;
};
-// @alpha
+// @public
export type AnalyticsEventAttributes = {
[attribute in string]: string | boolean | number;
};
-// @alpha
+// @public
export type AnalyticsTracker = {
captureEvent: (
action: string,
@@ -147,7 +147,7 @@ export type AppComponents = {
// @public
export type AppContext = {
- getPlugins(): BackstagePlugin_2[];
+ getPlugins(): BackstagePlugin_2[];
getSystemIcon(key: string): IconComponent_2 | undefined;
getComponents(): AppComponents;
};
@@ -241,7 +241,7 @@ export type BootErrorPageProps = {
error: Error;
};
-// @alpha
+// @public
export type CommonAnalyticsContext = {
pluginId: string;
routeRef: string;
@@ -401,7 +401,7 @@ export type ErrorBoundaryFallbackProps = {
// @public
export type Extension = {
- expose(plugin: BackstagePlugin): T;
+ expose(plugin: BackstagePlugin): T;
};
// @public
@@ -715,7 +715,7 @@ export type TypesToApiRefs = {
[key in keyof T]: ApiRef;
};
-// @alpha
+// @public
export function useAnalytics(): AnalyticsTracker;
// @public
diff --git a/packages/core-plugin-api/package.json b/packages/core-plugin-api/package.json
index 37b69d74f7..132abe72a5 100644
--- a/packages/core-plugin-api/package.json
+++ b/packages/core-plugin-api/package.json
@@ -1,12 +1,13 @@
{
"name": "@backstage/core-plugin-api",
"description": "Core API used by Backstage plugins",
- "version": "1.0.3",
+ "version": "1.0.4-next.0",
"private": false,
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
- "types": "dist/index.d.ts"
+ "types": "dist/index.d.ts",
+ "alphaTypes": "dist/index.alpha.d.ts"
},
"backstage": {
"role": "web-library"
@@ -24,7 +25,7 @@
"main": "src/index.ts",
"types": "src/index.ts",
"scripts": {
- "build": "backstage-cli package build",
+ "build": "backstage-cli package build --experimental-type-build",
"lint": "backstage-cli package lint",
"test": "backstage-cli package test",
"prepack": "backstage-cli package prepack",
@@ -46,9 +47,9 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
@@ -58,9 +59,10 @@
"@types/prop-types": "^15.7.3",
"@types/zen-observable": "^0.8.0",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
- "dist"
+ "dist",
+ "alpha"
]
}
diff --git a/packages/core-plugin-api/src/analytics/AnalyticsContext.tsx b/packages/core-plugin-api/src/analytics/AnalyticsContext.tsx
index e3bf616d74..f28444db46 100644
--- a/packages/core-plugin-api/src/analytics/AnalyticsContext.tsx
+++ b/packages/core-plugin-api/src/analytics/AnalyticsContext.tsx
@@ -61,7 +61,7 @@ export const useAnalyticsContext = (): AnalyticsContextValue => {
* Analytics contexts are additive, meaning the context ultimately emitted with
* an event is the combination of all contexts in the parent tree.
*
- * @alpha
+ * @public
*/
export const AnalyticsContext = (options: {
attributes: Partial;
diff --git a/packages/core-plugin-api/src/analytics/types.ts b/packages/core-plugin-api/src/analytics/types.ts
index 1a60572082..ed5dcd588d 100644
--- a/packages/core-plugin-api/src/analytics/types.ts
+++ b/packages/core-plugin-api/src/analytics/types.ts
@@ -17,7 +17,7 @@
/**
* Common analytics context attributes.
*
- * @alpha
+ * @public
*/
export type CommonAnalyticsContext = {
/**
@@ -39,7 +39,7 @@ export type CommonAnalyticsContext = {
/**
* Analytics context envelope.
*
- * @alpha
+ * @public
*/
export type AnalyticsContextValue = CommonAnalyticsContext & {
[param in string]: string | boolean | number | undefined;
diff --git a/packages/core-plugin-api/src/analytics/useAnalytics.tsx b/packages/core-plugin-api/src/analytics/useAnalytics.tsx
index f1297c5e4e..5a047e5a63 100644
--- a/packages/core-plugin-api/src/analytics/useAnalytics.tsx
+++ b/packages/core-plugin-api/src/analytics/useAnalytics.tsx
@@ -35,7 +35,7 @@ function useAnalyticsApi(): AnalyticsApi {
/**
* Gets a pre-configured analytics tracker.
*
- * @alpha
+ * @public
*/
export function useAnalytics(): AnalyticsTracker {
const trackerRef = useRef(null);
diff --git a/packages/core-plugin-api/src/apis/definitions/AnalyticsApi.ts b/packages/core-plugin-api/src/apis/definitions/AnalyticsApi.ts
index dc38d7a250..ef190d6c21 100644
--- a/packages/core-plugin-api/src/apis/definitions/AnalyticsApi.ts
+++ b/packages/core-plugin-api/src/apis/definitions/AnalyticsApi.ts
@@ -21,7 +21,7 @@ import { AnalyticsContextValue } from '../../analytics/types';
* Represents an event worth tracking in an analytics system that could inform
* how users of a Backstage instance are using its features.
*
- * @alpha
+ * @public
*/
export type AnalyticsEvent = {
/**
@@ -79,7 +79,7 @@ export type AnalyticsEvent = {
* A structure allowing other arbitrary metadata to be provided by analytics
* event emitters.
*
- * @alpha
+ * @public
*/
export type AnalyticsEventAttributes = {
[attribute in string]: string | boolean | number;
@@ -89,7 +89,7 @@ export type AnalyticsEventAttributes = {
* Represents a tracker with methods that can be called to track events in a
* configured analytics service.
*
- * @alpha
+ * @public
*/
export type AnalyticsTracker = {
captureEvent: (
@@ -103,8 +103,6 @@ export type AnalyticsTracker = {
};
/**
- * **EXPERIMENTAL**
- *
* The Analytics API is used to track user behavior in a Backstage instance.
*
* @remarks
@@ -113,7 +111,7 @@ export type AnalyticsTracker = {
* useAnalytics() hook. This will return a pre-configured AnalyticsTracker
* with relevant methods for instrumentation.
*
- * @alpha
+ * @public
*/
export type AnalyticsApi = {
/**
@@ -124,11 +122,9 @@ export type AnalyticsApi = {
};
/**
- * **EXPERIMENTAL**
- *
* The {@link ApiRef} of {@link AnalyticsApi}.
*
- * @alpha
+ * @public
*/
export const analyticsApiRef: ApiRef = createApiRef({
id: 'core.analytics',
diff --git a/packages/core-plugin-api/src/extensions/extensions.tsx b/packages/core-plugin-api/src/extensions/extensions.tsx
index 19da082ee1..efc8e3525d 100644
--- a/packages/core-plugin-api/src/extensions/extensions.tsx
+++ b/packages/core-plugin-api/src/extensions/extensions.tsx
@@ -225,7 +225,7 @@ export function createReactExtension<
'Component';
return {
- expose(plugin: BackstagePlugin) {
+ expose(plugin: BackstagePlugin) {
const Result: any = (props: any) => {
const app = useApp();
const { Progress } = app.getComponents();
diff --git a/packages/core-plugin-api/src/plugin/types.ts b/packages/core-plugin-api/src/plugin/types.ts
index d639327838..d2dad6f639 100644
--- a/packages/core-plugin-api/src/plugin/types.ts
+++ b/packages/core-plugin-api/src/plugin/types.ts
@@ -27,7 +27,7 @@ import { AnyApiFactory } from '../apis/system';
* @public
*/
export type Extension = {
- expose(plugin: BackstagePlugin): T;
+ expose(plugin: BackstagePlugin): T;
};
/**
diff --git a/packages/create-app/CHANGELOG.md b/packages/create-app/CHANGELOG.md
index 7f2fa483f0..fd8aa38def 100644
--- a/packages/create-app/CHANGELOG.md
+++ b/packages/create-app/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/create-app
+## 0.4.29-next.3
+
+### Patch Changes
+
+- Bumped create-app version.
+
## 0.4.29-next.2
### Patch Changes
diff --git a/packages/create-app/package.json b/packages/create-app/package.json
index 1fc0d17285..abb7f1fdd8 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.2",
+ "version": "0.4.29-next.3",
"private": false,
"publishConfig": {
"access": "public"
diff --git a/packages/dev-utils/CHANGELOG.md b/packages/dev-utils/CHANGELOG.md
index b748970b06..7f89910f3b 100644
--- a/packages/dev-utils/CHANGELOG.md
+++ b/packages/dev-utils/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/dev-utils
+## 1.0.4-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/app-defaults@1.0.4-next.3
+ - @backstage/core-app-api@1.0.4-next.1
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/test-utils@1.1.2-next.2
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 1.0.4-next.2
### Patch Changes
diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json
index 8d19bf9cb3..271d7b2e1b 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.2",
+ "version": "1.0.4-next.3",
"private": false,
"publishConfig": {
"access": "public",
@@ -33,14 +33,14 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/app-defaults": "^1.0.4-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/integration-react": "^1.1.2-next.2",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/app-defaults": "^1.0.4-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/integration-react": "^1.1.2-next.3",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -59,7 +59,7 @@
"react-dom": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/jest": "^26.0.7",
"@types/node": "^16.0.0"
},
diff --git a/packages/errors/api-report.md b/packages/errors/api-report.md
index aab4e9baec..1a65ae2315 100644
--- a/packages/errors/api-report.md
+++ b/packages/errors/api-report.md
@@ -16,7 +16,18 @@ export class ConflictError extends CustomErrorBase {}
// @public
export type ConsumedResponse = {
- readonly headers: Headers;
+ readonly headers: {
+ append(name: string, value: string): void;
+ delete(name: string): void;
+ get(name: string): string | null;
+ has(name: string): boolean;
+ set(name: string, value: string): void;
+ forEach(callback: (value: string, name: string) => void): void;
+ entries(): IterableIterator<[string, string]>;
+ keys(): IterableIterator;
+ values(): IterableIterator;
+ [Symbol.iterator](): Iterator<[string, string]>;
+ };
readonly ok: boolean;
readonly redirected: boolean;
readonly status: number;
diff --git a/packages/errors/src/errors/types.ts b/packages/errors/src/errors/types.ts
index a62975571f..b0e86fd19a 100644
--- a/packages/errors/src/errors/types.ts
+++ b/packages/errors/src/errors/types.ts
@@ -21,7 +21,19 @@
* @public
*/
export type ConsumedResponse = {
- readonly headers: Headers;
+ readonly headers: {
+ append(name: string, value: string): void;
+ delete(name: string): void;
+ get(name: string): string | null;
+ has(name: string): boolean;
+ set(name: string, value: string): void;
+ forEach(callback: (value: string, name: string) => void): void;
+
+ entries(): IterableIterator<[string, string]>;
+ keys(): IterableIterator;
+ values(): IterableIterator;
+ [Symbol.iterator](): Iterator<[string, string]>;
+ };
readonly ok: boolean;
readonly redirected: boolean;
readonly status: number;
diff --git a/packages/integration-react/CHANGELOG.md b/packages/integration-react/CHANGELOG.md
index 644d6f7cc4..cf7480ad77 100644
--- a/packages/integration-react/CHANGELOG.md
+++ b/packages/integration-react/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/integration-react
+## 1.1.2-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration@1.2.2-next.3
+
## 1.1.2-next.2
### Patch Changes
diff --git a/packages/integration-react/package.json b/packages/integration-react/package.json
index bf0a3e471c..fddc3a0894 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.2",
+ "version": "1.1.2-next.3",
"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.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/integration": "^1.2.2-next.2",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/integration": "^1.2.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -38,15 +38,15 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"cross-fetch": "^3.1.5"
},
"files": [
diff --git a/packages/integration/CHANGELOG.md b/packages/integration/CHANGELOG.md
index bf352f168f..edfb621431 100644
--- a/packages/integration/CHANGELOG.md
+++ b/packages/integration/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/integration
+## 1.2.2-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- 1f29047bad: Updated dependency `@octokit/auth-app` to `^4.0.0`.
+- 4df3390795: Avoid double encoding of the file path in `getBitbucketServerDownloadUrl`
+
## 1.2.2-next.2
### Patch Changes
diff --git a/packages/integration/api-report.md b/packages/integration/api-report.md
index 3ffb131900..8d8d017095 100644
--- a/packages/integration/api-report.md
+++ b/packages/integration/api-report.md
@@ -342,6 +342,11 @@ export function getGitLabFileFetchUrl(
config: GitLabIntegrationConfig,
): Promise;
+// @public
+export function getGitLabIntegrationRelativePath(
+ config: GitLabIntegrationConfig,
+): string;
+
// @public
export function getGitLabRequestOptions(config: GitLabIntegrationConfig): {
headers: Record;
diff --git a/packages/integration/package.json b/packages/integration/package.json
index b547e3f04c..68b6ba369c 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.2",
+ "version": "1.2.2-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -37,18 +37,18 @@
"@backstage/errors": "^1.1.0-next.0",
"cross-fetch": "^3.1.5",
"git-url-parse": "^12.0.0",
- "@octokit/rest": "^18.5.3",
+ "@octokit/rest": "^19.0.3",
"@octokit/auth-app": "^4.0.0",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"lodash": "^4.17.21"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/config-loader": "^1.1.3-next.0",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/config-loader": "^1.1.3-next.1",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@types/jest": "^26.0.7",
"@types/luxon": "^2.0.4",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/packages/integration/src/github/SingleInstanceGithubCredentialsProvider.ts b/packages/integration/src/github/SingleInstanceGithubCredentialsProvider.ts
index bfc360cbe2..e56c1521dd 100644
--- a/packages/integration/src/github/SingleInstanceGithubCredentialsProvider.ts
+++ b/packages/integration/src/github/SingleInstanceGithubCredentialsProvider.ts
@@ -119,7 +119,7 @@ class GithubAppManager {
const repos = await installationClient.paginate(
installationClient.apps.listReposAccessibleToInstallation,
);
- const hasRepo = repos.some(repository => {
+ const hasRepo = repos.repositories.some(repository => {
return repository.name === repo;
});
if (!hasRepo) {
diff --git a/packages/integration/src/gitlab/config.ts b/packages/integration/src/gitlab/config.ts
index 71b4cd868f..301fe46f90 100644
--- a/packages/integration/src/gitlab/config.ts
+++ b/packages/integration/src/gitlab/config.ts
@@ -69,7 +69,6 @@ export function readGitLabIntegrationConfig(
let apiBaseUrl = config.getOptionalString('apiBaseUrl');
const token = config.getOptionalString('token');
let baseUrl = config.getOptionalString('baseUrl');
-
if (apiBaseUrl) {
apiBaseUrl = trimEnd(apiBaseUrl, '/');
} else if (host === GITLAB_HOST) {
@@ -124,3 +123,20 @@ export function readGitLabIntegrationConfigs(
return result;
}
+
+/**
+ * Reads a GitLab integration config, and returns
+ * relative path.
+ *
+ * @param config - GitLabIntegrationConfig object
+ * @public
+ */
+export function getGitLabIntegrationRelativePath(
+ config: GitLabIntegrationConfig,
+): string {
+ let relativePath = '';
+ if (config.host !== GITLAB_HOST) {
+ relativePath = new URL(config.baseUrl).pathname;
+ }
+ return trimEnd(relativePath, '/');
+}
diff --git a/packages/integration/src/gitlab/core.test.ts b/packages/integration/src/gitlab/core.test.ts
index d01406fe1c..d043aba55a 100644
--- a/packages/integration/src/gitlab/core.test.ts
+++ b/packages/integration/src/gitlab/core.test.ts
@@ -35,18 +35,32 @@ describe('gitlab core', () => {
});
const configWithToken: GitLabIntegrationConfig = {
- host: 'g.com',
+ host: 'gitlab.com',
token: '0123456789',
apiBaseUrl: '',
baseUrl: '',
};
const configWithNoToken: GitLabIntegrationConfig = {
- host: 'g.com',
+ host: 'gitlab.com',
apiBaseUrl: '',
baseUrl: '',
};
+ const configSelfHosteWithRelativePath: GitLabIntegrationConfig = {
+ host: 'gitlab.mycompany.com',
+ token: '0123456789',
+ apiBaseUrl: '',
+ baseUrl: 'https://gitlab.mycompany.com/gitlab',
+ };
+
+ const configSelfHostedWithoutRelativePath: GitLabIntegrationConfig = {
+ host: 'gitlab.mycompany.com',
+ token: '0123456789',
+ apiBaseUrl: '',
+ baseUrl: 'https://gitlab.mycompany.com',
+ };
+
describe('getGitLabFileFetchUrl with .yaml extension', () => {
it.each([
// Project URLs
@@ -56,6 +70,18 @@ describe('gitlab core', () => {
result:
'https://gitlab.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yaml/raw?ref=branch',
},
+ {
+ config: configSelfHosteWithRelativePath,
+ url: 'https://gitlab.mycompany.com/gitlab/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file.yaml',
+ result:
+ 'https://gitlab.mycompany.com/gitlab/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yaml/raw?ref=branch',
+ },
+ {
+ config: configSelfHostedWithoutRelativePath,
+ url: 'https://gitlab.mycompany.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file.yaml',
+ result:
+ 'https://gitlab.mycompany.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yaml/raw?ref=branch',
+ },
{
config: configWithNoToken,
// Works with non URI encoded link
@@ -63,6 +89,18 @@ describe('gitlab core', () => {
result:
'https://gitlab.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile%20with%20spaces.yaml/raw?ref=branch',
},
+ {
+ config: configSelfHosteWithRelativePath,
+ url: 'https://gitlab.mycompany.com/gitlab/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file with spaces.yaml',
+ result:
+ 'https://gitlab.mycompany.com/gitlab/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile%20with%20spaces.yaml/raw?ref=branch',
+ },
+ {
+ config: configSelfHostedWithoutRelativePath,
+ url: 'https://gitlab.mycompany.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file with spaces.yaml',
+ result:
+ 'https://gitlab.mycompany.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile%20with%20spaces.yaml/raw?ref=branch',
+ },
{
config: configWithNoToken,
url: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path%20with%20spaces/to/file.yaml',
@@ -121,6 +159,18 @@ describe('gitlab core', () => {
result:
'https://gitlab.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yml/raw?ref=branch',
},
+ {
+ config: configSelfHosteWithRelativePath,
+ url: 'https://gitlab.mycompany.com/gitlab/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file.yml',
+ result:
+ 'https://gitlab.mycompany.com/gitlab/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yml/raw?ref=branch',
+ },
+ {
+ config: configSelfHostedWithoutRelativePath,
+ url: 'https://gitlab.mycompany.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file.yml',
+ result:
+ 'https://gitlab.mycompany.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yml/raw?ref=branch',
+ },
{
config: configWithNoToken,
// Works with non URI encoded link
@@ -128,6 +178,20 @@ describe('gitlab core', () => {
result:
'https://gitlab.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile%20with%20spaces.yml/raw?ref=branch',
},
+ {
+ config: configSelfHosteWithRelativePath,
+ // Works with non URI encoded link
+ url: 'https://gitlab.mycompany.com/gitlab/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file with spaces.yml',
+ result:
+ 'https://gitlab.mycompany.com/gitlab/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile%20with%20spaces.yml/raw?ref=branch',
+ },
+ {
+ config: configSelfHostedWithoutRelativePath,
+ // Works with non URI encoded link
+ url: 'https://gitlab.mycompany.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file with spaces.yml',
+ result:
+ 'https://gitlab.mycompany.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile%20with%20spaces.yml/raw?ref=branch',
+ },
{
config: configWithNoToken,
url: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path%20with%20spaces/to/file.yml',
diff --git a/packages/integration/src/gitlab/core.ts b/packages/integration/src/gitlab/core.ts
index ba0f9c83de..1fcf15a78f 100644
--- a/packages/integration/src/gitlab/core.ts
+++ b/packages/integration/src/gitlab/core.ts
@@ -14,7 +14,10 @@
* limitations under the License.
*/
-import { GitLabIntegrationConfig } from './config';
+import {
+ getGitLabIntegrationRelativePath,
+ GitLabIntegrationConfig,
+} from './config';
import fetch from 'cross-fetch';
import { InputError } from '@backstage/errors';
@@ -42,9 +45,10 @@ export async function getGitLabFileFetchUrl(
// TODO(Rugvip): From the old GitlabReaderProcessor; used
// the existence of /-/blob/ to switch the logic. Don't know if this
// makes sense and it might require some more work.
+
if (url.includes('/-/blob/')) {
const projectID = await getProjectId(url, config);
- return buildProjectUrl(url, projectID).toString();
+ return buildProjectUrl(url, projectID, config).toString();
}
return buildRawUrl(url).toString();
}
@@ -101,20 +105,27 @@ export function buildRawUrl(target: string): URL {
// Converts
// from: https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/filepath
// to: https://gitlab.com/api/v4/projects/projectId/repository/files/filepath?ref=branch
-export function buildProjectUrl(target: string, projectID: Number): URL {
+export function buildProjectUrl(
+ target: string,
+ projectID: Number,
+ config: GitLabIntegrationConfig,
+): URL {
try {
const url = new URL(target);
const branchAndFilePath = url.pathname.split('/-/blob/')[1];
const [branch, ...filePath] = branchAndFilePath.split('/');
+ const relativePath = getGitLabIntegrationRelativePath(config);
url.pathname = [
- '/api/v4/projects',
+ ...(relativePath ? [relativePath] : []),
+ 'api/v4/projects',
projectID,
'repository/files',
encodeURIComponent(decodeURIComponent(filePath.join('/'))),
'raw',
].join('/');
+
url.search = `?ref=${branch}`;
return url;
@@ -137,19 +148,29 @@ export async function getProjectId(
}
try {
- const repo = url.pathname.split('/-/blob/')[0];
+ let repo = url.pathname.split('/-/blob/')[0];
+
+ // Get gitlab relative path
+ const relativePath = getGitLabIntegrationRelativePath(config);
+
+ // Check relative path exist and replace it if it's the case.
+ if (relativePath) {
+ repo = repo.replace(relativePath, '');
+ }
// Convert
// to: https://gitlab.com/api/v4/projects/groupA%2Fteams%2FsubgroupA%2FteamA%2Frepo
const repoIDLookup = new URL(
- `${url.origin}/api/v4/projects/${encodeURIComponent(
+ `${url.origin}${relativePath}/api/v4/projects/${encodeURIComponent(
repo.replace(/^\//, ''),
)}`,
);
+
const response = await fetch(
repoIDLookup.toString(),
getGitLabRequestOptions(config),
);
+
const data = await response.json();
if (!response.ok) {
diff --git a/packages/integration/src/gitlab/index.ts b/packages/integration/src/gitlab/index.ts
index e8d6665a6f..1a5063c51c 100644
--- a/packages/integration/src/gitlab/index.ts
+++ b/packages/integration/src/gitlab/index.ts
@@ -17,6 +17,7 @@
export {
readGitLabIntegrationConfig,
readGitLabIntegrationConfigs,
+ getGitLabIntegrationRelativePath,
} from './config';
export type { GitLabIntegrationConfig } from './config';
export { getGitLabFileFetchUrl, getGitLabRequestOptions } from './core';
diff --git a/packages/release-manifests/CHANGELOG.md b/packages/release-manifests/CHANGELOG.md
index 279128576c..0d28ee16ad 100644
--- a/packages/release-manifests/CHANGELOG.md
+++ b/packages/release-manifests/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/release-manifests
+## 0.0.5-next.0
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+
## 0.0.4
### Patch Changes
diff --git a/packages/release-manifests/package.json b/packages/release-manifests/package.json
index 3309b1b9f1..11dcd08df4 100644
--- a/packages/release-manifests/package.json
+++ b/packages/release-manifests/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/release-manifests",
"description": "Helper library for receiving release manifests",
- "version": "0.0.4",
+ "version": "0.0.5-next.0",
"private": false,
"main": "src/index.ts",
"types": "src/index.ts",
@@ -36,8 +36,8 @@
"cross-fetch": "^3.1.5"
},
"devDependencies": {
- "@backstage/test-utils": "^1.1.2-next.0",
- "msw": "^0.43.0",
+ "@backstage/test-utils": "^1.1.2-next.2",
+ "msw": "^0.44.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.0.0"
},
diff --git a/packages/techdocs-cli-embedded-app/CHANGELOG.md b/packages/techdocs-cli-embedded-app/CHANGELOG.md
index af9f0ad09c..c7200360c1 100644
--- a/packages/techdocs-cli-embedded-app/CHANGELOG.md
+++ b/packages/techdocs-cli-embedded-app/CHANGELOG.md
@@ -1,5 +1,22 @@
# techdocs-cli-embedded-app
+## 0.2.72-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/app-defaults@1.0.4-next.3
+ - @backstage/core-app-api@1.0.4-next.1
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/cli@0.18.0-next.3
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/test-utils@1.1.2-next.2
+ - @backstage/plugin-techdocs@1.2.1-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog@1.4.0-next.3
+ - @backstage/plugin-techdocs-react@1.0.2-next.2
+
## 0.2.72-next.2
### Patch Changes
diff --git a/packages/techdocs-cli-embedded-app/package.json b/packages/techdocs-cli-embedded-app/package.json
index 60389b6596..a66e9a01d8 100644
--- a/packages/techdocs-cli-embedded-app/package.json
+++ b/packages/techdocs-cli-embedded-app/package.json
@@ -1,24 +1,24 @@
{
"name": "techdocs-cli-embedded-app",
- "version": "0.2.72-next.2",
+ "version": "0.2.72-next.3",
"private": true,
"backstage": {
"role": "frontend"
},
"bundled": true,
"dependencies": {
- "@backstage/app-defaults": "^1.0.4-next.2",
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/app-defaults": "^1.0.4-next.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/integration-react": "^1.1.2-next.2",
- "@backstage/plugin-catalog": "^1.4.0-next.2",
- "@backstage/plugin-techdocs": "^1.2.1-next.2",
- "@backstage/plugin-techdocs-react": "^1.0.2-next.1",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/integration-react": "^1.1.2-next.3",
+ "@backstage/plugin-catalog": "^1.4.0-next.3",
+ "@backstage/plugin-techdocs": "^1.2.1-next.3",
+ "@backstage/plugin-techdocs-react": "^1.0.2-next.2",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
@@ -30,7 +30,7 @@
"react-use": "^17.2.4"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/cli": "^0.18.0-next.3",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
diff --git a/packages/test-utils/CHANGELOG.md b/packages/test-utils/CHANGELOG.md
index adbb3cd7ac..317dc6afa7 100644
--- a/packages/test-utils/CHANGELOG.md
+++ b/packages/test-utils/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/test-utils
+## 1.1.2-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-app-api@1.0.4-next.1
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/plugin-permission-react@0.4.3-next.1
+
## 1.1.2-next.1
### Patch Changes
diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json
index 0918dcaaac..49553caea7 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.1",
+ "version": "1.1.2-next.2",
"private": false,
"publishConfig": {
"access": "public",
@@ -34,10 +34,10 @@
},
"dependencies": {
"@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.3-next.0",
- "@backstage/plugin-permission-react": "^0.4.3-next.0",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-permission-common": "^0.6.3-next.1",
+ "@backstage/plugin-permission-react": "^0.4.3-next.1",
"@backstage/theme": "^0.2.16-next.0",
"@backstage/types": "^1.0.0",
"@material-ui/core": "^4.12.2",
@@ -55,10 +55,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/adr-backend/CHANGELOG.md b/plugins/adr-backend/CHANGELOG.md
index 15a0519010..129e6bf56b 100644
--- a/plugins/adr-backend/CHANGELOG.md
+++ b/plugins/adr-backend/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-adr-backend
+## 0.1.2-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.1.2-next.1
### Patch Changes
diff --git a/plugins/adr-backend/package.json b/plugins/adr-backend/package.json
index be04a712cc..eb2fcf9ca7 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.1",
+ "version": "0.1.2-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -29,26 +29,26 @@
"postpack": "backstage-cli package postpack"
},
"dependencies": {
- "@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/backend-common": "^0.14.1-next.3",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/integration": "^1.2.2-next.3",
"@backstage/plugin-adr-common": "^0.1.2-next.1",
"@backstage/plugin-search-common": "^0.3.6-next.0",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"marked": "^4.0.14",
"winston": "^3.2.1",
"node-fetch": "^2.6.5",
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/marked": "^4.0.0",
"@types/supertest": "^2.0.8",
"supertest": "^6.1.3",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/adr/CHANGELOG.md b/plugins/adr/CHANGELOG.md
index efad1034a8..34c81a7f80 100644
--- a/plugins/adr/CHANGELOG.md
+++ b/plugins/adr/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-adr
+## 0.1.2-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 511f49ee43: Updated dependency `octokit` to `^2.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-search-react@0.2.2-next.3
+
## 0.1.2-next.2
### Patch Changes
diff --git a/plugins/adr/package.json b/plugins/adr/package.json
index 9f25ce4c61..22cb883ae1 100644
--- a/plugins/adr/package.json
+++ b/plugins/adr/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-adr",
- "version": "0.1.2-next.2",
+ "version": "0.1.2-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -22,13 +22,13 @@
"postpack": "backstage-cli package postpack"
},
"dependencies": {
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/integration-react": "^1.1.2-next.2",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/integration-react": "^1.1.2-next.3",
"@backstage/plugin-adr-common": "^0.1.2-next.1",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/plugin-search-common": "^0.3.6-next.0",
- "@backstage/plugin-search-react": "^0.2.2-next.2",
+ "@backstage/plugin-search-react": "^0.2.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -44,10 +44,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
@@ -55,7 +55,7 @@
"@types/jest": "*",
"@types/node": "*",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/airbrake-backend/CHANGELOG.md b/plugins/airbrake-backend/CHANGELOG.md
index 5810bda422..49d4de7c96 100644
--- a/plugins/airbrake-backend/CHANGELOG.md
+++ b/plugins/airbrake-backend/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-airbrake-backend
+## 0.2.7-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+
## 0.2.7-next.0
### Patch Changes
diff --git a/plugins/airbrake-backend/package.json b/plugins/airbrake-backend/package.json
index 900161364c..70ed0ddaca 100644
--- a/plugins/airbrake-backend/package.json
+++ b/plugins/airbrake-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-airbrake-backend",
- "version": "0.2.7-next.0",
+ "version": "0.2.7-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -22,7 +22,7 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-common": "^0.14.1-next.3",
"@backstage/config": "^1.0.1",
"@types/express": "*",
"express": "^4.17.1",
@@ -33,11 +33,11 @@
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/http-proxy-middleware": "^0.19.3",
"@types/supertest": "^2.0.8",
"supertest": "^6.1.6",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/airbrake/CHANGELOG.md b/plugins/airbrake/CHANGELOG.md
index 0be1badd9e..c9ac1a301a 100644
--- a/plugins/airbrake/CHANGELOG.md
+++ b/plugins/airbrake/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-airbrake
+## 0.3.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/test-utils@1.1.2-next.2
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/dev-utils@1.0.4-next.3
+
## 0.3.7-next.2
### Patch Changes
diff --git a/plugins/airbrake/package.json b/plugins/airbrake/package.json
index 2f93d533cc..665929d69f 100644
--- a/plugins/airbrake/package.json
+++ b/plugins/airbrake/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-airbrake",
- "version": "0.3.7-next.2",
+ "version": "0.3.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -23,12 +23,12 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -40,10 +40,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/app-defaults": "^1.0.4-next.2",
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/app-defaults": "^1.0.4-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
@@ -51,7 +51,7 @@
"@types/node": "^16.11.26",
"@types/object-hash": "^2.2.1",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"react-router": "6.0.0-beta.0"
},
"files": [
diff --git a/plugins/allure/CHANGELOG.md b/plugins/allure/CHANGELOG.md
index 8f09da737c..b4e0dd916a 100644
--- a/plugins/allure/CHANGELOG.md
+++ b/plugins/allure/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-allure
+## 0.1.23-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.1.23-next.2
### Patch Changes
diff --git a/plugins/allure/package.json b/plugins/allure/package.json
index c98b8b7d63..508f42f14c 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.2",
+ "version": "0.1.23-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -25,10 +25,10 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -40,17 +40,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/analytics-module-ga/CHANGELOG.md b/plugins/analytics-module-ga/CHANGELOG.md
index edbc67981a..f24ee40ec9 100644
--- a/plugins/analytics-module-ga/CHANGELOG.md
+++ b/plugins/analytics-module-ga/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-analytics-module-ga
+## 0.1.18-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
## 0.1.18-next.2
### Patch Changes
diff --git a/plugins/analytics-module-ga/package.json b/plugins/analytics-module-ga/package.json
index 23532af5fa..499a957d70 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.2",
+ "version": "0.1.18-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -25,8 +25,8 @@
},
"dependencies": {
"@backstage/config": "^1.0.1",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -38,17 +38,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/apache-airflow/CHANGELOG.md b/plugins/apache-airflow/CHANGELOG.md
index 920dcf5686..2e3a56971c 100644
--- a/plugins/apache-airflow/CHANGELOG.md
+++ b/plugins/apache-airflow/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-apache-airflow
+## 0.2.0-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
## 0.2.0-next.2
### Patch Changes
diff --git a/plugins/apache-airflow/package.json b/plugins/apache-airflow/package.json
index 657ecc7ad6..8494b1e7a8 100644
--- a/plugins/apache-airflow/package.json
+++ b/plugins/apache-airflow/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-apache-airflow",
- "version": "0.2.0-next.2",
+ "version": "0.2.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -23,8 +23,8 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -36,16 +36,16 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/api-docs/CHANGELOG.md b/plugins/api-docs/CHANGELOG.md
index 6b2e54f018..022a606aaa 100644
--- a/plugins/api-docs/CHANGELOG.md
+++ b/plugins/api-docs/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-api-docs
+## 0.8.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- b76eea25ed: Updated dependency `@asyncapi/react-component` to `1.0.0-next.39`.
+- 9432a05cf3: Set font colors correctly for descriptions containing HTML
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-catalog@1.4.0-next.3
+
## 0.8.7-next.2
### Patch Changes
diff --git a/plugins/api-docs/package.json b/plugins/api-docs/package.json
index b6d54ab952..96b95b51f0 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.2",
+ "version": "0.8.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,11 +34,11 @@
},
"dependencies": {
"@asyncapi/react-component": "1.0.0-next.39",
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog": "^1.4.0-next.2",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog": "^1.4.0-next.3",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -57,10 +57,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
@@ -68,7 +68,7 @@
"@types/node": "^16.11.26",
"@types/swagger-ui-react": "^4.1.1",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinition.tsx b/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinition.tsx
index ae1530f8b0..cff21dcf78 100644
--- a/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinition.tsx
+++ b/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinition.tsx
@@ -53,6 +53,7 @@ const useStyles = makeStyles(theme => ({
.opblock-summary-operation-id,
.opblock-summary-path,
.opblock-summary-path__deprecated,
+ .opblock-description-wrapper,
.opblock-external-docs-wrapper,
.opblock-section-header .btn,
.opblock-section-header>label,
@@ -66,7 +67,7 @@ const useStyles = makeStyles(theme => ({
fontFamily: theme.typography.fontFamily,
color: theme.palette.text.primary,
},
- [`& .opblock .opblock-section-header,
+ [`& .opblock .opblock-section-header,
.model-box,
section.models .model-container`]: {
background: theme.palette.background.default,
@@ -75,7 +76,7 @@ const useStyles = makeStyles(theme => ({
.parameter__in`]: {
color: theme.palette.text.disabled,
},
- [`& table.model,
+ [`& table.model,
.parameter__type,
.model.model-title,
.model-title,
@@ -91,7 +92,7 @@ const useStyles = makeStyles(theme => ({
[`& .parameter__name.required:after`]: {
color: theme.palette.warning.dark,
},
- [`& table.model,
+ [`& table.model,
table.model .model,
.opblock-external-docs-wrapper`]: {
fontSize: theme.typography.fontSize,
@@ -104,7 +105,7 @@ const useStyles = makeStyles(theme => ({
color: theme.palette.text.hint,
backgroundColor: theme.palette.background.paper,
},
- [`& .opblock-summary-method,
+ [`& .opblock-summary-method,
.info a`]: {
fontFamily: theme.typography.fontFamily,
},
diff --git a/plugins/app-backend/CHANGELOG.md b/plugins/app-backend/CHANGELOG.md
index 0282527437..cea1375cee 100644
--- a/plugins/app-backend/CHANGELOG.md
+++ b/plugins/app-backend/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-app-backend
+## 0.3.34-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/config-loader@1.1.3-next.1
+
## 0.3.34-next.2
### Patch Changes
diff --git a/plugins/app-backend/package.json b/plugins/app-backend/package.json
index b25a162f4a..daacabe5f6 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.2",
+ "version": "0.3.34-next.3",
"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.2",
- "@backstage/config-loader": "^1.1.3-next.0",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/config-loader": "^1.1.3-next.1",
"@backstage/config": "^1.0.1",
"@backstage/types": "^1.0.0",
"@types/express": "^4.17.6",
@@ -45,17 +45,17 @@
"helmet": "^5.0.2",
"knex": "^2.0.0",
"lodash": "^4.17.21",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"winston": "^3.2.1",
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.2",
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@backstage/types": "^1.0.0",
"@types/supertest": "^2.0.8",
"mock-fs": "^5.1.0",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"supertest": "^6.1.3"
},
"files": [
diff --git a/plugins/auth-backend/CHANGELOG.md b/plugins/auth-backend/CHANGELOG.md
index 8e6e79d97e..a8b47b5566 100644
--- a/plugins/auth-backend/CHANGELOG.md
+++ b/plugins/auth-backend/CHANGELOG.md
@@ -1,5 +1,22 @@
# @backstage/plugin-auth-backend
+## 0.15.0-next.3
+
+### Minor Changes
+
+- fe8e025af5: Allowed post method on /refresh path
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- 3a014730dc: Add new config option for okta auth server and IDP
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/plugin-auth-node@0.2.3-next.2
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.15.0-next.2
### Patch Changes
diff --git a/plugins/auth-backend/package.json b/plugins/auth-backend/package.json
index b1c2f39e27..5f83bbef6a 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.15.0-next.2",
+ "version": "0.15.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,10 +33,10 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/plugin-auth-node": "^0.2.3-next.1",
- "@backstage/backend-common": "^0.14.1-next.2",
- "@backstage/catalog-client": "^1.0.4-next.1",
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/plugin-auth-node": "^0.2.3-next.2",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
"@backstage/types": "^1.0.0",
@@ -56,7 +56,7 @@
"jwt-decode": "^3.1.0",
"knex": "^2.0.0",
"lodash": "^4.17.21",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"minimatch": "^5.0.0",
"morgan": "^1.10.0",
"node-fetch": "^2.6.7",
@@ -76,8 +76,8 @@
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.2",
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/body-parser": "^1.19.0",
"@types/cookie-parser": "^1.4.2",
"@types/express-session": "^1.17.2",
@@ -88,7 +88,7 @@
"@types/passport-saml": "^1.1.3",
"@types/passport-strategy": "^0.2.35",
"@types/xml2js": "^0.4.7",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"supertest": "^6.1.3"
},
"files": [
diff --git a/plugins/auth-node/CHANGELOG.md b/plugins/auth-node/CHANGELOG.md
index 43bf44ac8e..096a4cbcae 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.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+
## 0.2.3-next.1
### Patch Changes
diff --git a/plugins/auth-node/package.json b/plugins/auth-node/package.json
index 1e6c50866f..76d7b4631b 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.1",
+ "version": "0.2.3-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -23,7 +23,7 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-common": "^0.14.1-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
"@types/express": "^4.17.6",
@@ -33,9 +33,9 @@
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"lodash": "^4.17.21",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"uuid": "^8.0.0"
},
"files": [
diff --git a/plugins/azure-devops-backend/CHANGELOG.md b/plugins/azure-devops-backend/CHANGELOG.md
index 95fb110ed8..5080410b39 100644
--- a/plugins/azure-devops-backend/CHANGELOG.md
+++ b/plugins/azure-devops-backend/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-azure-devops-backend
+## 0.3.13-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- e67c4b7d5a: Adding getProjects endpoint to list out all projects associated with the Azure DevOps organization.
+
+ It can be accessed by using this endpoint `{backendUrl}/api/azure-devops/projects`
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-azure-devops-common@0.2.4-next.0
+
## 0.3.13-next.0
### Patch Changes
diff --git a/plugins/azure-devops-backend/package.json b/plugins/azure-devops-backend/package.json
index cff9eaf07e..f39b4d6a07 100644
--- a/plugins/azure-devops-backend/package.json
+++ b/plugins/azure-devops-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-azure-devops-backend",
- "version": "0.3.13-next.0",
+ "version": "0.3.13-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -23,9 +23,9 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-common": "^0.14.1-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/plugin-azure-devops-common": "^0.2.3",
+ "@backstage/plugin-azure-devops-common": "^0.2.4-next.0",
"@types/express": "^4.17.6",
"azure-devops-node-api": "^11.0.1",
"express": "^4.17.1",
@@ -35,10 +35,10 @@
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/supertest": "^2.0.8",
"supertest": "^6.1.6",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/azure-devops-common/CHANGELOG.md b/plugins/azure-devops-common/CHANGELOG.md
index e09de900b8..8320047ea1 100644
--- a/plugins/azure-devops-common/CHANGELOG.md
+++ b/plugins/azure-devops-common/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-azure-devops-common
+## 0.2.4-next.0
+
+### Patch Changes
+
+- e67c4b7d5a: Adding getProjects endpoint to list out all projects associated with the Azure DevOps organization.
+
+ It can be accessed by using this endpoint `{backendUrl}/api/azure-devops/projects`
+
## 0.2.3
### Patch Changes
diff --git a/plugins/azure-devops-common/package.json b/plugins/azure-devops-common/package.json
index f0f137ac52..9ab17220c2 100644
--- a/plugins/azure-devops-common/package.json
+++ b/plugins/azure-devops-common/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-azure-devops-common",
- "version": "0.2.3",
+ "version": "0.2.4-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -32,7 +32,7 @@
"clean": "backstage-cli package clean"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1"
+ "@backstage/cli": "^0.18.0-next.3"
},
"files": [
"dist"
diff --git a/plugins/azure-devops/CHANGELOG.md b/plugins/azure-devops/CHANGELOG.md
index 79a58574f3..15a6f1df08 100644
--- a/plugins/azure-devops/CHANGELOG.md
+++ b/plugins/azure-devops/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-azure-devops
+## 0.1.23-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-azure-devops-common@0.2.4-next.0
+
## 0.1.23-next.2
### Patch Changes
diff --git a/plugins/azure-devops/package.json b/plugins/azure-devops/package.json
index 6ab9760f66..f2f3ee1e2f 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.2",
+ "version": "0.1.23-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -30,18 +30,18 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/plugin-azure-devops-common": "^0.2.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/plugin-azure-devops-common": "^0.2.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
"humanize-duration": "^3.27.0",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"react-router": "6.0.0-beta.0",
"react-use": "^17.2.4"
},
@@ -49,17 +49,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/badges/CHANGELOG.md b/plugins/badges/CHANGELOG.md
index b6fc662c3a..acfbcd6e0a 100644
--- a/plugins/badges/CHANGELOG.md
+++ b/plugins/badges/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-badges
+## 0.2.31-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.2.31-next.2
### Patch Changes
diff --git a/plugins/badges/package.json b/plugins/badges/package.json
index 6972ba80ae..7c73b55f9e 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.2",
+ "version": "0.2.31-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -30,11 +30,11 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -46,17 +46,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/bazaar-backend/api-report.md b/plugins/bazaar-backend/api-report.md
index b50994b15d..d62453d156 100644
--- a/plugins/bazaar-backend/api-report.md
+++ b/plugins/bazaar-backend/api-report.md
@@ -8,13 +8,9 @@ import express from 'express';
import { Logger } from 'winston';
import { PluginDatabaseManager } from '@backstage/backend-common';
-// Warning: (ae-missing-release-tag) "createRouter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
-//
// @public (undocumented)
export function createRouter(options: RouterOptions): Promise;
-// Warning: (ae-missing-release-tag) "RouterOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
-//
// @public (undocumented)
export interface RouterOptions {
// (undocumented)
diff --git a/plugins/bazaar-backend/src/service/router.ts b/plugins/bazaar-backend/src/service/router.ts
index 3915c8c609..c61309d279 100644
--- a/plugins/bazaar-backend/src/service/router.ts
+++ b/plugins/bazaar-backend/src/service/router.ts
@@ -21,12 +21,14 @@ import { Logger } from 'winston';
import { Config } from '@backstage/config';
import { DatabaseHandler } from './DatabaseHandler';
+/** @public */
export interface RouterOptions {
logger: Logger;
database: PluginDatabaseManager;
config: Config;
}
+/** @public */
export async function createRouter(
options: RouterOptions,
): Promise {
diff --git a/plugins/bazaar/CHANGELOG.md b/plugins/bazaar/CHANGELOG.md
index e70e0db58b..48d5f8a85a 100644
--- a/plugins/bazaar/CHANGELOG.md
+++ b/plugins/bazaar/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-bazaar
+## 0.1.22-next.3
+
+### Patch Changes
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/cli@0.18.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-catalog@1.4.0-next.3
+
## 0.1.22-next.2
### Patch Changes
diff --git a/plugins/bazaar/api-report.md b/plugins/bazaar/api-report.md
index e7816757b3..d711df7320 100644
--- a/plugins/bazaar/api-report.md
+++ b/plugins/bazaar/api-report.md
@@ -8,13 +8,9 @@
import { BackstagePlugin } from '@backstage/core-plugin-api';
import { RouteRef } from '@backstage/core-plugin-api';
-// Warning: (ae-missing-release-tag) "BazaarPage" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
-//
// @public (undocumented)
export const BazaarPage: () => JSX.Element;
-// Warning: (ae-missing-release-tag) "bazaarPlugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
-//
// @public (undocumented)
export const bazaarPlugin: BackstagePlugin<
{
@@ -23,13 +19,9 @@ export const bazaarPlugin: BackstagePlugin<
{}
>;
-// Warning: (ae-missing-release-tag) "EntityBazaarInfoCard" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
-//
// @public (undocumented)
export const EntityBazaarInfoCard: () => JSX.Element | null;
-// Warning: (ae-missing-release-tag) "SortView" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
-//
// @public (undocumented)
export const SortView: () => JSX.Element;
diff --git a/plugins/bazaar/package.json b/plugins/bazaar/package.json
index aa44986a79..371596b981 100644
--- a/plugins/bazaar/package.json
+++ b/plugins/bazaar/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-bazaar",
- "version": "0.1.22-next.2",
+ "version": "0.1.22-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -24,20 +24,20 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-client": "^1.0.4-next.1",
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog": "^1.4.0-next.2",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog": "^1.4.0-next.3",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@date-io/luxon": "1.x",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
"@material-ui/pickers": "^3.3.10",
"@testing-library/jest-dom": "^5.10.1",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"material-ui-search-bar": "^1.0.0",
"react-hook-form": "^7.13.0",
"react-router-dom": "6.0.0-beta.0",
@@ -47,8 +47,8 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/dev-utils": "^1.0.4-next.2",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/dev-utils": "^1.0.4-next.3",
"@testing-library/jest-dom": "^5.10.1",
"cross-fetch": "^3.1.5"
},
diff --git a/plugins/bazaar/src/components/EntityBazaarInfoCard/EntityBazaarInfoCard.tsx b/plugins/bazaar/src/components/EntityBazaarInfoCard/EntityBazaarInfoCard.tsx
index 5007dbdc89..ba38f3189e 100644
--- a/plugins/bazaar/src/components/EntityBazaarInfoCard/EntityBazaarInfoCard.tsx
+++ b/plugins/bazaar/src/components/EntityBazaarInfoCard/EntityBazaarInfoCard.tsx
@@ -24,6 +24,7 @@ import { EntityBazaarInfoContent } from '../EntityBazaarInfoContent';
import { Card } from '@material-ui/core';
import { parseBazaarResponse } from '../../util/parseMethods';
+/** @public */
export const EntityBazaarInfoCard = () => {
const { entity } = useEntity();
const bazaarApi = useApi(bazaarApiRef);
diff --git a/plugins/bazaar/src/components/SortView/SortView.tsx b/plugins/bazaar/src/components/SortView/SortView.tsx
index f5bb6facd7..75f5bbeb34 100644
--- a/plugins/bazaar/src/components/SortView/SortView.tsx
+++ b/plugins/bazaar/src/components/SortView/SortView.tsx
@@ -66,6 +66,7 @@ const getUnlinkedCatalogEntities = (
});
};
+/** @public */
export const SortView = () => {
const bazaarApi = useApi(bazaarApiRef);
const catalogApi = useApi(catalogApiRef);
diff --git a/plugins/bazaar/src/plugin.ts b/plugins/bazaar/src/plugin.ts
index 438208624e..e863896489 100644
--- a/plugins/bazaar/src/plugin.ts
+++ b/plugins/bazaar/src/plugin.ts
@@ -25,6 +25,7 @@ import {
} from '@backstage/core-plugin-api';
import { bazaarApiRef, BazaarClient } from './api';
+/** @public */
export const bazaarPlugin = createPlugin({
id: 'bazaar',
routes: {
@@ -44,6 +45,7 @@ export const bazaarPlugin = createPlugin({
],
});
+/** @public */
export const BazaarPage = bazaarPlugin.provide(
createRoutableExtension({
name: 'BazaarPage',
diff --git a/plugins/bitbucket-cloud-common/CHANGELOG.md b/plugins/bitbucket-cloud-common/CHANGELOG.md
index f066706277..c92c9e7d08 100644
--- a/plugins/bitbucket-cloud-common/CHANGELOG.md
+++ b/plugins/bitbucket-cloud-common/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-bitbucket-cloud-common
+## 0.1.1-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/integration@1.2.2-next.3
+
## 0.1.1-next.0
### Patch Changes
diff --git a/plugins/bitbucket-cloud-common/package.json b/plugins/bitbucket-cloud-common/package.json
index d5a686a1cd..e196bd1837 100644
--- a/plugins/bitbucket-cloud-common/package.json
+++ b/plugins/bitbucket-cloud-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-bitbucket-cloud-common",
"description": "Common functionalities for bitbucket-cloud plugins",
- "version": "0.1.1-next.0",
+ "version": "0.1.1-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -28,13 +28,13 @@
"update-models": "yarn refresh-schema && yarn generate-models && yarn reduce-models"
},
"dependencies": {
- "@backstage/integration": "^1.2.2-next.1",
+ "@backstage/integration": "^1.2.2-next.3",
"cross-fetch": "^3.1.5"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@openapitools/openapi-generator-cli": "^2.4.26",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"ts-morph": "^15.0.0"
},
"files": [
diff --git a/plugins/bitrise/CHANGELOG.md b/plugins/bitrise/CHANGELOG.md
index 9058f5c15a..ec83a0c66e 100644
--- a/plugins/bitrise/CHANGELOG.md
+++ b/plugins/bitrise/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-bitrise
+## 0.1.34-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.1.34-next.2
### Patch Changes
diff --git a/plugins/bitrise/package.json b/plugins/bitrise/package.json
index 07ac2ca46e..00cca959d2 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.2",
+ "version": "0.1.34-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -24,17 +24,17 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
"cross-fetch": "^3.1.5",
"lodash": "^4.17.21",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"qs": "^6.9.6",
"react-use": "^17.2.4",
"recharts": "^1.8.5"
@@ -43,17 +43,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"@types/recharts": "^1.8.15",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/catalog-backend-module-aws/CHANGELOG.md b/plugins/catalog-backend-module-aws/CHANGELOG.md
index 2f200dd9b1..a5f6ad1541 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.2
+
+### Patch Changes
+
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.1.7-next.1
### Patch Changes
diff --git a/plugins/catalog-backend-module-aws/api-report.md b/plugins/catalog-backend-module-aws/api-report.md
index c2c18431b9..4e8db41fac 100644
--- a/plugins/catalog-backend-module-aws/api-report.md
+++ b/plugins/catalog-backend-module-aws/api-report.md
@@ -7,6 +7,7 @@ import { CatalogProcessor } from '@backstage/plugin-catalog-backend';
import { CatalogProcessorEmit } from '@backstage/plugin-catalog-backend';
import { CatalogProcessorParser } from '@backstage/plugin-catalog-backend';
import { Config } from '@backstage/config';
+import { Credentials } from 'aws-sdk';
import { EntityProvider } from '@backstage/plugin-catalog-backend';
import { EntityProviderConnection } from '@backstage/plugin-catalog-backend';
import { LocationSpec } from '@backstage/plugin-catalog-backend';
@@ -14,6 +15,26 @@ import { Logger } from 'winston';
import { TaskRunner } from '@backstage/backend-tasks';
import { UrlReader } from '@backstage/backend-common';
+// @public
+export type AWSCredentialFactory = (
+ awsAccountId: string,
+) => Promise;
+
+// @public
+export class AwsEKSClusterProcessor implements CatalogProcessor {
+ constructor(options: { credentialsFactory?: AWSCredentialFactory });
+ // (undocumented)
+ getProcessorName(): string;
+ // (undocumented)
+ normalizeName(name: string): string;
+ // (undocumented)
+ readLocation(
+ location: LocationSpec,
+ _optional: boolean,
+ emit: CatalogProcessorEmit,
+ ): Promise;
+}
+
// @public
export class AwsOrganizationCloudAccountProcessor implements CatalogProcessor {
// (undocumented)
diff --git a/plugins/catalog-backend-module-aws/package.json b/plugins/catalog-backend-module-aws/package.json
index 4b4e60cf4d..243a4e3a47 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.1",
+ "version": "0.1.7-next.2",
"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.1",
- "@backstage/backend-tasks": "^0.3.3-next.1",
- "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/backend-tasks": "^0.3.3-next.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.1",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/plugin-catalog-backend": "^1.3.0-next.3",
"@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.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/lodash": "^4.14.151",
"aws-sdk-mock": "^5.2.1",
"yaml": "^2.0.0"
diff --git a/plugins/catalog-backend-module-aws/src/index.ts b/plugins/catalog-backend-module-aws/src/index.ts
index 1d8e844895..212308edaa 100644
--- a/plugins/catalog-backend-module-aws/src/index.ts
+++ b/plugins/catalog-backend-module-aws/src/index.ts
@@ -22,3 +22,4 @@
export * from './processors';
export * from './providers';
+export * from './types';
diff --git a/plugins/catalog-backend-module-aws/src/processors/AwsEKSClusterProcessor.test.ts b/plugins/catalog-backend-module-aws/src/processors/AwsEKSClusterProcessor.test.ts
new file mode 100644
index 0000000000..3e33ba740c
--- /dev/null
+++ b/plugins/catalog-backend-module-aws/src/processors/AwsEKSClusterProcessor.test.ts
@@ -0,0 +1,74 @@
+/*
+ * 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 { AwsEKSClusterProcessor } from './AwsEKSClusterProcessor';
+import AWSMock from 'aws-sdk-mock';
+import aws from 'aws-sdk';
+
+describe('AwsEKSClusterProcessor', () => {
+ AWSMock.setSDKInstance(aws);
+ describe('readLocation', () => {
+ const processor = new (AwsEKSClusterProcessor as any)({});
+ const location = { type: 'aws-eks', target: '957140518395/us-west-2' };
+ const emit = jest.fn();
+ it('generates cluster correctly', async () => {
+ const clusters: aws.EKS.Types.ListClustersResponse = {
+ clusters: ['backstage-test'],
+ nextToken: undefined,
+ };
+
+ const cluster: aws.EKS.Types.DescribeClusterResponse = {
+ cluster: {
+ name: 'backstage-test',
+ arn: 'arn:aws:1',
+ endpoint: 'https://backstage.io/kubernetes-api-server',
+ certificateAuthority: {
+ data: 'cert',
+ },
+ },
+ };
+ AWSMock.mock('EKS', 'listClusters', clusters);
+
+ AWSMock.mock('EKS', 'describeCluster', cluster);
+
+ await processor.readLocation(location, false, emit);
+ expect(emit).toBeCalledWith({
+ type: 'entity',
+ location,
+ entity: {
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'Resource',
+ metadata: {
+ annotations: {
+ 'amazonaws.com/account-id': '957140518395',
+ 'amazonaws.com/arn': cluster.cluster?.arn,
+ 'kubernetes.io/api-server': cluster.cluster?.endpoint,
+ 'kubernetes.io/api-server-certificate-authority':
+ cluster.cluster?.certificateAuthority?.data,
+ 'kubernetes.io/auth-provider': 'aws',
+ },
+ name: 'backstage-test',
+ namespace: 'default',
+ },
+ spec: {
+ type: 'kubernetes-cluster',
+ owner: 'unknown',
+ },
+ },
+ });
+ });
+ });
+});
diff --git a/plugins/catalog-backend-module-aws/src/processors/AwsEKSClusterProcessor.ts b/plugins/catalog-backend-module-aws/src/processors/AwsEKSClusterProcessor.ts
new file mode 100644
index 0000000000..c34b247f4d
--- /dev/null
+++ b/plugins/catalog-backend-module-aws/src/processors/AwsEKSClusterProcessor.ts
@@ -0,0 +1,123 @@
+/*
+ * 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 {
+ CatalogProcessor,
+ CatalogProcessorEmit,
+ LocationSpec,
+} from '@backstage/plugin-catalog-backend';
+import {
+ ANNOTATION_KUBERNETES_API_SERVER,
+ ANNOTATION_KUBERNETES_API_SERVER_CA,
+ ANNOTATION_KUBERNETES_AUTH_PROVIDER,
+} from '@backstage/catalog-model';
+import { Credentials, EKS } from 'aws-sdk';
+import { AWSCredentialFactory } from '../types';
+
+const ACCOUNTID_ANNOTATION: string = 'amazonaws.com/account-id';
+const ARN_ANNOTATION: string = 'amazonaws.com/arn';
+
+/**
+ * A processor for automatic discovery of resources from EKS clusters. Handles the
+ * `aws-eks` location type, and target accounts/regions of the form
+ * `/`.
+ *
+ * @public
+ */
+export class AwsEKSClusterProcessor implements CatalogProcessor {
+ private credentialsFactory?: AWSCredentialFactory;
+
+ constructor(options: { credentialsFactory?: AWSCredentialFactory }) {
+ this.credentialsFactory = options.credentialsFactory;
+ }
+
+ getProcessorName(): string {
+ return 'aws-eks';
+ }
+
+ normalizeName(name: string): string {
+ return name
+ .trim()
+ .toLocaleLowerCase('en-US')
+ .replace(/[^a-zA-Z0-9\-]/g, '-');
+ }
+
+ async readLocation(
+ location: LocationSpec,
+ _optional: boolean,
+ emit: CatalogProcessorEmit,
+ ): Promise {
+ if (location.type !== 'aws-eks') {
+ return false;
+ }
+
+ // location target is of format "account-id/region"
+ const [accountId, region] = location.target.split('/');
+
+ if (!accountId || !region) {
+ throw new Error(
+ 'AWS EKS location specified without account or region information',
+ );
+ }
+
+ let credentials: Credentials | undefined;
+
+ if (this.credentialsFactory) {
+ credentials = await this.credentialsFactory(accountId);
+ }
+
+ const eksClient = new EKS({ credentials, region });
+ const clusters = await eksClient.listClusters({}).promise();
+ if (clusters.clusters === undefined) {
+ return true;
+ }
+
+ const results = clusters.clusters
+ .map(cluster => eksClient.describeCluster({ name: cluster }).promise())
+ .map(async describedClusterPromise => {
+ const describedCluster = await describedClusterPromise;
+ if (describedCluster.cluster) {
+ const entity = {
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'Resource',
+ metadata: {
+ annotations: {
+ [ACCOUNTID_ANNOTATION]: accountId,
+ [ARN_ANNOTATION]: describedCluster.cluster.arn || '',
+ [ANNOTATION_KUBERNETES_API_SERVER]:
+ describedCluster.cluster.endpoint || '',
+ [ANNOTATION_KUBERNETES_API_SERVER_CA]:
+ describedCluster.cluster.certificateAuthority?.data || '',
+ [ANNOTATION_KUBERNETES_AUTH_PROVIDER]: 'aws',
+ },
+ name: this.normalizeName(describedCluster.cluster.name as string),
+ namespace: 'default',
+ },
+ spec: {
+ type: 'kubernetes-cluster',
+ owner: 'unknown',
+ },
+ };
+ emit({
+ type: 'entity',
+ entity,
+ location,
+ });
+ }
+ });
+ await Promise.all(results);
+ return true;
+ }
+}
diff --git a/plugins/catalog-backend-module-aws/src/processors/index.ts b/plugins/catalog-backend-module-aws/src/processors/index.ts
index 8718e77a6f..63b8a47139 100644
--- a/plugins/catalog-backend-module-aws/src/processors/index.ts
+++ b/plugins/catalog-backend-module-aws/src/processors/index.ts
@@ -14,5 +14,6 @@
* limitations under the License.
*/
+export { AwsEKSClusterProcessor } from './AwsEKSClusterProcessor';
export { AwsOrganizationCloudAccountProcessor } from './AwsOrganizationCloudAccountProcessor';
export { AwsS3DiscoveryProcessor } from './AwsS3DiscoveryProcessor';
diff --git a/plugins/catalog-backend-module-aws/src/types.ts b/plugins/catalog-backend-module-aws/src/types.ts
new file mode 100644
index 0000000000..3d9df38181
--- /dev/null
+++ b/plugins/catalog-backend-module-aws/src/types.ts
@@ -0,0 +1,25 @@
+/*
+ * 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 { Credentials } from 'aws-sdk';
+
+/**
+ * A factory for providing user-specified AWS credentials for a given AWS account.
+ *
+ * @public
+ */
+export type AWSCredentialFactory = (
+ awsAccountId: string,
+) => Promise;
diff --git a/plugins/catalog-backend-module-azure/CHANGELOG.md b/plugins/catalog-backend-module-azure/CHANGELOG.md
index f9c2eeb6ce..a215ff308e 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.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.1.5-next.1
### Patch Changes
diff --git a/plugins/catalog-backend-module-azure/package.json b/plugins/catalog-backend-module-azure/package.json
index 6256a01a72..059fd5bd27 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.1",
+ "version": "0.1.5-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,23 +33,23 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@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/backend-common": "^0.14.1-next.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/backend-tasks": "^0.3.3-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.1",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/plugin-catalog-backend": "^1.3.0-next.3",
"@backstage/types": "^1.0.0",
"lodash": "^4.17.21",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"uuid": "^8.0.0",
"node-fetch": "^2.6.7",
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.1",
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/lodash": "^4.14.151"
},
"files": [
diff --git a/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md
index c0d71dd190..6bcaf6cc40 100644
--- a/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md
+++ b/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-catalog-backend-module-bitbucket-cloud
+## 0.1.1-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/plugin-bitbucket-cloud-common@0.1.1-next.1
+ - @backstage/backend-tasks@0.3.3-next.3
+
## 0.1.1-next.0
### Patch Changes
diff --git a/plugins/catalog-backend-module-bitbucket-cloud/package.json b/plugins/catalog-backend-module-bitbucket-cloud/package.json
index b272cb8c29..a107959820 100644
--- a/plugins/catalog-backend-module-bitbucket-cloud/package.json
+++ b/plugins/catalog-backend-module-bitbucket-cloud/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-bitbucket-cloud",
"description": "A Backstage catalog backend module that helps integrate towards Bitbucket Cloud",
- "version": "0.1.1-next.0",
+ "version": "0.1.1-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,19 +33,19 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-tasks": "^0.3.3-next.1",
+ "@backstage/backend-tasks": "^0.3.3-next.3",
"@backstage/config": "^1.0.1",
- "@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.1",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/plugin-bitbucket-cloud-common": "^0.1.1-next.1",
+ "@backstage/plugin-catalog-backend": "^1.3.0-next.3",
"uuid": "^8.0.0",
"winston": "^3.2.1"
},
"devDependencies": {
- "@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.43.0"
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/catalog-backend-module-bitbucket/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket/CHANGELOG.md
index a920827973..b73c4834c4 100644
--- a/plugins/catalog-backend-module-bitbucket/CHANGELOG.md
+++ b/plugins/catalog-backend-module-bitbucket/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-catalog-backend-module-bitbucket
+## 0.2.1-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/plugin-bitbucket-cloud-common@0.1.1-next.1
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.2.1-next.1
### Patch Changes
diff --git a/plugins/catalog-backend-module-bitbucket/package.json b/plugins/catalog-backend-module-bitbucket/package.json
index 4eb2a85e0e..a01a2e38ce 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.1",
+ "version": "0.2.1-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,22 +33,22 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.1",
- "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
"@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.1",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/plugin-bitbucket-cloud-common": "^0.1.1-next.1",
+ "@backstage/plugin-catalog-backend": "^1.3.0-next.3",
"@backstage/types": "^1.0.0",
"lodash": "^4.17.21",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"node-fetch": "^2.6.7",
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.1",
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@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 c55973d568..3658da2d54 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.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.1.2-next.1
### Patch Changes
diff --git a/plugins/catalog-backend-module-gerrit/package.json b/plugins/catalog-backend-module-gerrit/package.json
index 6c4bd63659..e56e199d59 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.1",
+ "version": "0.1.2-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -28,22 +28,22 @@
"postpack": "backstage-cli package postpack"
},
"dependencies": {
- "@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/backend-common": "^0.14.1-next.3",
+ "@backstage/backend-tasks": "^0.3.3-next.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.1",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/plugin-catalog-backend": "^1.3.0-next.3",
"fs-extra": "10.1.0",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"node-fetch": "^2.6.7",
"uuid": "^8.0.0",
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.1",
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@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 42aa26afdf..bf96849eca 100644
--- a/plugins/catalog-backend-module-github/CHANGELOG.md
+++ b/plugins/catalog-backend-module-github/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-catalog-backend-module-github
+## 0.1.5-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 0f25116d28: Updated dependency `@octokit/graphql` to `^5.0.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.1.5-next.1
### Patch Changes
diff --git a/plugins/catalog-backend-module-github/package.json b/plugins/catalog-backend-module-github/package.json
index eae503c507..7d52be20de 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.1",
+ "version": "0.1.5-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,24 +33,24 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@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/backend-common": "^0.14.1-next.3",
+ "@backstage/backend-tasks": "^0.3.3-next.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.1",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/plugin-catalog-backend": "^1.3.0-next.3",
"@backstage/types": "^1.0.0",
- "@octokit/graphql": "^4.5.8",
+ "@octokit/graphql": "^5.0.0",
"lodash": "^4.17.21",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"node-fetch": "^2.6.7",
"uuid": "^8.0.0",
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.1",
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@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 95fa6ddbda..0edbae31c4 100644
--- a/plugins/catalog-backend-module-gitlab/CHANGELOG.md
+++ b/plugins/catalog-backend-module-gitlab/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-catalog-backend-module-gitlab
+## 0.1.5-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.1.5-next.1
### Patch Changes
diff --git a/plugins/catalog-backend-module-gitlab/package.json b/plugins/catalog-backend-module-gitlab/package.json
index 47f48af481..800cb8b280 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.1",
+ "version": "0.1.5-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,23 +33,23 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@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/backend-common": "^0.14.1-next.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/backend-tasks": "^0.3.3-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.1",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/plugin-catalog-backend": "^1.3.0-next.3",
"@backstage/types": "^1.0.0",
"lodash": "^4.17.21",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"node-fetch": "^2.6.7",
"winston": "^3.2.1",
"uuid": "^8.0.0"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.1",
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@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 e906e40631..5d65d1c768 100644
--- a/plugins/catalog-backend-module-ldap/CHANGELOG.md
+++ b/plugins/catalog-backend-module-ldap/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-catalog-backend-module-ldap
+## 0.5.1-next.2
+
+### Patch Changes
+
+- ddfd566606: Fix mapping between users and groups for FreeIPA when using the LdapOrgProcessor
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.5.1-next.1
### Patch Changes
diff --git a/plugins/catalog-backend-module-ldap/package.json b/plugins/catalog-backend-module-ldap/package.json
index 7232ea24c3..b89382977a 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.1",
+ "version": "0.5.1-next.2",
"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.1",
- "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/backend-tasks": "^0.3.3-next.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.1",
+ "@backstage/plugin-catalog-backend": "^1.3.0-next.3",
"@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.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/lodash": "^4.14.151"
},
"files": [
diff --git a/plugins/catalog-backend-module-msgraph/CHANGELOG.md b/plugins/catalog-backend-module-msgraph/CHANGELOG.md
index a86663d6d1..43ee7ff4f5 100644
--- a/plugins/catalog-backend-module-msgraph/CHANGELOG.md
+++ b/plugins/catalog-backend-module-msgraph/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-catalog-backend-module-msgraph
+## 0.4.0-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-tasks@0.3.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.4.0-next.1
### Minor Changes
diff --git a/plugins/catalog-backend-module-msgraph/README.md b/plugins/catalog-backend-module-msgraph/README.md
index 6132d5abc6..23166a755d 100644
--- a/plugins/catalog-backend-module-msgraph/README.md
+++ b/plugins/catalog-backend-module-msgraph/README.md
@@ -6,13 +6,18 @@ This provider is useful if you want to import users and groups from Azure Active
## Getting Started
-1. Create or use an existing App registration in the [Microsoft Azure Portal](https://portal.azure.com/).
- The App registration requires at least the API permissions `Group.Read.All`,
- `GroupMember.Read.All`, `User.Read` and `User.Read.All` for Microsoft Graph
- (if you still run into errors about insufficient privileges, add
- `Team.ReadBasic.All` and `TeamMember.Read.All` too).
+1. Choose your authentication method - all methods supported by [DefaultAzureCredential](https://docs.microsoft.com/en-us/javascript/api/overview/azure/identity-readme?view=azure-node-latest#defaultazurecredential)
-2. Configure the entity provider:
+ - For local dev, use Azure CLI, Azure PowerShell or Visual Studio Code for authentication
+ - If your infrastructure supports Managed Identity, use that
+ - Otherwise use an App Registration
+
+1. If using Managed Identity or App Registration for authentication, grant the following application permissions (not delegated)
+
+ - `GroupMember.Read.All`
+ - `User.Read.All`
+
+1. Configure the entity provider:
```yaml
# app-config.yaml
@@ -24,11 +29,13 @@ catalog:
authority: https://login.microsoftonline.com
# If you don't know you tenantId, you can use Microsoft Graph Explorer
# to query it
- tenantId: ${MICROSOFT_GRAPH_TENANT_ID}
+ tenantId: ${AZURE_TENANT_ID}
+ # Optional ClientId and ClientSecret if you don't want to use `DefaultAzureCredential`
+ # for authentication
# Client Id and Secret can be created under Certificates & secrets in
# the App registration in the Microsoft Azure Portal.
- clientId: ${MICROSOFT_GRAPH_CLIENT_ID}
- clientSecret: ${MICROSOFT_GRAPH_CLIENT_SECRET_TOKEN}
+ clientId: ${AZURE_CLIENT_ID}
+ clientSecret: ${AZURE_CLIENT_SECRET}
# Optional mode for querying which defaults to "basic".
# By default, the Microsoft Graph API only provides the basic feature set
# for querying. Certain features are limited to advanced querying capabilities.
@@ -108,8 +115,9 @@ yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-msgraph
+ MicrosoftGraphOrgEntityProvider.fromConfig(env.config, {
+ logger: env.logger,
+ schedule: env.scheduler.createScheduledTaskRunner({
-+ frequency: { minutes: 5 },
-+ timeout: { minutes: 3 },
++ frequency: { hours: 1 },
++ timeout: { minutes: 50 },
++ initialDelay: { seconds: 15}
+ }),
+ }),
+ );
diff --git a/plugins/catalog-backend-module-msgraph/api-report.md b/plugins/catalog-backend-module-msgraph/api-report.md
index a4083b1d9e..8f773e1b90 100644
--- a/plugins/catalog-backend-module-msgraph/api-report.md
+++ b/plugins/catalog-backend-module-msgraph/api-report.md
@@ -12,9 +12,9 @@ import { GroupEntity } from '@backstage/catalog-model';
import { LocationSpec } from '@backstage/plugin-catalog-backend';
import { Logger } from 'winston';
import * as MicrosoftGraph from '@microsoft/microsoft-graph-types';
-import * as msal from '@azure/msal-node';
import { Response as Response_2 } from 'node-fetch';
import { TaskRunner } from '@backstage/backend-tasks';
+import { TokenCredential } from '@azure/identity';
import { UserEntity } from '@backstage/catalog-model';
// @public
@@ -65,7 +65,7 @@ export const MICROSOFT_GRAPH_USER_ID_ANNOTATION = 'graph.microsoft.com/user-id';
// @public
export class MicrosoftGraphClient {
- constructor(baseUrl: string, pca: msal.ConfidentialClientApplication);
+ constructor(baseUrl: string, tokenCredential: TokenCredential);
static create(config: MicrosoftGraphProviderConfig): MicrosoftGraphClient;
getGroupMembers(groupId: string): AsyncIterable;
// (undocumented)
@@ -190,8 +190,8 @@ export type MicrosoftGraphProviderConfig = {
target: string;
authority?: string;
tenantId: string;
- clientId: string;
- clientSecret: string;
+ clientId?: string;
+ clientSecret?: string;
userFilter?: string;
userExpand?: string;
userGroupMemberFilter?: string;
diff --git a/plugins/catalog-backend-module-msgraph/config.d.ts b/plugins/catalog-backend-module-msgraph/config.d.ts
index 564ccbb10a..8748df5974 100644
--- a/plugins/catalog-backend-module-msgraph/config.d.ts
+++ b/plugins/catalog-backend-module-msgraph/config.d.ts
@@ -50,13 +50,13 @@ export interface Config {
/**
* The OAuth client ID to use for authenticating requests.
*/
- clientId: string;
+ clientId?: string;
/**
* The OAuth client secret to use for authenticating requests.
*
* @visibility secret
*/
- clientSecret: string;
+ clientSecret?: string;
// TODO: Consider not making these config options and pass them in the
// constructor instead. They are probably not environment specific, so
@@ -130,13 +130,13 @@ export interface Config {
/**
* The OAuth client ID to use for authenticating requests.
*/
- clientId: string;
+ clientId?: string;
/**
* The OAuth client secret to use for authenticating requests.
*
* @visibility secret
*/
- clientSecret: string;
+ clientSecret?: string;
user?: {
/**
diff --git a/plugins/catalog-backend-module-msgraph/package.json b/plugins/catalog-backend-module-msgraph/package.json
index 921d198b8b..a411974bd6 100644
--- a/plugins/catalog-backend-module-msgraph/package.json
+++ b/plugins/catalog-backend-module-msgraph/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-msgraph",
"description": "A Backstage catalog backend module that helps integrate towards Microsoft Graph",
- "version": "0.4.0-next.1",
+ "version": "0.4.0-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,26 +33,26 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@azure/msal-node": "^1.1.0",
- "@backstage/backend-tasks": "^0.3.3-next.2",
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@azure/identity": "^2.1.0",
+ "@backstage/backend-tasks": "^0.3.3-next.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.2",
+ "@backstage/plugin-catalog-backend": "^1.3.0-next.3",
"@microsoft/microsoft-graph-types": "^2.6.0",
"@types/node-fetch": "^2.5.12",
"lodash": "^4.17.21",
"node-fetch": "^2.6.7",
"p-limit": "^3.0.2",
+ "qs": "^6.9.4",
"uuid": "^8.0.0",
- "winston": "^3.2.1",
- "qs": "^6.9.4"
+ "winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/backend-common": "^0.14.1-next.2",
- "@backstage/backend-test-utils": "^0.1.26-next.2",
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/lodash": "^4.14.151",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/client.test.ts b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/client.test.ts
index 5ff4fa4e0e..94502b9e7d 100644
--- a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/client.test.ts
+++ b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/client.test.ts
@@ -14,30 +14,26 @@
* limitations under the License.
*/
-import * as msal from '@azure/msal-node';
+import { TokenCredential } from '@azure/identity';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import { rest } from 'msw';
import { setupServer } from 'msw/node';
import { MicrosoftGraphClient } from './client';
describe('MicrosoftGraphClient', () => {
- const confidentialClientApplication: jest.Mocked =
- {
- acquireTokenByClientCredential: jest.fn(),
- } as any;
+ const tokenCredential: jest.Mocked = {
+ getToken: jest.fn(),
+ } as any;
let client: MicrosoftGraphClient;
const worker = setupServer();
setupRequestMockHandlers(worker);
beforeEach(() => {
- confidentialClientApplication.acquireTokenByClientCredential.mockResolvedValue(
- { token: 'ACCESS_TOKEN' } as any,
- );
- client = new MicrosoftGraphClient(
- 'https://example.com',
- confidentialClientApplication,
- );
+ tokenCredential.getToken.mockResolvedValue({
+ token: 'ACCESS_TOKEN',
+ } as any);
+ client = new MicrosoftGraphClient('https://example.com', tokenCredential);
});
afterEach(() => {
@@ -55,12 +51,10 @@ describe('MicrosoftGraphClient', () => {
expect(response.status).toBe(200);
expect(await response.json()).toEqual({ value: 'example' });
- expect(
- confidentialClientApplication.acquireTokenByClientCredential,
- ).toBeCalledTimes(1);
- expect(
- confidentialClientApplication.acquireTokenByClientCredential,
- ).toBeCalledWith({ scopes: ['https://graph.microsoft.com/.default'] });
+ expect(tokenCredential.getToken).toBeCalledTimes(1);
+ expect(tokenCredential.getToken).toBeCalledWith(
+ 'https://graph.microsoft.com/.default',
+ );
});
it('should perform simple api request', async () => {
diff --git a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/client.ts b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/client.ts
index 20e791c5d5..26da0cb64b 100644
--- a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/client.ts
+++ b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/client.ts
@@ -14,7 +14,11 @@
* limitations under the License.
*/
-import * as msal from '@azure/msal-node';
+import {
+ TokenCredential,
+ DefaultAzureCredential,
+ ClientSecretCredential,
+} from '@azure/identity';
import * as MicrosoftGraph from '@microsoft/microsoft-graph-types';
import fetch, { Response } from 'node-fetch';
import qs from 'qs';
@@ -77,25 +81,32 @@ export class MicrosoftGraphClient {
* @param config - Configuration for Interacting with Graph API
*/
static create(config: MicrosoftGraphProviderConfig): MicrosoftGraphClient {
- const clientConfig: msal.Configuration = {
- auth: {
- clientId: config.clientId,
- clientSecret: config.clientSecret,
- authority: `${config.authority}/${config.tenantId}`,
- },
+ const options = {
+ authorityHost: config.authority,
+ tenantId: config.tenantId,
};
- const pca = new msal.ConfidentialClientApplication(clientConfig);
- return new MicrosoftGraphClient(config.target, pca);
+
+ const credential =
+ config.clientId && config.clientSecret
+ ? new ClientSecretCredential(
+ config.tenantId,
+ config.clientId,
+ config.clientSecret,
+ options,
+ )
+ : new DefaultAzureCredential(options);
+
+ return new MicrosoftGraphClient(config.target, credential);
}
/**
* @param baseUrl - baseUrl of Graph API {@link MicrosoftGraphProviderConfig.target}
- * @param pca - instance of `msal.ConfidentialClientApplication` that is used to acquire token for Graph API calls
+ * @param tokenCredential - instance of `TokenCredential` that is used to acquire token for Graph API calls
*
*/
constructor(
private readonly baseUrl: string,
- private readonly pca: msal.ConfidentialClientApplication,
+ private readonly tokenCredential: TokenCredential,
) {}
/**
@@ -202,18 +213,18 @@ export class MicrosoftGraphClient {
headers?: Record,
): Promise {
// Make sure that we always have a valid access token (might be cached)
- const token = await this.pca.acquireTokenByClientCredential({
- scopes: ['https://graph.microsoft.com/.default'],
- });
+ const token = await this.tokenCredential.getToken(
+ 'https://graph.microsoft.com/.default',
+ );
if (!token) {
- throw new Error('Error while requesting token for Microsoft Graph');
+ throw new Error('Failed to obtain token from Azure Identity');
}
return await fetch(url, {
headers: {
...headers,
- Authorization: `Bearer ${token.accessToken}`,
+ Authorization: `Bearer ${token.token}`,
},
});
}
diff --git a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/config.test.ts b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/config.test.ts
index 8239090249..8e2866df65 100644
--- a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/config.test.ts
+++ b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/config.test.ts
@@ -25,8 +25,6 @@ describe('readMicrosoftGraphConfig', () => {
id: 'target',
target: 'target',
tenantId: 'tenantId',
- clientId: 'clientId',
- clientSecret: 'clientSecret',
},
],
};
@@ -36,11 +34,6 @@ describe('readMicrosoftGraphConfig', () => {
id: 'target',
target: 'target',
tenantId: 'tenantId',
- clientId: 'clientId',
- clientSecret: 'clientSecret',
- authority: 'https://login.microsoftonline.com',
- userFilter: undefined,
- groupFilter: undefined,
},
];
expect(actual).toEqual(expected);
@@ -72,7 +65,7 @@ describe('readMicrosoftGraphConfig', () => {
tenantId: 'tenantId',
clientId: 'clientId',
clientSecret: 'clientSecret',
- authority: 'https://login.example.com',
+ authority: 'https://login.example.com/',
userExpand: 'manager',
userFilter: 'accountEnabled eq true',
groupExpand: 'member',
@@ -87,12 +80,7 @@ describe('readMicrosoftGraphConfig', () => {
const config = {
providers: [
{
- id: 'target',
- target: 'target',
tenantId: 'tenantId',
- clientId: 'clientId',
- clientSecret: 'clientSecret',
- authority: 'https://login.example.com/',
userFilter: 'accountEnabled eq true',
userGroupMemberFilter: 'any',
},
@@ -105,12 +93,7 @@ describe('readMicrosoftGraphConfig', () => {
const config = {
providers: [
{
- id: 'target',
- target: 'target',
tenantId: 'tenantId',
- clientId: 'clientId',
- clientSecret: 'clientSecret',
- authority: 'https://login.example.com/',
userFilter: 'accountEnabled eq true',
userGroupMemberSearch: 'any',
},
@@ -118,6 +101,30 @@ describe('readMicrosoftGraphConfig', () => {
};
expect(() => readMicrosoftGraphConfig(new ConfigReader(config))).toThrow();
});
+
+ it('should fail if clientId is set without clientSecret', () => {
+ const config = {
+ providers: [
+ {
+ tenantId: 'tenantId',
+ clientId: 'clientId',
+ },
+ ],
+ };
+ expect(() => readMicrosoftGraphConfig(new ConfigReader(config))).toThrow();
+ });
+
+ it('should fail if clientSecret is set without clientId', () => {
+ const config = {
+ providers: [
+ {
+ tenantId: 'tenantId',
+ clientSecret: 'clientId',
+ },
+ ],
+ };
+ expect(() => readMicrosoftGraphConfig(new ConfigReader(config))).toThrow();
+ });
});
describe('readProviderConfigs', () => {
@@ -127,10 +134,7 @@ describe('readProviderConfigs', () => {
providers: {
microsoftGraphOrg: {
customProviderId: {
- target: 'target',
tenantId: 'tenantId',
- clientId: 'clientId',
- clientSecret: 'clientSecret',
},
},
},
@@ -140,11 +144,8 @@ describe('readProviderConfigs', () => {
const expected = [
{
id: 'customProviderId',
- target: 'target',
+ target: 'https://graph.microsoft.com/v1.0',
tenantId: 'tenantId',
- clientId: 'clientId',
- clientSecret: 'clientSecret',
- authority: 'https://login.microsoftonline.com',
},
];
expect(actual).toEqual(expected);
@@ -183,7 +184,7 @@ describe('readProviderConfigs', () => {
tenantId: 'tenantId',
clientId: 'clientId',
clientSecret: 'clientSecret',
- authority: 'https://login.example.com',
+ authority: 'https://login.example.com/',
userExpand: 'manager',
userFilter: 'accountEnabled eq true',
groupExpand: 'member',
@@ -200,11 +201,7 @@ describe('readProviderConfigs', () => {
providers: {
microsoftGraphOrg: {
customProviderId: {
- target: 'target',
tenantId: 'tenantId',
- clientId: 'clientId',
- clientSecret: 'clientSecret',
- authority: 'https://login.example.com/',
user: {
filter: 'accountEnabled eq true',
},
@@ -225,11 +222,7 @@ describe('readProviderConfigs', () => {
providers: {
microsoftGraphOrg: {
customProviderId: {
- target: 'target',
tenantId: 'tenantId',
- clientId: 'clientId',
- clientSecret: 'clientSecret',
- authority: 'https://login.example.com/',
user: {
filter: 'accountEnabled eq true',
},
@@ -243,4 +236,36 @@ describe('readProviderConfigs', () => {
};
expect(() => readProviderConfigs(new ConfigReader(config))).toThrow();
});
+
+ it('should fail if clientId is set without clientSecret', () => {
+ const config = {
+ catalog: {
+ providers: {
+ microsoftGraphOrg: {
+ customProviderId: {
+ tenantId: 'tenantId',
+ clientId: 'id',
+ },
+ },
+ },
+ },
+ };
+ expect(() => readProviderConfigs(new ConfigReader(config))).toThrow();
+ });
+
+ it('should fail if clientSecret is set without clientId', () => {
+ const config = {
+ catalog: {
+ providers: {
+ microsoftGraphOrg: {
+ customProviderId: {
+ tenantId: 'tenantId',
+ clientSecret: 'clientSecret',
+ },
+ },
+ },
+ },
+ };
+ expect(() => readProviderConfigs(new ConfigReader(config))).toThrow();
+ });
});
diff --git a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/config.ts b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/config.ts
index 30e3a9a4d2..f7675acf42 100644
--- a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/config.ts
+++ b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/config.ts
@@ -17,7 +17,6 @@
import { Config } from '@backstage/config';
import { trimEnd } from 'lodash';
-const DEFAULT_AUTHORITY = 'https://login.microsoftonline.com';
const DEFAULT_PROVIDER_ID = 'default';
const DEFAULT_TARGET = 'https://graph.microsoft.com/v1.0';
@@ -49,12 +48,14 @@ export type MicrosoftGraphProviderConfig = {
tenantId: string;
/**
* The OAuth client ID to use for authenticating requests.
+ * If specified, ClientSecret must also be specified
*/
- clientId: string;
+ clientId?: string;
/**
* The OAuth client secret to use for authenticating requests.
+ * If specified, ClientId must also be specified
*/
- clientSecret: string;
+ clientSecret?: string;
/**
* The filter to apply to extract users.
*
@@ -131,14 +132,15 @@ export function readMicrosoftGraphConfig(
const providerConfigs = config.getOptionalConfigArray('providers') ?? [];
for (const providerConfig of providerConfigs) {
- const target = trimEnd(providerConfig.getString('target'), '/');
+ const target = trimEnd(
+ providerConfig.getOptionalString('target') ?? DEFAULT_TARGET,
+ '/',
+ );
+ const authority = providerConfig.getOptionalString('authority');
- const authority = providerConfig.getOptionalString('authority')
- ? trimEnd(providerConfig.getOptionalString('authority'), '/')
- : DEFAULT_AUTHORITY;
const tenantId = providerConfig.getString('tenantId');
- const clientId = providerConfig.getString('clientId');
- const clientSecret = providerConfig.getString('clientSecret');
+ const clientId = providerConfig.getOptionalString('clientId');
+ const clientSecret = providerConfig.getOptionalString('clientSecret');
const userExpand = providerConfig.getOptionalString('userExpand');
const userFilter = providerConfig.getOptionalString('userFilter');
@@ -173,6 +175,18 @@ export function readMicrosoftGraphConfig(
throw new Error(`queryMode must be one of: basic, advanced`);
}
+ if (clientId && !clientSecret) {
+ throw new Error(
+ `clientSecret must be provided when clientId is defined.`,
+ );
+ }
+
+ if (clientSecret && !clientId) {
+ throw new Error(
+ `clientId must be provided when clientSecret is defined.`,
+ );
+ }
+
providers.push({
id: target,
target,
@@ -225,14 +239,11 @@ export function readProviderConfig(
config.getOptionalString('target') ?? DEFAULT_TARGET,
'/',
);
- const authority = trimEnd(
- config.getOptionalString('authority') ?? DEFAULT_AUTHORITY,
- '/',
- );
+ const authority = config.getOptionalString('authority');
- const clientId = config.getString('clientId');
- const clientSecret = config.getString('clientSecret');
const tenantId = config.getString('tenantId');
+ const clientId = config.getOptionalString('clientId');
+ const clientSecret = config.getOptionalString('clientSecret');
const userExpand = config.getOptionalString('user.expand');
const userFilter = config.getOptionalString('user.filter');
@@ -260,6 +271,14 @@ export function readProviderConfig(
);
}
+ if (clientId && !clientSecret) {
+ throw new Error(`clientSecret must be provided when clientId is defined.`);
+ }
+
+ if (clientSecret && !clientId) {
+ throw new Error(`clientId must be provided when clientSecret is defined.`);
+ }
+
return {
id,
target,
diff --git a/plugins/catalog-backend-module-openapi/CHANGELOG.md b/plugins/catalog-backend-module-openapi/CHANGELOG.md
index 657238efda..c2de74bfc4 100644
--- a/plugins/catalog-backend-module-openapi/CHANGELOG.md
+++ b/plugins/catalog-backend-module-openapi/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-catalog-backend-module-openapi
+## 0.1.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.1.0-next.1
### Patch Changes
diff --git a/plugins/catalog-backend-module-openapi/package.json b/plugins/catalog-backend-module-openapi/package.json
index 0b9c24369c..82fc1c03e4 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.1.0-next.1",
+ "version": "0.1.0-next.2",
"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.2",
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/integration": "^1.2.2-next.2",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.2",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/plugin-catalog-backend": "^1.3.0-next.3",
"winston": "^3.2.1",
"yaml": "^2.1.1"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.2",
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"openapi-types": "^12.0.0"
},
"files": [
diff --git a/plugins/catalog-backend/CHANGELOG.md b/plugins/catalog-backend/CHANGELOG.md
index a228308681..d809c40018 100644
--- a/plugins/catalog-backend/CHANGELOG.md
+++ b/plugins/catalog-backend/CHANGELOG.md
@@ -1,5 +1,56 @@
# @backstage/plugin-catalog-backend
+## 1.3.0-next.3
+
+### Minor Changes
+
+- 1dd6c22cc8: Added an option to be able to trigger refreshes on entities based on a prestored arbitrary key.
+
+ The UrlReaderProcessor, FileReaderProcessor got updated to store the absolute URL of the catalog file as a refresh key. In the format of `:`
+ The PlaceholderProcessor got updated to store the resolverValues as refreshKeys for the entities.
+
+ The custom resolvers will need to be updated to pass in a `CatalogProcessorEmit` function as parameter and they should be updated to emit their refresh processingResults. You can see the updated resolvers in the `PlaceholderProcessor.ts`
+
+ ```ts
+ // yamlPlaceholderResolver
+ ...
+ const { content, url } = await readTextLocation(params);
+
+ params.emit(processingResult.refresh(`url:${url}`));
+ ...
+ ```
+
+- 91c1d12123: Export experimental `catalogPlugin` for the new backend system. This export is not considered stable and should not be used in production.
+
+### Patch Changes
+
+- 1e02fe46d6: Fixed bug where catalog metrics weren't being tracked.
+- 5f6b847c15: Fix Error Code in Register Component DryRun
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- fa0533e604: CatalogBuilder supports now subscription to processing engine errors.
+
+ ```ts
+ subscribe(options: {
+ onProcessingError: (event: { unprocessedEntity: Entity, error: Error }) => Promise | void;
+ });
+ ```
+
+ If you want to get notified on errors while processing the entities, you call CatalogBuilder.subscribe
+ to get notifications with the parameters defined as above.
+
+- 9a6aba1d85: Many symbol declarations have been moved to `@backstage/plugin-catalog-node`. This has no affect on users of this package as they are all re-exported. Modules that build on top of the catalog backend plugin should switch all of their imports to the `@backstage/plugin-catalog-node` package and remove the dependency on `@backstage/plugin-catalog-backend`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.1.0-next.0
+ - @backstage/plugin-catalog-node@1.0.0-next.0
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/plugin-permission-node@0.6.3-next.2
+ - @backstage/catalog-model@1.1.0-next.3
+
## 1.2.1-next.2
### Patch Changes
diff --git a/plugins/catalog-backend/package.json b/plugins/catalog-backend/package.json
index 64ad601b78..92df8e87fc 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.2",
+ "version": "1.3.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,17 +34,17 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-plugin-api": "^0.0.0",
- "@backstage/plugin-catalog-node": "^0.0.0",
- "@backstage/backend-common": "^0.14.1-next.2",
- "@backstage/catalog-client": "^1.0.4-next.1",
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/backend-plugin-api": "^0.1.0-next.0",
+ "@backstage/plugin-catalog-node": "^1.0.0-next.0",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.2",
+ "@backstage/integration": "^1.2.2-next.3",
"@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-permission-common": "^0.6.3-next.1",
+ "@backstage/plugin-permission-node": "^0.6.3-next.2",
"@backstage/plugin-scaffolder-common": "^1.1.2-next.0",
"@backstage/plugin-search-common": "^0.3.6-next.0",
"@backstage/types": "^1.0.0",
@@ -59,7 +59,7 @@
"glob": "^7.1.6",
"knex": "^2.0.0",
"lodash": "^4.17.21",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"node-fetch": "^2.6.7",
"p-limit": "^3.0.2",
"prom-client": "^14.0.1",
@@ -70,20 +70,20 @@
"zod": "^3.11.6"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.2",
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/plugin-permission-common": "^0.6.3-next.0",
- "@backstage/plugin-search-backend-node": "0.6.3-next.1",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/plugin-permission-common": "^0.6.3-next.1",
+ "@backstage/plugin-search-backend-node": "0.6.3-next.2",
"@types/core-js": "^2.5.4",
"@types/git-url-parse": "^9.0.0",
"@types/lodash": "^4.14.151",
"@types/supertest": "^2.0.8",
"@types/uuid": "^8.0.0",
"better-sqlite3": "^7.5.0",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"supertest": "^6.1.3",
"wait-for-expect": "^3.0.2",
- "luxon": "^2.0.2"
+ "luxon": "^3.0.0"
},
"files": [
"dist",
diff --git a/plugins/catalog-backend/src/service/DefaultLocationService.test.ts b/plugins/catalog-backend/src/service/DefaultLocationService.test.ts
index 8151bbf18d..4399d48d69 100644
--- a/plugins/catalog-backend/src/service/DefaultLocationService.test.ts
+++ b/plugins/catalog-backend/src/service/DefaultLocationService.test.ts
@@ -202,7 +202,7 @@ describe('DefaultLocationServiceTest', () => {
{ type: 'url', target: 'https://backstage.io/catalog-info.yaml' },
true,
),
- ).rejects.toThrowError('Duplicate nested entity: location:default/foo');
+ ).rejects.toThrow('Duplicate nested entity: location:default/foo');
});
it('should return exists false when the location does not exist beforehand', async () => {
@@ -270,6 +270,25 @@ describe('DefaultLocationServiceTest', () => {
),
).rejects.toThrow(InputError);
});
+
+ it('should return default InputError for failed processed entities in dryRun mode', async () => {
+ store.listLocations.mockResolvedValueOnce([]);
+
+ orchestrator.process.mockResolvedValueOnce({
+ ok: false,
+ errors: [new Error('Error: Unable to read url')],
+ });
+
+ await expect(
+ locationService.createLocation(
+ {
+ type: 'url',
+ target: 'https://backstage.io/wrong-url/catalog-info.yaml',
+ },
+ true,
+ ),
+ ).rejects.toThrow(InputError);
+ });
});
describe('listLocations', () => {
diff --git a/plugins/catalog-backend/src/service/DefaultLocationService.ts b/plugins/catalog-backend/src/service/DefaultLocationService.ts
index 2c051a6e66..819cead63d 100644
--- a/plugins/catalog-backend/src/service/DefaultLocationService.ts
+++ b/plugins/catalog-backend/src/service/DefaultLocationService.ts
@@ -79,7 +79,7 @@ export class DefaultLocationService implements LocationService {
stringifyEntityRef(processed.completedEntity),
)
) {
- throw new Error(
+ throw new InputError(
`Duplicate nested entity: ${stringifyEntityRef(
processed.completedEntity,
)}`,
@@ -88,7 +88,7 @@ export class DefaultLocationService implements LocationService {
unprocessedEntities.push(...processed.deferredEntities);
entities.push(processed.completedEntity);
} else {
- throw Error(processed.errors.map(String).join(', '));
+ throw new InputError(processed.errors.map(String).join(', '));
}
}
return entities;
diff --git a/plugins/catalog-backend/src/util/metrics.ts b/plugins/catalog-backend/src/util/metrics.ts
index 4988af82ea..207135f234 100644
--- a/plugins/catalog-backend/src/util/metrics.ts
+++ b/plugins/catalog-backend/src/util/metrics.ts
@@ -29,27 +29,45 @@ import {
export function createCounterMetric(
config: CounterConfiguration,
): Counter {
- const existing = register.getSingleMetric(config.name) as Counter;
- return existing || new Counter(config);
+ let metric = register.getSingleMetric(config.name);
+ if (!metric) {
+ metric = new Counter(config);
+ register.registerMetric(metric);
+ }
+ return metric as Counter;
}
export function createGaugeMetric(
config: GaugeConfiguration,
): Gauge {
- const existing = register.getSingleMetric(config.name) as Gauge;
- return existing || new Gauge(config);
+ let metric = register.getSingleMetric(config.name);
+ if (!metric) {
+ metric = new Gauge(config);
+ register.registerMetric(metric);
+ }
+ return metric as Gauge;
}
export function createSummaryMetric(
config: SummaryConfiguration,
): Summary {
- const existing = register.getSingleMetric(config.name) as Summary;
- return existing || new Summary(config);
+ let metric = register.getSingleMetric(config.name);
+ if (!metric) {
+ metric = new Summary(config);
+ register.registerMetric(metric);
+ }
+
+ return metric as Summary;
}
export function createHistogramMetric(
config: HistogramConfiguration,
): Histogram {
- const existing = register.getSingleMetric(config.name) as Histogram;
- return existing || new Histogram(config);
+ let metric = register.getSingleMetric(config.name);
+ if (!metric) {
+ metric = new Histogram(config);
+ register.registerMetric(metric);
+ }
+
+ return metric as Histogram;
}
diff --git a/plugins/catalog-graph/CHANGELOG.md b/plugins/catalog-graph/CHANGELOG.md
index f497b35628..30e2b3dacb 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.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.2.19-next.2
### Patch Changes
diff --git a/plugins/catalog-graph/package.json b/plugins/catalog-graph/package.json
index c61d388f0b..8de941e1a0 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.2",
+ "version": "0.2.19-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -24,11 +24,11 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-client": "^1.0.4-next.1",
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -45,11 +45,11 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/plugin-catalog": "^1.4.0-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/plugin-catalog": "^1.4.0-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@backstage/types": "^1.0.0",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
diff --git a/plugins/catalog-graphql/CHANGELOG.md b/plugins/catalog-graphql/CHANGELOG.md
index 16f0bb50d9..7285215394 100644
--- a/plugins/catalog-graphql/CHANGELOG.md
+++ b/plugins/catalog-graphql/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-catalog-graphql
+## 0.3.11-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.3.11-next.0
### Patch Changes
diff --git a/plugins/catalog-graphql/package.json b/plugins/catalog-graphql/package.json
index 81b31ffe51..651d54b811 100644
--- a/plugins/catalog-graphql/package.json
+++ b/plugins/catalog-graphql/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-graphql",
"description": "An experimental Backstage catalog GraphQL module",
- "version": "0.3.11-next.0",
+ "version": "0.3.11-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,7 +34,7 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.1",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
"@backstage/types": "^1.0.0",
"apollo-server": "^3.0.0",
@@ -46,14 +46,14 @@
"winston": "^3.2.1"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@graphql-codegen/cli": "^2.3.1",
"@graphql-codegen/graphql-modules-preset": "^2.3.2",
"@graphql-codegen/typescript": "^2.4.2",
"@graphql-codegen/typescript-resolvers": "^2.4.3",
"@graphql-tools/schema": "^8.3.1",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/catalog-import/CHANGELOG.md b/plugins/catalog-import/CHANGELOG.md
index 7de1bd72d0..d057b5c1df 100644
--- a/plugins/catalog-import/CHANGELOG.md
+++ b/plugins/catalog-import/CHANGELOG.md
@@ -1,5 +1,20 @@
# @backstage/plugin-catalog-import
+## 0.8.10-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.8.10-next.2
### Patch Changes
diff --git a/plugins/catalog-import/package.json b/plugins/catalog-import/package.json
index 49f248ed41..65a3c89bd5 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.2",
+ "version": "0.8.10-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,19 +34,19 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-client": "^1.0.4-next.1",
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.2",
- "@backstage/integration-react": "^1.1.2-next.2",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/integration-react": "^1.1.2-next.3",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
- "@octokit/rest": "^18.5.3",
+ "@octokit/rest": "^19.0.3",
"git-url-parse": "^12.0.0",
"js-base64": "^3.6.0",
"lodash": "^4.17.21",
@@ -60,17 +60,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/catalog-node/CHANGELOG.md b/plugins/catalog-node/CHANGELOG.md
new file mode 100644
index 0000000000..a70deb4769
--- /dev/null
+++ b/plugins/catalog-node/CHANGELOG.md
@@ -0,0 +1,17 @@
+# @backstage/plugin-catalog-node
+
+## 1.0.0-next.0
+
+### Major Changes
+
+- 9a6aba1d85: This package houses stable types from the `@backstage/plugin-catalog-backend` package and is intended for creation of catalog modules. Prefer importing from this package over the `@backstage/plugin-catalog-backend` package.
+
+### Minor Changes
+
+- 91c1d12123: Added alpha exports for the new experimental backend system.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.1.0-next.0
+ - @backstage/catalog-model@1.1.0-next.3
diff --git a/plugins/catalog-node/package.json b/plugins/catalog-node/package.json
index d6228c717f..8671ccbc9a 100644
--- a/plugins/catalog-node/package.json
+++ b/plugins/catalog-node/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-node",
"description": "The plugin-catalog-node module for @backstage/plugin-catalog-backend",
- "version": "0.0.0",
+ "version": "1.0.0-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -25,14 +25,14 @@
"postpack": "backstage-cli package postpack"
},
"dependencies": {
- "@backstage/backend-plugin-api": "^0.0.0",
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/backend-plugin-api": "^0.1.0-next.0",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/errors": "1.1.0-next.0",
"@backstage/types": "^1.0.0"
},
"devDependencies": {
- "@backstage/backend-common": "^0.14.1-next.2",
- "@backstage/cli": "^0.18.0-next.2"
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/cli": "^0.18.0-next.3"
},
"files": [
"dist",
diff --git a/plugins/catalog-react/CHANGELOG.md b/plugins/catalog-react/CHANGELOG.md
index 0df99a1bb9..5acff71be3 100644
--- a/plugins/catalog-react/CHANGELOG.md
+++ b/plugins/catalog-react/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-catalog-react
+## 1.1.2-next.3
+
+### Patch Changes
+
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-permission-react@0.4.3-next.1
+
## 1.1.2-next.2
### Patch Changes
diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json
index 560690245f..8fb16bbbaa 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.2",
+ "version": "1.1.2-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,15 +34,15 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/catalog-client": "^1.0.4-next.1",
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.2",
+ "@backstage/integration": "^1.2.2-next.3",
"@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-permission-common": "^0.6.3-next.1",
+ "@backstage/plugin-permission-react": "^0.4.3-next.1",
"@backstage/theme": "^0.2.16-next.1",
"@backstage/types": "^1.0.0",
"@backstage/version-bridge": "^1.0.1",
@@ -63,11 +63,11 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
"@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.1",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@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/CHANGELOG.md b/plugins/catalog/CHANGELOG.md
index 5e00cd2661..9c10c67b5f 100644
--- a/plugins/catalog/CHANGELOG.md
+++ b/plugins/catalog/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-catalog
+## 1.4.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-search-react@0.2.2-next.3
+
## 1.4.0-next.2
### Minor Changes
diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json
index a294e64d29..66718424cd 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.4.0-next.2",
+ "version": "1.4.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,16 +34,16 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-client": "^1.0.4-next.1",
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration-react": "^1.1.2-next.2",
+ "@backstage/integration-react": "^1.1.2-next.3",
"@backstage/plugin-catalog-common": "^1.0.4-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/plugin-search-common": "^0.3.6-next.0",
- "@backstage/plugin-search-react": "^0.2.2-next.2",
+ "@backstage/plugin-search-react": "^0.2.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@backstage/types": "^1.0.0",
"@material-ui/core": "^4.12.2",
@@ -61,11 +61,11 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/plugin-permission-react": "^0.4.3-next.0",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/plugin-permission-react": "^0.4.3-next.1",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
diff --git a/plugins/cicd-statistics-module-gitlab/CHANGELOG.md b/plugins/cicd-statistics-module-gitlab/CHANGELOG.md
index 14d234e35c..2f863ebd11 100644
--- a/plugins/cicd-statistics-module-gitlab/CHANGELOG.md
+++ b/plugins/cicd-statistics-module-gitlab/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-cicd-statistics-module-gitlab
+## 0.1.3-next.1
+
+### Patch Changes
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/plugin-cicd-statistics@0.1.9-next.1
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.1.3-next.0
### Patch Changes
diff --git a/plugins/cicd-statistics-module-gitlab/package.json b/plugins/cicd-statistics-module-gitlab/package.json
index 749c77d1c5..12ed1fb773 100644
--- a/plugins/cicd-statistics-module-gitlab/package.json
+++ b/plugins/cicd-statistics-module-gitlab/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-cicd-statistics-module-gitlab",
"description": "CI/CD Statistics plugin module; Gitlab CICD",
- "version": "0.1.3-next.0",
+ "version": "0.1.3-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -29,16 +29,16 @@
"postpack": "backstage-cli package postpack"
},
"dependencies": {
- "@backstage/plugin-cicd-statistics": "^0.1.9-next.0",
+ "@backstage/plugin-cicd-statistics": "^0.1.9-next.1",
"@gitbeaker/browser": "^35.6.0",
"@gitbeaker/core": "^35.6.0",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"p-limit": "^4.0.0",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/catalog-model": "^1.1.0-next.1"
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/catalog-model": "^1.1.0-next.3"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1"
+ "@backstage/cli": "^0.18.0-next.3"
},
"files": [
"dist"
diff --git a/plugins/cicd-statistics/CHANGELOG.md b/plugins/cicd-statistics/CHANGELOG.md
index e8856187c9..afc0811c29 100644
--- a/plugins/cicd-statistics/CHANGELOG.md
+++ b/plugins/cicd-statistics/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-cicd-statistics
+## 0.1.9-next.1
+
+### Patch Changes
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.1.9-next.0
### Patch Changes
diff --git a/plugins/cicd-statistics/package.json b/plugins/cicd-statistics/package.json
index c09dc7c995..3b90b365dc 100644
--- a/plugins/cicd-statistics/package.json
+++ b/plugins/cicd-statistics/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-cicd-statistics",
"description": "A frontend plugin visualizing CI/CD pipeline statistics (build time)",
- "version": "0.1.9-next.0",
+ "version": "0.1.9-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -37,9 +37,9 @@
"@types/luxon": "^2.0.5"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.0",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.0",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@date-io/luxon": "^1.3.13",
"@material-ui/core": "^4.9.13",
"@material-ui/icons": "^4.11.2",
@@ -48,7 +48,7 @@
"humanize-duration": "^3.27.0",
"already": "^3.2.0",
"lodash": "^4.17.21",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"react-use": "^17.3.1",
"recharts": "^2.1.5"
},
diff --git a/plugins/circleci/CHANGELOG.md b/plugins/circleci/CHANGELOG.md
index 4df5655c52..ac26a01e0d 100644
--- a/plugins/circleci/CHANGELOG.md
+++ b/plugins/circleci/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-circleci
+## 0.3.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.3.7-next.2
### Patch Changes
diff --git a/plugins/circleci/package.json b/plugins/circleci/package.json
index c17569db13..2c376c26c7 100644
--- a/plugins/circleci/package.json
+++ b/plugins/circleci/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-circleci",
"description": "A Backstage plugin that integrates towards Circle CI",
- "version": "0.3.7-next.2",
+ "version": "0.3.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -35,10 +35,10 @@
"postpack": "backstage-cli package postpack"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -46,7 +46,7 @@
"circleci-api": "^4.0.0",
"humanize-duration": "^3.27.0",
"lodash": "^4.17.21",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"react-router": "6.0.0-beta.0",
"react-router-dom": "6.0.0-beta.0",
"react-use": "^17.2.4"
@@ -55,10 +55,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
@@ -66,7 +66,7 @@
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/cloudbuild/CHANGELOG.md b/plugins/cloudbuild/CHANGELOG.md
index 94b16aafdd..f7a5b7b35a 100644
--- a/plugins/cloudbuild/CHANGELOG.md
+++ b/plugins/cloudbuild/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-cloudbuild
+## 0.3.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.3.7-next.2
### Patch Changes
diff --git a/plugins/cloudbuild/package.json b/plugins/cloudbuild/package.json
index 2348693d58..fcac623363 100644
--- a/plugins/cloudbuild/package.json
+++ b/plugins/cloudbuild/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-cloudbuild",
"description": "A Backstage plugin that integrates towards Google Cloud Build",
- "version": "0.3.7-next.2",
+ "version": "0.3.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,15 +34,15 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"qs": "^6.9.4",
"react-router": "6.0.0-beta.0",
"react-router-dom": "6.0.0-beta.0",
@@ -52,17 +52,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/code-climate/CHANGELOG.md b/plugins/code-climate/CHANGELOG.md
index cd2e824758..d3824d7ff5 100644
--- a/plugins/code-climate/CHANGELOG.md
+++ b/plugins/code-climate/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-code-climate
+## 0.1.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.1.7-next.2
### Patch Changes
diff --git a/plugins/code-climate/package.json b/plugins/code-climate/package.json
index 40c0861f17..3fe1ff5ae1 100644
--- a/plugins/code-climate/package.json
+++ b/plugins/code-climate/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-code-climate",
- "version": "0.1.7-next.2",
+ "version": "0.1.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -23,16 +23,16 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
"humanize-duration": "^3.27.1",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"react-router": "6.0.0-beta.0",
"react-use": "^17.2.4"
},
@@ -40,9 +40,9 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
@@ -51,7 +51,7 @@
"@types/luxon": "^2.0.9",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/code-coverage-backend/CHANGELOG.md b/plugins/code-coverage-backend/CHANGELOG.md
index 6fccd225cb..95a7188dd4 100644
--- a/plugins/code-coverage-backend/CHANGELOG.md
+++ b/plugins/code-coverage-backend/CHANGELOG.md
@@ -1,5 +1,22 @@
# @backstage/plugin-code-coverage-backend
+## 0.2.0-next.3
+
+### Minor Changes
+
+- d70aaa7622: Cleaned up API exports.
+
+ The `CodeCoverageApi` and `makeRouter` exports have been removed from the backend, since they were not meant to be exported in the first place.
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.1.32-next.2
### Patch Changes
diff --git a/plugins/code-coverage-backend/package.json b/plugins/code-coverage-backend/package.json
index 017b96122e..5fe9242e54 100644
--- a/plugins/code-coverage-backend/package.json
+++ b/plugins/code-coverage-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-code-coverage-backend",
"description": "A Backstage backend plugin that helps you keep track of your code coverage",
- "version": "0.1.32-next.2",
+ "version": "0.2.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -23,12 +23,12 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.2",
- "@backstage/catalog-client": "^1.0.4-next.1",
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.2",
+ "@backstage/integration": "^1.2.2-next.3",
"@types/express": "^4.17.6",
"express": "^4.17.1",
"express-promise-router": "^4.1.0",
@@ -39,10 +39,10 @@
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/express-xml-bodyparser": "^0.3.2",
"@types/supertest": "^2.0.8",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"supertest": "^6.1.6",
"xml2js": "^0.4.23"
},
diff --git a/plugins/code-coverage/CHANGELOG.md b/plugins/code-coverage/CHANGELOG.md
index b2b64aa993..6c7c034d39 100644
--- a/plugins/code-coverage/CHANGELOG.md
+++ b/plugins/code-coverage/CHANGELOG.md
@@ -1,5 +1,25 @@
# @backstage/plugin-code-coverage
+## 0.2.0-next.3
+
+### Minor Changes
+
+- d70aaa7622: Cleaned up API exports.
+
+ The `Router` export has been removed; users are expected to use `EntityCodeCoverageContent` instead.
+
+ The `isPluginApplicableToEntity` helper has been deprecated, in favor of the `isCodeCoverageAvailable` helper.
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.1.34-next.2
### Patch Changes
diff --git a/plugins/code-coverage/package.json b/plugins/code-coverage/package.json
index 68cd7d7990..bd90d2abee 100644
--- a/plugins/code-coverage/package.json
+++ b/plugins/code-coverage/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-code-coverage",
"description": "A Backstage plugin that helps you keep track of your code coverage",
- "version": "0.1.34-next.2",
+ "version": "0.2.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -24,19 +24,19 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
"@material-ui/styles": "^4.11.0",
"highlight.js": "^10.6.0",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"react-router": "6.0.0-beta.0",
"react-router-dom": "6.0.0-beta.0",
"react-use": "^17.2.4",
@@ -46,10 +46,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
@@ -58,7 +58,7 @@
"@types/node": "^16.11.26",
"@types/recharts": "^1.8.15",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/codescene/CHANGELOG.md b/plugins/codescene/CHANGELOG.md
index e3f98725c3..c184656efb 100644
--- a/plugins/codescene/CHANGELOG.md
+++ b/plugins/codescene/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-codescene
+## 0.1.2-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
## 0.1.2-next.2
### Patch Changes
diff --git a/plugins/codescene/package.json b/plugins/codescene/package.json
index 85f7096f69..516280149f 100644
--- a/plugins/codescene/package.json
+++ b/plugins/codescene/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-codescene",
- "version": "0.1.2-next.2",
+ "version": "0.1.2-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -23,8 +23,8 @@
},
"dependencies": {
"@backstage/config": "^1.0.1",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.9.10",
@@ -38,16 +38,16 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "*",
"@types/node": "*",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"cross-fetch": "^3.1.5"
},
"files": [
diff --git a/plugins/config-schema/CHANGELOG.md b/plugins/config-schema/CHANGELOG.md
index b6a43ed858..50d5d5934c 100644
--- a/plugins/config-schema/CHANGELOG.md
+++ b/plugins/config-schema/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-config-schema
+## 0.1.30-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
## 0.1.30-next.2
### Patch Changes
diff --git a/plugins/config-schema/package.json b/plugins/config-schema/package.json
index c33e7adac3..3e70dfbf63 100644
--- a/plugins/config-schema/package.json
+++ b/plugins/config-schema/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-config-schema",
"description": "A Backstage plugin that lets you browse the configuration schema of your app",
- "version": "0.1.30-next.2",
+ "version": "0.1.30-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -25,8 +25,8 @@
},
"dependencies": {
"@backstage/config": "^1.0.1",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@backstage/types": "^1.0.0",
@@ -41,17 +41,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/cost-insights/CHANGELOG.md b/plugins/cost-insights/CHANGELOG.md
index a5824d1cc9..05d8d5d640 100644
--- a/plugins/cost-insights/CHANGELOG.md
+++ b/plugins/cost-insights/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-cost-insights
+## 0.11.29-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.11.29-next.2
### Patch Changes
diff --git a/plugins/cost-insights/package.json b/plugins/cost-insights/package.json
index beb28546b6..9dfa45e67c 100644
--- a/plugins/cost-insights/package.json
+++ b/plugins/cost-insights/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-cost-insights",
"description": "A Backstage plugin that helps you keep track of your cloud spend",
- "version": "0.11.29-next.2",
+ "version": "0.11.29-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,10 +34,10 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/plugin-cost-insights-common": "^0.1.0-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
@@ -47,7 +47,7 @@
"@types/recharts": "^1.8.14",
"classnames": "^2.2.6",
"history": "^5.0.0",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"pluralize": "^8.0.0",
"qs": "^6.9.4",
"react-router-dom": "6.0.0-beta.0",
@@ -61,10 +61,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
@@ -76,7 +76,7 @@
"@types/yup": "^0.29.13",
"canvas": "^2.6.1",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/dynatrace/CHANGELOG.md b/plugins/dynatrace/CHANGELOG.md
index ffe12d4991..cfa95d5fb2 100644
--- a/plugins/dynatrace/CHANGELOG.md
+++ b/plugins/dynatrace/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-dynatrace
+## 0.1.1-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.1.1-next.2
### Patch Changes
diff --git a/plugins/dynatrace/package.json b/plugins/dynatrace/package.json
index 0bf3c2f26c..8862bbf548 100644
--- a/plugins/dynatrace/package.json
+++ b/plugins/dynatrace/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-dynatrace",
- "version": "0.1.1-next.2",
+ "version": "0.1.1-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -22,9 +22,9 @@
"postpack": "backstage-cli package postpack"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.9.13",
"@material-ui/icons": "^4.9.1",
@@ -37,10 +37,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
@@ -48,7 +48,7 @@
"@types/node": "*",
"cross-fetch": "^3.1.5",
"express": "^4.18.1",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/example-todo-list-backend/package.json b/plugins/example-todo-list-backend/package.json
index 67fc049267..5be65f78b5 100644
--- a/plugins/example-todo-list-backend/package.json
+++ b/plugins/example-todo-list-backend/package.json
@@ -39,7 +39,7 @@
"@backstage/cli": "^0.18.0-next.1",
"@types/supertest": "^2.0.8",
"@types/uuid": "^8.0.0",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"supertest": "^6.1.6"
},
"files": [
diff --git a/plugins/example-todo-list-common/package.json b/plugins/example-todo-list-common/package.json
index b06328608a..3d4fb5659e 100644
--- a/plugins/example-todo-list-common/package.json
+++ b/plugins/example-todo-list-common/package.json
@@ -31,7 +31,7 @@
"@backstage/dev-utils": "^1.0.4-next.1",
"@backstage/test-utils": "^1.1.2-next.1",
"@types/node": "^16.11.26",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"cross-fetch": "^3.1.5"
},
"files": [
diff --git a/plugins/example-todo-list/CHANGELOG.md b/plugins/example-todo-list/CHANGELOG.md
index e73d0d6474..054f814ea7 100644
--- a/plugins/example-todo-list/CHANGELOG.md
+++ b/plugins/example-todo-list/CHANGELOG.md
@@ -1,5 +1,13 @@
# @internal/plugin-todo-list
+## 1.0.3-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
## 1.0.3-next.2
### Patch Changes
diff --git a/plugins/example-todo-list/package.json b/plugins/example-todo-list/package.json
index 3531995880..d9ccb7f524 100644
--- a/plugins/example-todo-list/package.json
+++ b/plugins/example-todo-list/package.json
@@ -1,6 +1,6 @@
{
"name": "@internal/plugin-todo-list",
- "version": "1.0.3-next.2",
+ "version": "1.0.3-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -24,8 +24,8 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -36,16 +36,16 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/explore-react/CHANGELOG.md b/plugins/explore-react/CHANGELOG.md
index f42c1dc9fc..2cf0fb8402 100644
--- a/plugins/explore-react/CHANGELOG.md
+++ b/plugins/explore-react/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-explore-react
+## 0.0.19-next.0
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+
## 0.0.18
### Patch Changes
diff --git a/plugins/explore-react/package.json b/plugins/explore-react/package.json
index b23867d8a7..ecd57e4cf7 100644
--- a/plugins/explore-react/package.json
+++ b/plugins/explore-react/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-explore-react",
"description": "A frontend library for Backstage plugins that want to interact with the explore plugin",
- "version": "0.0.18",
+ "version": "0.0.19-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,19 +33,19 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/core-plugin-api": "^1.0.3"
+ "@backstage/core-plugin-api": "^1.0.4-next.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
- "@backstage/dev-utils": "^1.0.4-next.1",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/explore/CHANGELOG.md b/plugins/explore/CHANGELOG.md
index ecb1209c85..e418b35069 100644
--- a/plugins/explore/CHANGELOG.md
+++ b/plugins/explore/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-explore
+## 0.3.38-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/plugin-explore-react@0.0.19-next.0
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.3.38-next.2
### Patch Changes
diff --git a/plugins/explore/package.json b/plugins/explore/package.json
index 729aee7322..0706739a42 100644
--- a/plugins/explore/package.json
+++ b/plugins/explore/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-explore",
"description": "A Backstage plugin for building an exploration page of your software ecosystem",
- "version": "0.3.38-next.2",
+ "version": "0.3.38-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,11 +34,11 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
- "@backstage/plugin-explore-react": "^0.0.18",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
+ "@backstage/plugin-explore-react": "^0.0.19-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -53,17 +53,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/firehydrant/CHANGELOG.md b/plugins/firehydrant/CHANGELOG.md
index c03b08e828..a53482fb2a 100644
--- a/plugins/firehydrant/CHANGELOG.md
+++ b/plugins/firehydrant/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-firehydrant
+## 0.1.24-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.1.24-next.2
### Patch Changes
diff --git a/plugins/firehydrant/package.json b/plugins/firehydrant/package.json
index 2690fbcb1d..9053ed4ed2 100644
--- a/plugins/firehydrant/package.json
+++ b/plugins/firehydrant/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-firehydrant",
"description": "A Backstage plugin that integrates towards FireHydrant",
- "version": "0.1.24-next.2",
+ "version": "0.1.24-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -25,31 +25,31 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"react-use": "^17.2.4"
},
"peerDependencies": {
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/fossa/CHANGELOG.md b/plugins/fossa/CHANGELOG.md
index 99d6445627..754f459449 100644
--- a/plugins/fossa/CHANGELOG.md
+++ b/plugins/fossa/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-fossa
+## 0.2.39-next.3
+
+### Patch Changes
+
+- 322d1ceeba: Allow configuration of base URL for Fossa links
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.2.39-next.2
### Patch Changes
diff --git a/plugins/fossa/package.json b/plugins/fossa/package.json
index 223a246151..e22228061b 100644
--- a/plugins/fossa/package.json
+++ b/plugins/fossa/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-fossa",
"description": "A Backstage plugin that integrates towards FOSSA",
- "version": "0.2.39-next.2",
+ "version": "0.2.39-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -35,17 +35,17 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
"cross-fetch": "^3.1.5",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"p-limit": "^3.0.2",
"react-use": "^17.2.4"
},
@@ -53,16 +53,16 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/gcalendar/CHANGELOG.md b/plugins/gcalendar/CHANGELOG.md
index 12e37176a7..93e4b1117b 100644
--- a/plugins/gcalendar/CHANGELOG.md
+++ b/plugins/gcalendar/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-gcalendar
+## 0.3.3-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
## 0.3.3-next.2
### Patch Changes
diff --git a/plugins/gcalendar/package.json b/plugins/gcalendar/package.json
index 3024c80e26..ad111311c2 100644
--- a/plugins/gcalendar/package.json
+++ b/plugins/gcalendar/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-gcalendar",
- "version": "0.3.3-next.2",
+ "version": "0.3.3-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -22,8 +22,8 @@
"postpack": "backstage-cli package postpack"
},
"dependencies": {
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
@@ -34,7 +34,7 @@
"cross-fetch": "^3.1.5",
"dompurify": "^2.3.6",
"lodash": "^4.17.21",
- "luxon": "^2.3.0",
+ "luxon": "^3.0.0",
"material-ui-popup-state": "^1.9.3",
"react-query": "^3.34.16",
"react-use": "^17.2.4"
@@ -43,10 +43,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
@@ -55,7 +55,7 @@
"@types/node": "^16.11.26",
"@types/sanitize-html": "^2.6.2",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/gcp-projects/CHANGELOG.md b/plugins/gcp-projects/CHANGELOG.md
index f2bedb646f..cd2be7a5f8 100644
--- a/plugins/gcp-projects/CHANGELOG.md
+++ b/plugins/gcp-projects/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-gcp-projects
+## 0.3.26-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 693990d4fe: Updated dependency `@react-hookz/web` to `^15.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
## 0.3.26-next.2
### Patch Changes
diff --git a/plugins/gcp-projects/package.json b/plugins/gcp-projects/package.json
index 85cda09e86..19c881a7fb 100644
--- a/plugins/gcp-projects/package.json
+++ b/plugins/gcp-projects/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-gcp-projects",
"description": "A Backstage plugin that helps you manage projects in GCP",
- "version": "0.3.26-next.2",
+ "version": "0.3.26-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,8 +34,8 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -47,17 +47,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/git-release-manager/CHANGELOG.md b/plugins/git-release-manager/CHANGELOG.md
index e617ca7342..be7c04d048 100644
--- a/plugins/git-release-manager/CHANGELOG.md
+++ b/plugins/git-release-manager/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-git-release-manager
+## 0.3.20-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration@1.2.2-next.3
+
## 0.3.20-next.2
### Patch Changes
diff --git a/plugins/git-release-manager/package.json b/plugins/git-release-manager/package.json
index 28bfa001a0..27bf139560 100644
--- a/plugins/git-release-manager/package.json
+++ b/plugins/git-release-manager/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-git-release-manager",
"description": "A Backstage plugin that helps you manage releases in git",
- "version": "0.3.20-next.2",
+ "version": "0.3.20-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -24,15 +24,15 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/integration": "^1.2.2-next.2",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/integration": "^1.2.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
- "@octokit/rest": "^18.5.3",
- "luxon": "^2.0.2",
+ "@octokit/rest": "^19.0.3",
+ "luxon": "^3.0.0",
"qs": "^6.10.1",
"react-router": "6.0.0-beta.0",
"react-use": "^17.2.4",
@@ -43,10 +43,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
@@ -55,7 +55,7 @@
"@types/node": "^16.11.26",
"@types/recharts": "^1.8.15",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/github-actions/CHANGELOG.md b/plugins/github-actions/CHANGELOG.md
index de2a693116..7503f441d6 100644
--- a/plugins/github-actions/CHANGELOG.md
+++ b/plugins/github-actions/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-github-actions
+## 0.5.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.5.7-next.2
### Patch Changes
diff --git a/plugins/github-actions/api-report.md b/plugins/github-actions/api-report.md
index 08761bad56..4e5c7f30e9 100644
--- a/plugins/github-actions/api-report.md
+++ b/plugins/github-actions/api-report.md
@@ -214,14 +214,14 @@ export { isGithubActionsAvailable as isPluginApplicableToEntity };
//
// @public (undocumented)
export type Job = {
- html_url: string;
+ html_url?: string;
status: string;
- conclusion: string;
+ conclusion?: string;
started_at: string;
- completed_at: string;
+ completed_at?: string;
id: number;
name: string;
- steps: Step[];
+ steps?: Step[];
};
// Warning: (ae-missing-release-tag) "Jobs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
@@ -272,7 +272,7 @@ export type Step = {
status: string;
conclusion?: string;
number: number;
- started_at: string;
- completed_at: string;
+ started_at?: string;
+ completed_at?: string;
};
```
diff --git a/plugins/github-actions/package.json b/plugins/github-actions/package.json
index eefc7c1f4c..3e0b6f5055 100644
--- a/plugins/github-actions/package.json
+++ b/plugins/github-actions/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-github-actions",
"description": "A Backstage plugin that integrates towards GitHub Actions",
- "version": "0.5.7-next.2",
+ "version": "0.5.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -36,17 +36,17 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/integration": "^1.2.2-next.2",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
- "@octokit/rest": "^18.5.3",
- "luxon": "^2.0.2",
+ "@octokit/rest": "^19.0.3",
+ "luxon": "^3.0.0",
"react-router": "6.0.0-beta.0",
"react-router-dom": "6.0.0-beta.0",
"react-use": "^17.2.4"
@@ -55,17 +55,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/github-actions/src/__fixtures__/get-workflow-run.json b/plugins/github-actions/src/__fixtures__/get-workflow-run.json
index 5527b356f1..38c3513b15 100644
--- a/plugins/github-actions/src/__fixtures__/get-workflow-run.json
+++ b/plugins/github-actions/src/__fixtures__/get-workflow-run.json
@@ -4,8 +4,9 @@
"node_id": "MDEyOldvcmtmbG93IFJ1bjI2OTI4OQ==",
"check_suite_id": 42,
"check_suite_node_id": "MDEwOkNoZWNrU3VpdGU0Mg==",
- "head_branch": "master",
+ "head_branch": "main",
"head_sha": "acb5820ced9479c074f688cc328bf03f341a511d",
+ "path": ".github/workflows/build.yml@main",
"run_number": 562,
"event": "push",
"status": "queued",
@@ -16,12 +17,71 @@
"pull_requests": [],
"created_at": "2020-01-22T19:33:08Z",
"updated_at": "2020-01-22T19:33:08Z",
+ "actor": {
+ "login": "octocat",
+ "id": 1,
+ "node_id": "MDQ6VXNlcjE=",
+ "avatar_url": "https://github.com/images/error/octocat_happy.gif",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/octocat",
+ "html_url": "https://github.com/octocat",
+ "followers_url": "https://api.github.com/users/octocat/followers",
+ "following_url": "https://api.github.com/users/octocat/following{/other_user}",
+ "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
+ "organizations_url": "https://api.github.com/users/octocat/orgs",
+ "repos_url": "https://api.github.com/users/octocat/repos",
+ "events_url": "https://api.github.com/users/octocat/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/octocat/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "run_attempt": 1,
+ "referenced_workflows": [
+ {
+ "path": "octocat/Hello-World/.github/workflows/deploy.yml@main",
+ "sha": "86e8bc9ecf7d38b1ed2d2cfb8eb87ba9b35b01db",
+ "ref": "refs/heads/main"
+ },
+ {
+ "path": "octo-org/octo-repo/.github/workflows/report.yml@v2",
+ "sha": "79e9790903e1c3373b1a3e3a941d57405478a232",
+ "ref": "refs/tags/v2"
+ },
+ {
+ "path": "octo-org/octo-repo/.github/workflows/secure.yml@1595d4b6de6a9e9751fb270a41019ce507d4099e",
+ "sha": "1595d4b6de6a9e9751fb270a41019ce507d4099e"
+ }
+ ],
+ "run_started_at": "2020-01-22T19:33:08Z",
+ "triggering_actor": {
+ "login": "octocat",
+ "id": 1,
+ "node_id": "MDQ6VXNlcjE=",
+ "avatar_url": "https://github.com/images/error/octocat_happy.gif",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/octocat",
+ "html_url": "https://github.com/octocat",
+ "followers_url": "https://api.github.com/users/octocat/followers",
+ "following_url": "https://api.github.com/users/octocat/following{/other_user}",
+ "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
+ "organizations_url": "https://api.github.com/users/octocat/orgs",
+ "repos_url": "https://api.github.com/users/octocat/repos",
+ "events_url": "https://api.github.com/users/octocat/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/octocat/received_events",
+ "type": "User",
+ "site_admin": false
+ },
"jobs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/jobs",
"logs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/logs",
"check_suite_url": "https://api.github.com/repos/octo-org/octo-repo/check-suites/414944374",
"artifacts_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/artifacts",
"cancel_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/cancel",
"rerun_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/rerun",
+ "previous_attempt_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/attempts/1",
"workflow_url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/159038",
"head_commit": {
"id": "acb5820ced9479c074f688cc328bf03f341a511d",
diff --git a/plugins/github-actions/src/api/types.ts b/plugins/github-actions/src/api/types.ts
index c405dc9373..db926d9c03 100644
--- a/plugins/github-actions/src/api/types.ts
+++ b/plugins/github-actions/src/api/types.ts
@@ -19,19 +19,19 @@ export type Step = {
status: string;
conclusion?: string;
number: number; // starts from 1
- started_at: string;
- completed_at: string;
+ started_at?: string;
+ completed_at?: string;
};
export type Job = {
- html_url: string;
+ html_url?: string;
status: string;
- conclusion: string;
+ conclusion?: string;
started_at: string;
- completed_at: string;
+ completed_at?: string;
id: number;
name: string;
- steps: Step[];
+ steps?: Step[];
};
export type Jobs = {
diff --git a/plugins/github-actions/src/components/Cards/RecentWorkflowRunsCard.tsx b/plugins/github-actions/src/components/Cards/RecentWorkflowRunsCard.tsx
index 4e37a2b19b..3eba4981e7 100644
--- a/plugins/github-actions/src/components/Cards/RecentWorkflowRunsCard.tsx
+++ b/plugins/github-actions/src/components/Cards/RecentWorkflowRunsCard.tsx
@@ -18,7 +18,7 @@ import { useEntity } from '@backstage/plugin-catalog-react';
import React, { useEffect } from 'react';
import { generatePath, Link as RouterLink } from 'react-router-dom';
import { GITHUB_ACTIONS_ANNOTATION } from '../getProjectNameFromEntity';
-import { useWorkflowRuns } from '../useWorkflowRuns';
+import { useWorkflowRuns, WorkflowRun } from '../useWorkflowRuns';
import { WorkflowRunStatus } from '../WorkflowRunStatus';
import { Typography } from '@material-ui/core';
@@ -90,7 +90,7 @@ export const RecentWorkflowRunsCard = ({
) : (
-
isLoading={loading}
options={{
search: false,
@@ -107,7 +107,7 @@ export const RecentWorkflowRunsCard = ({
component={RouterLink}
to={generatePath('./ci-cd/:id', { id: data.id! })}
>
- {firstLine(data.message)}
+ {firstLine(data.message ?? '')}
),
},
diff --git a/plugins/github-actions/src/components/WorkflowRunDetails/WorkflowRunDetails.tsx b/plugins/github-actions/src/components/WorkflowRunDetails/WorkflowRunDetails.tsx
index 989ab27800..4e920a4e3a 100644
--- a/plugins/github-actions/src/components/WorkflowRunDetails/WorkflowRunDetails.tsx
+++ b/plugins/github-actions/src/components/WorkflowRunDetails/WorkflowRunDetails.tsx
@@ -73,7 +73,10 @@ const useStyles = makeStyles(theme => ({
},
}));
-const getElapsedTime = (start: string, end: string) => {
+const getElapsedTime = (start: string | undefined, end: string | undefined) => {
+ if (!start || !end) {
+ return '';
+ }
const startDate = DateTime.fromISO(start);
const endDate = end ? DateTime.fromISO(end) : DateTime.now();
const diff = endDate.diff(startDate);
@@ -127,7 +130,7 @@ const JobListItem = ({
- {job.steps.map(step => (
+ {job.steps?.map(step => (
))}
diff --git a/plugins/github-actions/src/components/WorkflowRunDetails/useWorkflowRunJobs.ts b/plugins/github-actions/src/components/WorkflowRunDetails/useWorkflowRunJobs.ts
index ba0f3b6ba8..d35283e78d 100644
--- a/plugins/github-actions/src/components/WorkflowRunDetails/useWorkflowRunJobs.ts
+++ b/plugins/github-actions/src/components/WorkflowRunDetails/useWorkflowRunJobs.ts
@@ -13,8 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import useAsync from 'react-use/lib/useAsync';
-import { githubActionsApiRef } from '../../api';
+import useAsync, { AsyncState } from 'react-use/lib/useAsync';
+import { githubActionsApiRef, Job, Jobs, Step } from '../../api';
import { buildRouteRef } from '../../routes';
import { useApi, useRouteRefParams } from '@backstage/core-plugin-api';
@@ -26,18 +26,41 @@ export const useWorkflowRunJobs = ({
hostname?: string;
owner: string;
repo: string;
-}) => {
+}): AsyncState => {
const api = useApi(githubActionsApiRef);
const { id } = useRouteRefParams(buildRouteRef);
- const jobs = useAsync(async () => {
- return repo && owner
- ? api.listJobsForWorkflowRun({
- hostname,
- owner,
- repo,
- id: parseInt(id, 10),
- })
- : Promise.reject(new Error('No repo/owner provided'));
+
+ return useAsync(async () => {
+ if (!repo || !owner) {
+ throw new Error('No repo/owner provided');
+ }
+
+ const jobs = await api.listJobsForWorkflowRun({
+ hostname,
+ owner,
+ repo,
+ id: parseInt(id, 10),
+ });
+
+ return {
+ total_count: jobs.total_count,
+ jobs: jobs.jobs.map(job => ({
+ html_url: job.html_url ?? undefined,
+ status: job.status,
+ conclusion: job.conclusion ?? undefined,
+ started_at: job.started_at,
+ completed_at: job.completed_at ?? undefined,
+ id: job.id,
+ name: job.name,
+ steps: job.steps?.map(step => ({
+ name: step.name,
+ status: step.status,
+ conclusion: step.conclusion ?? undefined,
+ number: step.number,
+ started_at: step.started_at ?? undefined,
+ completed_at: step.completed_at ?? undefined,
+ })),
+ })),
+ };
}, [repo, owner, id]);
- return jobs;
};
diff --git a/plugins/github-actions/src/components/WorkflowRunStatus/WorkflowRunStatus.tsx b/plugins/github-actions/src/components/WorkflowRunStatus/WorkflowRunStatus.tsx
index 2eb01462b9..4be4722cd4 100644
--- a/plugins/github-actions/src/components/WorkflowRunStatus/WorkflowRunStatus.tsx
+++ b/plugins/github-actions/src/components/WorkflowRunStatus/WorkflowRunStatus.tsx
@@ -28,8 +28,8 @@ export const WorkflowRunStatus = ({
status,
conclusion,
}: {
- status: string | undefined;
- conclusion: string | undefined;
+ status?: string;
+ conclusion?: string;
}) => {
if (status === undefined) return null;
switch (status.toLocaleLowerCase('en-US')) {
diff --git a/plugins/github-actions/src/components/useWorkflowRuns.ts b/plugins/github-actions/src/components/useWorkflowRuns.ts
index 0d855e44fb..e78e3fbb3f 100644
--- a/plugins/github-actions/src/components/useWorkflowRuns.ts
+++ b/plugins/github-actions/src/components/useWorkflowRuns.ts
@@ -19,20 +19,20 @@ import { githubActionsApiRef } from '../api/GithubActionsApi';
import { useApi, errorApiRef } from '@backstage/core-plugin-api';
export type WorkflowRun = {
- workflowName: string;
+ workflowName?: string;
id: string;
- message: string;
+ message?: string;
url?: string;
githubUrl?: string;
source: {
- branchName: string;
+ branchName?: string;
commit: {
- hash: string;
+ hash?: string;
url?: string;
};
};
- status: string;
- conclusion: string;
+ status?: string;
+ conclusion?: string;
onReRunClick: () => void;
};
@@ -75,8 +75,8 @@ export function useWorkflowRuns({
setTotal(workflowRunsData.total_count);
// Transformation here
return workflowRunsData.workflow_runs.map(run => ({
- workflowName: run.name,
- message: run.head_commit.message,
+ workflowName: run.name ?? undefined,
+ message: run.head_commit?.message,
id: `${run.id}`,
onReRunClick: async () => {
try {
@@ -91,17 +91,17 @@ export function useWorkflowRuns({
}
},
source: {
- branchName: run.head_branch,
+ branchName: run.head_branch ?? undefined,
commit: {
- hash: run.head_commit.id,
+ hash: run.head_commit?.id,
url: run.head_repository?.branches_url?.replace(
'{/branch}',
- run.head_branch,
+ run.head_branch ?? '',
),
},
},
- status: run.status,
- conclusion: run.conclusion,
+ status: run.status ?? undefined,
+ conclusion: run.conclusion ?? undefined,
url: run.url,
githubUrl: run.html_url,
}));
diff --git a/plugins/github-deployments/CHANGELOG.md b/plugins/github-deployments/CHANGELOG.md
index cd0542d5cf..35503a6a64 100644
--- a/plugins/github-deployments/CHANGELOG.md
+++ b/plugins/github-deployments/CHANGELOG.md
@@ -1,5 +1,20 @@
# @backstage/plugin-github-deployments
+## 0.1.38-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- 0f25116d28: Updated dependency `@octokit/graphql` to `^5.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.1.38-next.2
### Patch Changes
diff --git a/plugins/github-deployments/package.json b/plugins/github-deployments/package.json
index cbfc076a9b..1829974873 100644
--- a/plugins/github-deployments/package.json
+++ b/plugins/github-deployments/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-github-deployments",
"description": "A Backstage plugin that integrates towards GitHub Deployments",
- "version": "0.1.38-next.2",
+ "version": "0.1.38-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -24,36 +24,36 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.2",
- "@backstage/integration-react": "^1.1.2-next.2",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/integration-react": "^1.1.2-next.3",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
- "@octokit/graphql": "^4.5.8",
- "luxon": "^2.0.2",
+ "@octokit/graphql": "^5.0.0",
+ "luxon": "^3.0.0",
"react-use": "^17.2.4"
},
"peerDependencies": {
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/github-pull-requests-board/CHANGELOG.md b/plugins/github-pull-requests-board/CHANGELOG.md
index 91faf82d07..7d75c21da3 100644
--- a/plugins/github-pull-requests-board/CHANGELOG.md
+++ b/plugins/github-pull-requests-board/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-github-pull-requests-board
+## 0.1.1-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.1.1-next.2
### Patch Changes
diff --git a/plugins/github-pull-requests-board/package.json b/plugins/github-pull-requests-board/package.json
index c167cc8d88..ea61b6bbd1 100644
--- a/plugins/github-pull-requests-board/package.json
+++ b/plugins/github-pull-requests-board/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-github-pull-requests-board",
"description": "A Backstage plugin that allows you to see all open Pull Requests for all the repositories owned by your team",
- "version": "0.1.1-next.2",
+ "version": "0.1.1-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -35,30 +35,30 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/integration": "^1.2.2-next.2",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
- "@octokit/rest": "^18.12.0",
+ "@octokit/rest": "^19.0.3",
"moment": "^2.29.1",
"react-use": "^17.2.4"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"peerDependencies": {
"@types/react": "^16.13.1 || ^17.0.0",
diff --git a/plugins/gitops-profiles/CHANGELOG.md b/plugins/gitops-profiles/CHANGELOG.md
index 0c47ffc99f..71c5bb74ce 100644
--- a/plugins/gitops-profiles/CHANGELOG.md
+++ b/plugins/gitops-profiles/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-gitops-profiles
+## 0.3.25-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
## 0.3.25-next.2
### Patch Changes
diff --git a/plugins/gitops-profiles/package.json b/plugins/gitops-profiles/package.json
index 3b48f5a6a1..dcd243a244 100644
--- a/plugins/gitops-profiles/package.json
+++ b/plugins/gitops-profiles/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-gitops-profiles",
"description": "A Backstage plugin that helps you manage GitOps profiles",
- "version": "0.3.25-next.2",
+ "version": "0.3.25-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -35,8 +35,8 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -48,17 +48,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/gocd/CHANGELOG.md b/plugins/gocd/CHANGELOG.md
index 692a789447..3ee0c2875c 100644
--- a/plugins/gocd/CHANGELOG.md
+++ b/plugins/gocd/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-gocd
+## 0.1.13-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.1.13-next.2
### Patch Changes
diff --git a/plugins/gocd/package.json b/plugins/gocd/package.json
index a7d968d3c7..187a8d0d79 100644
--- a/plugins/gocd/package.json
+++ b/plugins/gocd/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-gocd",
"description": "A Backstage plugin that integrates towards GoCD",
- "version": "0.1.13-next.2",
+ "version": "0.1.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -31,17 +31,17 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
"lodash": "^4.17.21",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"qs": "^6.10.1",
"react-use": "^17.2.4"
},
@@ -49,10 +49,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
@@ -61,7 +61,7 @@
"@types/luxon": "^2.0.4",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/graphiql/CHANGELOG.md b/plugins/graphiql/CHANGELOG.md
index c034cef2b5..6d71375b40 100644
--- a/plugins/graphiql/CHANGELOG.md
+++ b/plugins/graphiql/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-graphiql
+## 0.2.39-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
## 0.2.39-next.2
### Patch Changes
diff --git a/plugins/graphiql/package.json b/plugins/graphiql/package.json
index 0b124ecbc9..e260be0852 100644
--- a/plugins/graphiql/package.json
+++ b/plugins/graphiql/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-graphiql",
"description": "Backstage plugin for browsing GraphQL APIs",
- "version": "0.2.39-next.2",
+ "version": "0.2.39-next.3",
"private": false,
"publishConfig": {
"access": "public",
@@ -34,8 +34,8 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -49,10 +49,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
@@ -60,7 +60,7 @@
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"react-router-dom": "6.0.0-beta.0"
},
"files": [
diff --git a/plugins/graphql-backend/CHANGELOG.md b/plugins/graphql-backend/CHANGELOG.md
index 0f826cd492..1bbc198d63 100644
--- a/plugins/graphql-backend/CHANGELOG.md
+++ b/plugins/graphql-backend/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-graphql-backend
+## 0.1.24-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-catalog-graphql@0.3.11-next.1
+
## 0.1.24-next.0
### Patch Changes
diff --git a/plugins/graphql-backend/package.json b/plugins/graphql-backend/package.json
index 0664f5a44d..45f9007e90 100644
--- a/plugins/graphql-backend/package.json
+++ b/plugins/graphql-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-graphql-backend",
"description": "An experimental Backstage backend plugin for GraphQL",
- "version": "0.1.24-next.0",
+ "version": "0.1.24-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,9 +34,9 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-common": "^0.14.1-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/plugin-catalog-graphql": "^0.3.11-next.0",
+ "@backstage/plugin-catalog-graphql": "^0.3.11-next.1",
"@graphql-tools/schema": "^8.3.1",
"@types/express": "^4.17.6",
"apollo-server": "^3.0.0",
@@ -51,9 +51,9 @@
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/supertest": "^2.0.8",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"supertest": "^6.1.3"
},
"files": [
diff --git a/plugins/home/CHANGELOG.md b/plugins/home/CHANGELOG.md
index bb2e5d7405..58d476e7e5 100644
--- a/plugins/home/CHANGELOG.md
+++ b/plugins/home/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-home
+## 0.4.23-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/plugin-stack-overflow@0.1.3-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.4.23-next.2
### Patch Changes
diff --git a/plugins/home/package.json b/plugins/home/package.json
index 4800ba1842..be39d23679 100644
--- a/plugins/home/package.json
+++ b/plugins/home/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-home",
"description": "A Backstage plugin that helps you build a home page",
- "version": "0.4.23-next.2",
+ "version": "0.4.23-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,12 +34,12 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
- "@backstage/plugin-stack-overflow": "^0.1.3-next.2",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
+ "@backstage/plugin-stack-overflow": "^0.1.3-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -53,17 +53,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/ilert/CHANGELOG.md b/plugins/ilert/CHANGELOG.md
index f24f1ede11..67cd7b9d9c 100644
--- a/plugins/ilert/CHANGELOG.md
+++ b/plugins/ilert/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-ilert
+## 0.1.33-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.1.33-next.2
### Patch Changes
diff --git a/plugins/ilert/package.json b/plugins/ilert/package.json
index c844d5bd7e..81e22a3676 100644
--- a/plugins/ilert/package.json
+++ b/plugins/ilert/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-ilert",
"description": "A Backstage plugin that integrates towards iLert",
- "version": "0.1.33-next.2",
+ "version": "0.1.33-next.3",
"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.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@date-io/luxon": "1.x",
"@material-ui/core": "^4.12.2",
@@ -36,24 +36,24 @@
"@material-ui/lab": "4.0.0-alpha.57",
"@material-ui/pickers": "^3.3.10",
"humanize-duration": "^3.26.0",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"react-use": "^17.2.4"
},
"peerDependencies": {
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/jenkins-backend/CHANGELOG.md b/plugins/jenkins-backend/CHANGELOG.md
index c96b147b18..fa607ea711 100644
--- a/plugins/jenkins-backend/CHANGELOG.md
+++ b/plugins/jenkins-backend/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-jenkins-backend
+## 0.1.24-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/plugin-auth-node@0.2.3-next.2
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.1.24-next.2
### Patch Changes
diff --git a/plugins/jenkins-backend/package.json b/plugins/jenkins-backend/package.json
index bc24160dcf..5687fdf6b4 100644
--- a/plugins/jenkins-backend/package.json
+++ b/plugins/jenkins-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-jenkins-backend",
"description": "A Backstage backend plugin that integrates towards Jenkins",
- "version": "0.1.24-next.2",
+ "version": "0.1.24-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -25,14 +25,14 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.2",
- "@backstage/catalog-client": "^1.0.4-next.1",
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/plugin-auth-node": "^0.2.3-next.1",
+ "@backstage/plugin-auth-node": "^0.2.3-next.2",
"@backstage/plugin-jenkins-common": "^0.1.6-next.0",
- "@backstage/plugin-permission-common": "^0.6.3-next.0",
+ "@backstage/plugin-permission-common": "^0.6.3-next.1",
"@types/express": "^4.17.6",
"express": "^4.17.1",
"express-promise-router": "^4.1.0",
@@ -42,10 +42,10 @@
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/jenkins": "^0.23.1",
"@types/supertest": "^2.0.8",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"supertest": "^6.1.6"
},
"files": [
diff --git a/plugins/jenkins/CHANGELOG.md b/plugins/jenkins/CHANGELOG.md
index a55f8a3d4b..d7f9e2f18e 100644
--- a/plugins/jenkins/CHANGELOG.md
+++ b/plugins/jenkins/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-jenkins
+## 0.7.6-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.7.6-next.2
### Patch Changes
diff --git a/plugins/jenkins/package.json b/plugins/jenkins/package.json
index e70aea32f4..5c803382ab 100644
--- a/plugins/jenkins/package.json
+++ b/plugins/jenkins/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-jenkins",
"description": "A Backstage plugin that integrates towards Jenkins",
- "version": "0.7.6-next.2",
+ "version": "0.7.6-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -35,17 +35,17 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/plugin-jenkins-common": "^0.1.6-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"react-router": "6.0.0-beta.0",
"react-router-dom": "6.0.0-beta.0",
"react-use": "^17.2.4"
@@ -54,10 +54,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
@@ -65,7 +65,7 @@
"@types/node": "^16.11.26",
"@types/testing-library__jest-dom": "^5.9.1",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/kafka/CHANGELOG.md b/plugins/kafka/CHANGELOG.md
index 7f5db4402c..64a41ea742 100644
--- a/plugins/kafka/CHANGELOG.md
+++ b/plugins/kafka/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-kafka
+## 0.3.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.3.7-next.2
### Patch Changes
diff --git a/plugins/kafka/package.json b/plugins/kafka/package.json
index 522cefb94f..9cd7e169ad 100644
--- a/plugins/kafka/package.json
+++ b/plugins/kafka/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-kafka",
"description": "A Backstage plugin that integrates towards Kafka",
- "version": "0.3.7-next.2",
+ "version": "0.3.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -24,10 +24,10 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -39,10 +39,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
@@ -51,7 +51,7 @@
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
"jest-when": "^3.1.0",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/kubernetes-backend/CHANGELOG.md b/plugins/kubernetes-backend/CHANGELOG.md
index b11a5b045f..c534efba45 100644
--- a/plugins/kubernetes-backend/CHANGELOG.md
+++ b/plugins/kubernetes-backend/CHANGELOG.md
@@ -1,5 +1,44 @@
# @backstage/plugin-kubernetes-backend
+## 0.7.0-next.3
+
+### Minor Changes
+
+- f5c9730639: Add `localKubectlProxy` cluster locator method to make local development simpler to setup.
+
+ Consolidated no-op server side auth decorators.
+ The following Kubernetes auth decorators are now one class (`ServerSideKubernetesAuthProvider`):
+
+ - `AwsKubernetesAuthProvider`
+ - `AzureKubernetesAuthProvider`
+ - `ServiceAccountKubernetesAuthProvider`
+
+- 1454bf98e7: Add new endpoints to Kubernetes backend plugin
+
+ BREAKING: Kubernetes backend plugin now depends on CatalogApi
+
+ ```typescript
+ // Create new CatalogClient
+ const catalogApi = new CatalogClient({ discoveryApi: env.discovery });
+ const { router } = await KubernetesBuilder.createBuilder({
+ logger: env.logger,
+ config: env.config,
+ // Inject it into createBuilder params
+ catalogApi,
+ }).build();
+ ```
+
+### Patch Changes
+
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- eadb3a8d2e: Updated dependency `@kubernetes/client-node` to `^0.17.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/plugin-auth-node@0.2.3-next.2
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-kubernetes-common@0.4.0-next.2
+
## 0.7.0-next.2
### Patch Changes
diff --git a/plugins/kubernetes-backend/api-report.md b/plugins/kubernetes-backend/api-report.md
index 363af1b02f..15b1cef853 100644
--- a/plugins/kubernetes-backend/api-report.md
+++ b/plugins/kubernetes-backend/api-report.md
@@ -15,6 +15,7 @@ import type { KubernetesRequestAuth } from '@backstage/plugin-kubernetes-common'
import type { KubernetesRequestBody } from '@backstage/plugin-kubernetes-common';
import { Logger } from 'winston';
import type { ObjectsByEntityResponse } from '@backstage/plugin-kubernetes-common';
+import { PluginEndpointDiscovery } from '@backstage/backend-common';
import { PodStatus } from '@kubernetes/client-node/dist/top';
// @alpha (undocumented)
@@ -279,6 +280,8 @@ export interface RouterOptions {
// (undocumented)
config: Config;
// (undocumented)
+ discovery: PluginEndpointDiscovery;
+ // (undocumented)
logger: Logger;
}
diff --git a/plugins/kubernetes-backend/package.json b/plugins/kubernetes-backend/package.json
index 337181bfae..9957ce60f4 100644
--- a/plugins/kubernetes-backend/package.json
+++ b/plugins/kubernetes-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-kubernetes-backend",
"description": "A Backstage backend plugin that integrates towards Kubernetes",
- "version": "0.7.0-next.2",
+ "version": "0.7.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -36,13 +36,13 @@
},
"dependencies": {
"@azure/identity": "^2.0.4",
- "@backstage/backend-common": "^0.14.1-next.2",
- "@backstage/catalog-client": "^1.0.4-next.1",
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/plugin-auth-node": "^0.2.3-next.1",
- "@backstage/plugin-kubernetes-common": "^0.4.0-next.0",
+ "@backstage/plugin-auth-node": "^0.2.3-next.2",
+ "@backstage/plugin-kubernetes-common": "^0.4.0-next.2",
"@google-cloud/container": "^4.0.0",
"@kubernetes/client-node": "^0.17.0",
"@types/express": "^4.17.6",
@@ -56,14 +56,14 @@
"fs-extra": "10.1.0",
"helmet": "^5.0.2",
"lodash": "^4.17.21",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"morgan": "^1.10.0",
"stream-buffers": "^3.0.2",
"winston": "^3.2.1",
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/aws4": "^1.5.1",
"aws-sdk-mock": "^5.2.1",
"supertest": "^6.1.3"
diff --git a/plugins/kubernetes-backend/src/cluster-locator/CatalogClusterLocator.test.ts b/plugins/kubernetes-backend/src/cluster-locator/CatalogClusterLocator.test.ts
new file mode 100644
index 0000000000..2a2432f858
--- /dev/null
+++ b/plugins/kubernetes-backend/src/cluster-locator/CatalogClusterLocator.test.ts
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2020 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import '@backstage/backend-common';
+import { CatalogClusterLocator } from './CatalogClusterLocator';
+import { CatalogApi } from '@backstage/catalog-client';
+
+describe('CatalogClusterLocator', () => {
+ it('empty clusters returns empty cluster details', async () => {
+ const mockCatalogApi = {
+ getEntityByRef: jest.fn(),
+ getEntities: async () => ({
+ items: [
+ {
+ apiVersion: 'version',
+ kind: 'User',
+ metadata: {
+ annotations: {
+ 'kubernetes.io/api-server': 'https://apiserver.com',
+ 'kubernetes.io/api-server-certificate-authority': 'caData',
+ 'kubernetes.io/auth-provider': 'aws',
+ },
+ name: 'owned',
+ namespace: 'default',
+ },
+ },
+ ],
+ }),
+ } as Partial as CatalogApi;
+
+ const sut = CatalogClusterLocator.fromConfig(mockCatalogApi);
+
+ const result = await sut.getClusters();
+
+ expect(result).toHaveLength(1);
+ expect(result[0]).toMatchObject({
+ name: 'owned',
+ url: 'https://apiserver.com',
+ caData: 'caData',
+ authProvider: 'aws',
+ });
+ });
+});
diff --git a/plugins/kubernetes-backend/src/cluster-locator/CatalogClusterLocator.ts b/plugins/kubernetes-backend/src/cluster-locator/CatalogClusterLocator.ts
new file mode 100644
index 0000000000..7183b71831
--- /dev/null
+++ b/plugins/kubernetes-backend/src/cluster-locator/CatalogClusterLocator.ts
@@ -0,0 +1,65 @@
+/*
+ * 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 { ClusterDetails, KubernetesClustersSupplier } from '../types/types';
+import { CATALOG_FILTER_EXISTS, CatalogApi } from '@backstage/catalog-client';
+import {
+ ANNOTATION_KUBERNETES_API_SERVER,
+ ANNOTATION_KUBERNETES_API_SERVER_CA,
+ ANNOTATION_KUBERNETES_AUTH_PROVIDER,
+} from '@backstage/catalog-model';
+
+export class CatalogClusterLocator implements KubernetesClustersSupplier {
+ private catalogClient: CatalogApi;
+
+ constructor(catalogClient: CatalogApi) {
+ this.catalogClient = catalogClient;
+ }
+
+ static fromConfig(catalogApi: CatalogApi): CatalogClusterLocator {
+ return new CatalogClusterLocator(catalogApi);
+ }
+
+ async getClusters(): Promise {
+ const apiServerKey = `metadata.annotations.${ANNOTATION_KUBERNETES_API_SERVER}`;
+ const apiServerCaKey = `metadata.annotations.${ANNOTATION_KUBERNETES_API_SERVER_CA}`;
+ const authProviderKey = `metadata.annotations.${ANNOTATION_KUBERNETES_AUTH_PROVIDER}`;
+
+ const filter: Record = {
+ kind: 'Resource',
+ 'spec.type': 'kubernetes-cluster',
+ [apiServerKey]: CATALOG_FILTER_EXISTS,
+ [apiServerCaKey]: CATALOG_FILTER_EXISTS,
+ [authProviderKey]: CATALOG_FILTER_EXISTS,
+ };
+
+ const clusters = await this.catalogClient.getEntities({
+ filter: [filter],
+ });
+ return clusters.items.map(entity => {
+ const clusterDetails: ClusterDetails = {
+ name: entity.metadata.name,
+ url: entity.metadata.annotations![ANNOTATION_KUBERNETES_API_SERVER]!,
+ caData:
+ entity.metadata.annotations![ANNOTATION_KUBERNETES_API_SERVER_CA]!,
+ authProvider:
+ entity.metadata.annotations![ANNOTATION_KUBERNETES_AUTH_PROVIDER]!,
+ };
+
+ return clusterDetails;
+ });
+ }
+}
diff --git a/plugins/kubernetes-backend/src/cluster-locator/index.test.ts b/plugins/kubernetes-backend/src/cluster-locator/index.test.ts
index cc7e7d07d6..f494fbbf2b 100644
--- a/plugins/kubernetes-backend/src/cluster-locator/index.test.ts
+++ b/plugins/kubernetes-backend/src/cluster-locator/index.test.ts
@@ -16,8 +16,11 @@
import { Config, ConfigReader } from '@backstage/config';
import { getCombinedClusterSupplier } from './index';
+import { CatalogApi } from '@backstage/catalog-client';
describe('getCombinedClusterSupplier', () => {
+ let catalogApi: CatalogApi;
+
it('should retrieve cluster details from config', async () => {
const config: Config = new ConfigReader(
{
@@ -45,7 +48,7 @@ describe('getCombinedClusterSupplier', () => {
'ctx',
);
- const clusterSupplier = getCombinedClusterSupplier(config);
+ const clusterSupplier = getCombinedClusterSupplier(config, catalogApi);
const result = await clusterSupplier.getClusters();
expect(result).toStrictEqual([
@@ -100,7 +103,7 @@ describe('getCombinedClusterSupplier', () => {
'ctx',
);
- expect(() => getCombinedClusterSupplier(config)).toThrowError(
+ expect(() => getCombinedClusterSupplier(config, catalogApi)).toThrowError(
new Error('Unsupported kubernetes.clusterLocatorMethods: "magic"'),
);
});
diff --git a/plugins/kubernetes-backend/src/cluster-locator/index.ts b/plugins/kubernetes-backend/src/cluster-locator/index.ts
index d32f7ffee8..62dfe15720 100644
--- a/plugins/kubernetes-backend/src/cluster-locator/index.ts
+++ b/plugins/kubernetes-backend/src/cluster-locator/index.ts
@@ -19,6 +19,8 @@ import { Duration } from 'luxon';
import { ClusterDetails, KubernetesClustersSupplier } from '../types/types';
import { ConfigClusterLocator } from './ConfigClusterLocator';
import { GkeClusterLocator } from './GkeClusterLocator';
+import { CatalogClusterLocator } from './CatalogClusterLocator';
+import { CatalogApi } from '@backstage/catalog-client';
import { LocalKubectlProxyClusterLocator } from './LocalKubectlProxyLocator';
class CombinedClustersSupplier implements KubernetesClustersSupplier {
@@ -39,6 +41,7 @@ class CombinedClustersSupplier implements KubernetesClustersSupplier {
export const getCombinedClusterSupplier = (
rootConfig: Config,
+ catalogClient: CatalogApi,
refreshInterval: Duration | undefined = undefined,
): KubernetesClustersSupplier => {
const clusterSuppliers = rootConfig
@@ -46,6 +49,8 @@ export const getCombinedClusterSupplier = (
.map(clusterLocatorMethod => {
const type = clusterLocatorMethod.getString('type');
switch (type) {
+ case 'catalog':
+ return CatalogClusterLocator.fromConfig(catalogClient);
case 'localKubectlProxy':
return new LocalKubectlProxyClusterLocator();
case 'config':
diff --git a/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts b/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts
index 309141ec0e..ed56c2da8a 100644
--- a/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts
+++ b/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts
@@ -71,8 +71,6 @@ describe('KubernetesBuilder', () => {
getKubernetesObjectsByEntity: jest.fn(),
} as any;
- catalogApi = {} as CatalogApi;
-
const { router } = await KubernetesBuilder.createBuilder({
config,
logger,
diff --git a/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts b/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts
index 59bac4f30a..304885f3e2 100644
--- a/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts
+++ b/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts
@@ -186,7 +186,11 @@ export class KubernetesBuilder {
refreshInterval: Duration,
): KubernetesClustersSupplier {
const config = this.env.config;
- return getCombinedClusterSupplier(config, refreshInterval);
+ return getCombinedClusterSupplier(
+ config,
+ this.env.catalogApi,
+ refreshInterval,
+ );
}
protected buildObjectsProvider(
diff --git a/plugins/kubernetes-backend/src/service/router.ts b/plugins/kubernetes-backend/src/service/router.ts
index 6c26175058..ab27a75a18 100644
--- a/plugins/kubernetes-backend/src/service/router.ts
+++ b/plugins/kubernetes-backend/src/service/router.ts
@@ -19,6 +19,7 @@ import { Logger } from 'winston';
import { KubernetesClustersSupplier } from '../types/types';
import express from 'express';
import { KubernetesBuilder } from './KubernetesBuilder';
+import { PluginEndpointDiscovery } from '@backstage/backend-common';
import { CatalogApi } from '@backstage/catalog-client';
/**
@@ -30,6 +31,7 @@ export interface RouterOptions {
config: Config;
catalogApi: CatalogApi;
clusterSupplier?: KubernetesClustersSupplier;
+ discovery: PluginEndpointDiscovery;
}
/**
diff --git a/plugins/kubernetes-backend/src/service/standaloneApplication.ts b/plugins/kubernetes-backend/src/service/standaloneApplication.ts
index c12d7be2bb..8234f89d48 100644
--- a/plugins/kubernetes-backend/src/service/standaloneApplication.ts
+++ b/plugins/kubernetes-backend/src/service/standaloneApplication.ts
@@ -39,6 +39,8 @@ export async function createStandaloneApplication(
): Promise {
const { enableCors, logger } = options;
const config = new ConfigReader({});
+ const discovery = SingleHostDiscovery.fromConfig(config);
+
const app = express();
const catalogApi = new CatalogClient({
@@ -52,7 +54,7 @@ export async function createStandaloneApplication(
app.use(compression());
app.use(express.json());
app.use(requestLoggingHandler());
- app.use('/', await createRouter({ logger, config, catalogApi }));
+ app.use('/', await createRouter({ logger, config, discovery, catalogApi }));
app.use(notFoundHandler());
app.use(errorHandler());
diff --git a/plugins/kubernetes-common/CHANGELOG.md b/plugins/kubernetes-common/CHANGELOG.md
index dd1feff82e..a27f4483f6 100644
--- a/plugins/kubernetes-common/CHANGELOG.md
+++ b/plugins/kubernetes-common/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-kubernetes-common
+## 0.4.0-next.2
+
+### Patch Changes
+
+- eadb3a8d2e: Updated dependency `@kubernetes/client-node` to `^0.17.0`.
+- Updated dependencies
+ - @backstage/catalog-model@1.1.0-next.3
+
## 0.4.0-next.1
### Patch Changes
diff --git a/plugins/kubernetes-common/package.json b/plugins/kubernetes-common/package.json
index 09a6d7a32e..323f44b4d2 100644
--- a/plugins/kubernetes-common/package.json
+++ b/plugins/kubernetes-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-kubernetes-common",
"description": "Common functionalities for kubernetes, to be shared between kubernetes and kubernetes-backend plugin",
- "version": "0.4.0-next.1",
+ "version": "0.4.0-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -38,12 +38,11 @@
"url": "https://github.com/backstage/backstage/issues"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.1",
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@kubernetes/client-node": "^0.17.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2"
+ "@backstage/cli": "^0.18.0-next.3"
},
"jest": {
"roots": [
diff --git a/plugins/kubernetes/CHANGELOG.md b/plugins/kubernetes/CHANGELOG.md
index dc44dffad4..ffcf3edb7b 100644
--- a/plugins/kubernetes/CHANGELOG.md
+++ b/plugins/kubernetes/CHANGELOG.md
@@ -1,5 +1,31 @@
# @backstage/plugin-kubernetes
+## 0.7.0-next.3
+
+### Minor Changes
+
+- f5c9730639: Add `localKubectlProxy` cluster locator method to make local development simpler to setup.
+
+ Consolidated no-op server side auth decorators.
+ The following Kubernetes auth decorators are now one class (`ServerSideKubernetesAuthProvider`):
+
+ - `AwsKubernetesAuthProvider`
+ - `AzureKubernetesAuthProvider`
+ - `ServiceAccountKubernetesAuthProvider`
+
+### Patch Changes
+
+- 3ec294a186: expose detectErrors function publicly
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- eadb3a8d2e: Updated dependency `@kubernetes/client-node` to `^0.17.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-kubernetes-common@0.4.0-next.2
+
## 0.6.7-next.2
### Patch Changes
diff --git a/plugins/kubernetes/api-report.md b/plugins/kubernetes/api-report.md
index 1a95446e5f..da6948043c 100644
--- a/plugins/kubernetes/api-report.md
+++ b/plugins/kubernetes/api-report.md
@@ -98,6 +98,28 @@ export interface DeploymentResources {
replicaSets: V1ReplicaSet[];
}
+// @alpha
+export interface DetectedError {
+ // (undocumented)
+ cluster: string;
+ // (undocumented)
+ kind: ErrorDetectableKind;
+ // (undocumented)
+ message: string[];
+ // (undocumented)
+ names: string[];
+ // (undocumented)
+ severity: ErrorSeverity;
+}
+
+// @alpha
+export type DetectedErrorsByCluster = Map;
+
+// @alpha
+export const detectErrors: (
+ objects: ObjectsByEntityResponse,
+) => DetectedErrorsByCluster;
+
// Warning: (ae-missing-release-tag) "EntityKubernetesContent" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
@@ -110,6 +132,12 @@ export type EntityKubernetesContentProps = {
refreshIntervalMs?: number;
};
+// @alpha
+export type ErrorDetectableKind =
+ | 'Pod'
+ | 'Deployment'
+ | 'HorizontalPodAutoscaler';
+
// Warning: (ae-forgotten-export) The symbol "ErrorPanelProps" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "ErrorPanel" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
@@ -128,6 +156,9 @@ export const ErrorReporting: ({
detectedErrors,
}: ErrorReportingProps) => JSX.Element;
+// @alpha
+export type ErrorSeverity = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
+
// Warning: (ae-forgotten-export) The symbol "FormatClusterLinkOptions" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "formatClusterLink" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
diff --git a/plugins/kubernetes/package.json b/plugins/kubernetes/package.json
index f2437dec45..3633942c15 100644
--- a/plugins/kubernetes/package.json
+++ b/plugins/kubernetes/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-kubernetes",
"description": "A Backstage plugin that integrates towards Kubernetes",
- "version": "0.6.7-next.2",
+ "version": "0.7.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,12 +34,12 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
- "@backstage/plugin-kubernetes-common": "^0.4.0-next.1",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
+ "@backstage/plugin-kubernetes-common": "^0.4.0-next.2",
"@backstage/theme": "^0.2.16-next.1",
"@kubernetes/client-node": "^0.17.0",
"@material-ui/core": "^4.12.2",
@@ -49,7 +49,7 @@
"cronstrue": "^2.2.0",
"js-yaml": "^4.0.0",
"lodash": "^4.17.21",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"react-router-dom": "6.0.0-beta.0",
"react-use": "^17.2.4"
},
@@ -57,10 +57,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
@@ -68,7 +68,7 @@
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/kubernetes/src/error-detection/error-detection.ts b/plugins/kubernetes/src/error-detection/error-detection.ts
index e1e83f23ab..3a9f1571e0 100644
--- a/plugins/kubernetes/src/error-detection/error-detection.ts
+++ b/plugins/kubernetes/src/error-detection/error-detection.ts
@@ -21,8 +21,12 @@ import { detectErrorsInPods } from './pods';
import { detectErrorsInDeployments } from './deployments';
import { detectErrorsInHpa } from './hpas';
-// For each cluster try to find errors in each of the object types provided
-// returning a map of cluster names to errors in that cluster
+/**
+ * For each cluster try to find errors in each of the object types provided
+ * returning a map of cluster names to errors in that cluster
+ *
+ * @alpha
+ */
export const detectErrors = (
objects: ObjectsByEntityResponse,
): DetectedErrorsByCluster => {
diff --git a/plugins/kubernetes/src/error-detection/index.ts b/plugins/kubernetes/src/error-detection/index.ts
index b9127ccbda..ced03066a7 100644
--- a/plugins/kubernetes/src/error-detection/index.ts
+++ b/plugins/kubernetes/src/error-detection/index.ts
@@ -14,5 +14,10 @@
* limitations under the License.
*/
-export type { DetectedError, DetectedErrorsByCluster } from './types';
+export type {
+ ErrorDetectableKind,
+ DetectedError,
+ DetectedErrorsByCluster,
+ ErrorSeverity,
+} from './types';
export { detectErrors } from './error-detection';
diff --git a/plugins/kubernetes/src/error-detection/types.ts b/plugins/kubernetes/src/error-detection/types.ts
index 2ec66f3efc..871413d43e 100644
--- a/plugins/kubernetes/src/error-detection/types.ts
+++ b/plugins/kubernetes/src/error-detection/types.ts
@@ -21,17 +21,37 @@ import {
V1Pod,
} from '@kubernetes/client-node';
+/**
+ * Severity of the error, where 10 is critical and 0 is very low.
+ *
+ * @alpha
+ */
export type ErrorSeverity = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
export type ErrorDetectable = V1Pod | V1Deployment | V1HorizontalPodAutoscaler;
+/**
+ * Kubernetes kinds that errors might be reported by the plugin
+ *
+ * @alpha
+ */
export type ErrorDetectableKind =
| 'Pod'
| 'Deployment'
| 'HorizontalPodAutoscaler';
+/**
+ * A list of errors keyed by Cluster name
+ *
+ * @alpha
+ */
export type DetectedErrorsByCluster = Map;
+/**
+ * Represents an error found on a Kubernetes object
+ *
+ * @alpha
+ */
export interface DetectedError {
severity: ErrorSeverity;
cluster: string;
diff --git a/plugins/kubernetes/src/index.ts b/plugins/kubernetes/src/index.ts
index 6e8de777ca..616caaef62 100644
--- a/plugins/kubernetes/src/index.ts
+++ b/plugins/kubernetes/src/index.ts
@@ -31,5 +31,6 @@ export * from './api';
export * from './kubernetes-auth-provider';
export * from './utils/clusterLinks';
export * from './components';
+export * from './error-detection';
export * from './hooks';
export * from './types';
diff --git a/plugins/lighthouse/CHANGELOG.md b/plugins/lighthouse/CHANGELOG.md
index ded56ce2da..6cb5a52d78 100644
--- a/plugins/lighthouse/CHANGELOG.md
+++ b/plugins/lighthouse/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-lighthouse
+## 0.3.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.3.7-next.2
### Patch Changes
diff --git a/plugins/lighthouse/package.json b/plugins/lighthouse/package.json
index ea95636060..cdf5089350 100644
--- a/plugins/lighthouse/package.json
+++ b/plugins/lighthouse/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-lighthouse",
"description": "A Backstage plugin that integrates towards Lighthouse",
- "version": "0.3.7-next.2",
+ "version": "0.3.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -35,11 +35,11 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -51,10 +51,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
@@ -63,7 +63,7 @@
"@types/node": "^16.11.26",
"@types/react": "^16.13.1 || ^17.0.0",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/newrelic-dashboard/CHANGELOG.md b/plugins/newrelic-dashboard/CHANGELOG.md
index ce7fb18e5c..5b27651f13 100644
--- a/plugins/newrelic-dashboard/CHANGELOG.md
+++ b/plugins/newrelic-dashboard/CHANGELOG.md
@@ -1,5 +1,21 @@
# @backstage/plugin-newrelic-dashboard
+## 0.2.0-next.3
+
+### Minor Changes
+
+- 79ecedded9: Fix bug where the default time window/snapshot duration was supposed to be 30 days, but ended up being 43 weeks
+
+ **BREAKING**: Add a select input to change the time window of the snapshot displayed. This removes the duration prop from the `DashboardSnapshot` component.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.1.15-next.2
### Patch Changes
diff --git a/plugins/newrelic-dashboard/package.json b/plugins/newrelic-dashboard/package.json
index a0a21fcf9c..f90676e994 100644
--- a/plugins/newrelic-dashboard/package.json
+++ b/plugins/newrelic-dashboard/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-newrelic-dashboard",
- "version": "0.1.15-next.2",
+ "version": "0.2.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -23,19 +23,19 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
"react-use": "^17.2.4"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/dev-utils": "^1.0.4-next.2",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/dev-utils": "^1.0.4-next.3",
"@testing-library/jest-dom": "^5.10.1",
"@types/react": "^16.13.1 || ^17.0.0",
"cross-fetch": "^3.1.5"
diff --git a/plugins/newrelic/CHANGELOG.md b/plugins/newrelic/CHANGELOG.md
index f3ff482fd8..b93e4d99c1 100644
--- a/plugins/newrelic/CHANGELOG.md
+++ b/plugins/newrelic/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-newrelic
+## 0.3.25-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+
## 0.3.25-next.2
### Patch Changes
diff --git a/plugins/newrelic/package.json b/plugins/newrelic/package.json
index 61b49060a4..d5c40c44cd 100644
--- a/plugins/newrelic/package.json
+++ b/plugins/newrelic/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-newrelic",
"description": "A Backstage plugin that integrates towards New Relic",
- "version": "0.3.25-next.2",
+ "version": "0.3.25-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -35,8 +35,8 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -47,17 +47,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/org/CHANGELOG.md b/plugins/org/CHANGELOG.md
index f21231dc81..7ed32465b4 100644
--- a/plugins/org/CHANGELOG.md
+++ b/plugins/org/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-org
+## 0.5.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.5.7-next.2
### Patch Changes
diff --git a/plugins/org/package.json b/plugins/org/package.json
index 9bc58b26bf..4c2546d1b9 100644
--- a/plugins/org/package.json
+++ b/plugins/org/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-org",
"description": "A Backstage plugin that helps you create entity pages for your organization",
- "version": "0.5.7-next.2",
+ "version": "0.5.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -29,10 +29,10 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -48,18 +48,18 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/catalog-client": "^1.0.4-next.1",
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/pagerduty/CHANGELOG.md b/plugins/pagerduty/CHANGELOG.md
index 929a4a3ed8..c3ad53d2c9 100644
--- a/plugins/pagerduty/CHANGELOG.md
+++ b/plugins/pagerduty/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-pagerduty
+## 0.5.0-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.5.0-next.2
### Patch Changes
diff --git a/plugins/pagerduty/package.json b/plugins/pagerduty/package.json
index b638bbd573..9affc33584 100644
--- a/plugins/pagerduty/package.json
+++ b/plugins/pagerduty/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-pagerduty",
"description": "A Backstage plugin that integrates towards PagerDuty",
- "version": "0.5.0-next.2",
+ "version": "0.5.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,17 +34,17 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
"classnames": "^2.2.6",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"react-router-dom": "6.0.0-beta.0",
"react-use": "^17.2.4"
},
@@ -53,17 +53,17 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/periskop-backend/CHANGELOG.md b/plugins/periskop-backend/CHANGELOG.md
index 0a270b9f0a..ffbc388107 100644
--- a/plugins/periskop-backend/CHANGELOG.md
+++ b/plugins/periskop-backend/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-periskop-backend
+## 0.1.5-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+
## 0.1.5-next.0
### Patch Changes
diff --git a/plugins/periskop-backend/package.json b/plugins/periskop-backend/package.json
index 03be1e44ec..f9e4ca56b2 100644
--- a/plugins/periskop-backend/package.json
+++ b/plugins/periskop-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-periskop-backend",
- "version": "0.1.5-next.0",
+ "version": "0.1.5-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -24,7 +24,7 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-common": "^0.14.1-next.3",
"@backstage/config": "^1.0.1",
"@types/express": "*",
"cross-fetch": "^3.0.6",
@@ -35,9 +35,9 @@
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/supertest": "^2.0.8",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"supertest": "^6.1.6"
},
"files": [
diff --git a/plugins/periskop/CHANGELOG.md b/plugins/periskop/CHANGELOG.md
index db6854741f..ce9b9cafd7 100644
--- a/plugins/periskop/CHANGELOG.md
+++ b/plugins/periskop/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-periskop
+## 0.1.5-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.1.5-next.2
### Patch Changes
diff --git a/plugins/periskop/package.json b/plugins/periskop/package.json
index a9c538d957..20991bc9fe 100644
--- a/plugins/periskop/package.json
+++ b/plugins/periskop/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-periskop",
- "version": "0.1.5-next.2",
+ "version": "0.1.5-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -25,16 +25,16 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"react-use": "^17.2.4"
},
"peerDependencies": {
@@ -42,10 +42,10 @@
"react-dom": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
@@ -53,7 +53,7 @@
"@types/luxon": "^2.0.4",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/permission-backend/CHANGELOG.md b/plugins/permission-backend/CHANGELOG.md
index e2b2cedb19..717f36b4f2 100644
--- a/plugins/permission-backend/CHANGELOG.md
+++ b/plugins/permission-backend/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-permission-backend
+## 0.5.9-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-auth-node@0.2.3-next.2
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/plugin-permission-node@0.6.3-next.2
+
## 0.5.9-next.1
### Patch Changes
diff --git a/plugins/permission-backend/package.json b/plugins/permission-backend/package.json
index 4df852d255..70e895801b 100644
--- a/plugins/permission-backend/package.json
+++ b/plugins/permission-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-permission-backend",
- "version": "0.5.9-next.1",
+ "version": "0.5.9-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -22,12 +22,12 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-common": "^0.14.1-next.3",
"@backstage/config": "^1.0.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-auth-node": "^0.2.3-next.2",
+ "@backstage/plugin-permission-common": "^0.6.3-next.1",
+ "@backstage/plugin-permission-node": "^0.6.3-next.2",
"@types/express": "*",
"dataloader": "^2.0.0",
"express": "^4.17.1",
@@ -39,11 +39,11 @@
"zod": "^3.11.6"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/lodash": "^4.14.151",
"@types/supertest": "^2.0.8",
"supertest": "^6.1.6",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/permission-common/CHANGELOG.md b/plugins/permission-common/CHANGELOG.md
index 769887f86e..23eb398564 100644
--- a/plugins/permission-common/CHANGELOG.md
+++ b/plugins/permission-common/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/plugin-permission-common
+## 0.6.3-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+
## 0.6.3-next.0
### Patch Changes
diff --git a/plugins/permission-common/package.json b/plugins/permission-common/package.json
index b811b63438..abaeb918ff 100644
--- a/plugins/permission-common/package.json
+++ b/plugins/permission-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-permission-common",
"description": "Isomorphic types and client for Backstage permissions and authorization",
- "version": "0.6.3-next.0",
+ "version": "0.6.3-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
@@ -48,8 +48,8 @@
"zod": "^3.11.6"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/jest": "^26.0.7",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
}
}
diff --git a/plugins/permission-node/CHANGELOG.md b/plugins/permission-node/CHANGELOG.md
index d412a981eb..baf970c252 100644
--- a/plugins/permission-node/CHANGELOG.md
+++ b/plugins/permission-node/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-permission-node
+## 0.6.3-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-auth-node@0.2.3-next.2
+ - @backstage/plugin-permission-common@0.6.3-next.1
+
## 0.6.3-next.1
### Patch Changes
diff --git a/plugins/permission-node/package.json b/plugins/permission-node/package.json
index a0bc4585b0..475a95e708 100644
--- a/plugins/permission-node/package.json
+++ b/plugins/permission-node/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-permission-node",
"description": "Common permission and authorization utilities for backend plugins",
- "version": "0.6.3-next.1",
+ "version": "0.6.3-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -33,20 +33,20 @@
"start": "backstage-cli package start"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-common": "^0.14.1-next.3",
"@backstage/config": "^1.0.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-auth-node": "^0.2.3-next.2",
+ "@backstage/plugin-permission-common": "^0.6.3-next.1",
"@types/express": "^4.17.6",
"express": "^4.17.1",
"express-promise-router": "^4.1.0",
"zod": "^3.11.6"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/supertest": "^2.0.8",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"supertest": "^6.1.3"
},
"files": [
diff --git a/plugins/permission-react/CHANGELOG.md b/plugins/permission-react/CHANGELOG.md
index aa6f06a45c..4a90e1fbd3 100644
--- a/plugins/permission-react/CHANGELOG.md
+++ b/plugins/permission-react/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-permission-react
+## 0.4.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/plugin-permission-common@0.6.3-next.1
+
## 0.4.3-next.0
### Patch Changes
diff --git a/plugins/permission-react/package.json b/plugins/permission-react/package.json
index f0dcc88de0..2356c9a344 100644
--- a/plugins/permission-react/package.json
+++ b/plugins/permission-react/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-permission-react",
- "version": "0.4.3-next.0",
+ "version": "0.4.3-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -32,8 +32,8 @@
},
"dependencies": {
"@backstage/config": "^1.0.1",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-permission-common": "^0.6.3-next.0",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-permission-common": "^0.6.3-next.1",
"cross-fetch": "^3.1.5",
"react-router": "6.0.0-beta.0",
"react-use": "^17.2.4",
@@ -44,8 +44,8 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@types/jest": "^26.0.7"
diff --git a/plugins/proxy-backend/CHANGELOG.md b/plugins/proxy-backend/CHANGELOG.md
index fe6aaf541d..56d4f1927d 100644
--- a/plugins/proxy-backend/CHANGELOG.md
+++ b/plugins/proxy-backend/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-proxy-backend
+## 0.2.28-next.1
+
+### Patch Changes
+
+- a4fa1ce090: The proxy-backend now automatically reloads configuration when app-config.yaml is updated.
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+
## 0.2.28-next.0
### Patch Changes
diff --git a/plugins/proxy-backend/package.json b/plugins/proxy-backend/package.json
index e21173910e..f38fa427da 100644
--- a/plugins/proxy-backend/package.json
+++ b/plugins/proxy-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-proxy-backend",
"description": "A Backstage backend plugin that helps you set up proxy endpoints in the backend",
- "version": "0.2.28-next.0",
+ "version": "0.2.28-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -32,7 +32,7 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-common": "^0.14.1-next.3",
"@backstage/config": "^1.0.1",
"@types/express": "^4.17.6",
"express": "^4.17.1",
@@ -46,11 +46,12 @@
"yup": "^0.32.9"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/http-proxy-middleware": "^0.19.3",
"@types/supertest": "^2.0.8",
"@types/uuid": "^8.0.0",
"@types/yup": "^0.29.13",
+ "msw": "^0.44.0",
"supertest": "^6.1.3"
},
"files": [
diff --git a/plugins/proxy-backend/src/service/router.config.test.ts b/plugins/proxy-backend/src/service/router.config.test.ts
new file mode 100644
index 0000000000..5f90f847e4
--- /dev/null
+++ b/plugins/proxy-backend/src/service/router.config.test.ts
@@ -0,0 +1,115 @@
+/*
+ * 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 { getVoidLogger, SingleHostDiscovery } from '@backstage/backend-common';
+import { ConfigReader } from '@backstage/config';
+import express from 'express';
+import { rest } from 'msw';
+import { setupServer } from 'msw/node';
+import request from 'supertest';
+import { createRouter } from './router';
+
+// this test is stored in its own file to work around the mocked
+// http-proxy-middleware module used in the rest of the tests
+
+describe('createRouter reloadable configuration', () => {
+ const server = setupServer(
+ rest.get('https://non-existing-example.com/', (req, res, ctx) =>
+ res(
+ ctx.status(200),
+ ctx.json({
+ url: req.url.toString(),
+ headers: req.headers.all(),
+ }),
+ ),
+ ),
+ );
+
+ beforeAll(() =>
+ server.listen({
+ onUnhandledRequest: ({ headers }, print) => {
+ if (headers.get('User-Agent') === 'supertest') {
+ return;
+ }
+ print.error();
+ },
+ }),
+ );
+
+ afterAll(() => server.close());
+ afterEach(() => server.resetHandlers());
+
+ it('should be able to observe the config', async () => {
+ const logger = getVoidLogger();
+
+ // Grab the subscriber function and use mutable config data to mock a config file change
+ let subscriber: () => void;
+ const mutableConfigData: any = {
+ backend: {
+ baseUrl: 'http://localhost:7007',
+ listen: {
+ port: 7007,
+ },
+ },
+ proxy: {
+ '/test': {
+ target: 'https://non-existing-example.com',
+ pathRewrite: {
+ '.*': '/',
+ },
+ },
+ },
+ };
+
+ const mockConfig = Object.assign(new ConfigReader(mutableConfigData), {
+ subscribe: (s: () => void) => {
+ subscriber = s;
+ return { unsubscribe: () => {} };
+ },
+ });
+
+ const discovery = SingleHostDiscovery.fromConfig(mockConfig);
+ const router = await createRouter({
+ config: mockConfig,
+ logger,
+ discovery,
+ });
+ expect(router).toBeDefined();
+
+ const app = express();
+ app.use(router);
+
+ const agent = request.agent(app);
+ // this is set to let msw pass test requests through the mock server
+ agent.set('User-Agent', 'supertest');
+
+ const response1 = await agent.get('/test');
+
+ expect(response1.status).toEqual(200);
+
+ mutableConfigData.proxy['/test2'] = {
+ target: 'https://non-existing-example.com',
+ pathRewrite: {
+ '.*': '/',
+ },
+ };
+ subscriber!();
+
+ const response2 = await agent.get('/test2');
+
+ expect(response2.status).toEqual(200);
+ });
+});
diff --git a/plugins/proxy-backend/src/service/router.ts b/plugins/proxy-backend/src/service/router.ts
index ca2c7870d8..e0910da145 100644
--- a/plugins/proxy-backend/src/service/router.ts
+++ b/plugins/proxy-backend/src/service/router.ts
@@ -181,13 +181,45 @@ export async function createRouter(
options: RouterOptions,
): Promise {
const router = Router();
+ let currentRouter = Router();
const externalUrl = await options.discovery.getExternalBaseUrl('proxy');
const { pathname: pathPrefix } = new URL(externalUrl);
const proxyConfig = options.config.getOptional('proxy') ?? {};
+ configureMiddlewares(options, currentRouter, pathPrefix, proxyConfig);
+ router.use((...args) => currentRouter(...args));
- Object.entries(proxyConfig).forEach(([route, proxyRouteConfig]) => {
+ if (options.config.subscribe) {
+ let currentKey = JSON.stringify(proxyConfig);
+
+ options.config.subscribe(() => {
+ const newProxyConfig = options.config.getOptional('proxy') ?? {};
+ const newKey = JSON.stringify(newProxyConfig);
+
+ if (currentKey !== newKey) {
+ currentKey = newKey;
+ currentRouter = Router();
+ configureMiddlewares(
+ options,
+ currentRouter,
+ pathPrefix,
+ newProxyConfig,
+ );
+ }
+ });
+ }
+
+ return router;
+}
+
+function configureMiddlewares(
+ options: RouterOptions,
+ router: express.Router,
+ pathPrefix: string,
+ proxyConfig: any,
+) {
+ Object.entries(proxyConfig).forEach(([route, proxyRouteConfig]) => {
try {
router.use(
route,
@@ -201,6 +233,4 @@ export async function createRouter(
}
}
});
-
- return router;
}
diff --git a/plugins/rollbar-backend/CHANGELOG.md b/plugins/rollbar-backend/CHANGELOG.md
index 1947f00622..5ae61f973c 100644
--- a/plugins/rollbar-backend/CHANGELOG.md
+++ b/plugins/rollbar-backend/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-rollbar-backend
+## 0.1.31-next.1
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+
## 0.1.31-next.0
### Patch Changes
diff --git a/plugins/rollbar-backend/package.json b/plugins/rollbar-backend/package.json
index 8f8be07621..ef501aaac7 100644
--- a/plugins/rollbar-backend/package.json
+++ b/plugins/rollbar-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-rollbar-backend",
"description": "A Backstage backend plugin that integrates towards Rollbar",
- "version": "0.1.31-next.0",
+ "version": "0.1.31-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,7 +34,7 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-common": "^0.14.1-next.3",
"@backstage/config": "^1.0.1",
"@types/express": "^4.17.6",
"camelcase-keys": "^7.0.1",
@@ -50,10 +50,10 @@
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.1",
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/supertest": "^2.0.8",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"supertest": "^6.1.3"
},
"files": [
diff --git a/plugins/rollbar/CHANGELOG.md b/plugins/rollbar/CHANGELOG.md
index 367b7a07f3..1673b49c64 100644
--- a/plugins/rollbar/CHANGELOG.md
+++ b/plugins/rollbar/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-rollbar
+## 0.4.7-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+
## 0.4.7-next.2
### Patch Changes
diff --git a/plugins/rollbar/package.json b/plugins/rollbar/package.json
index 1ba43e05bc..2b98731096 100644
--- a/plugins/rollbar/package.json
+++ b/plugins/rollbar/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-rollbar",
"description": "A Backstage plugin that integrates towards Rollbar",
- "version": "0.4.7-next.2",
+ "version": "0.4.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -35,10 +35,10 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-model": "^1.1.0-next.2",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
@@ -53,10 +53,10 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
@@ -65,7 +65,7 @@
"@types/node": "^16.11.26",
"@types/react": "^16.13.1 || ^17.0.0",
"cross-fetch": "^3.1.5",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md b/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md
index 2bf18ee3a8..4798f4e4a6 100644
--- a/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md
+++ b/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-scaffolder-backend-module-cookiecutter
+## 0.2.9-next.2
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-scaffolder-backend@1.4.0-next.3
+ - @backstage/integration@1.2.2-next.3
+
## 0.2.9-next.1
### Patch Changes
diff --git a/plugins/scaffolder-backend-module-cookiecutter/package.json b/plugins/scaffolder-backend-module-cookiecutter/package.json
index f953bac5cd..8599d80719 100644
--- a/plugins/scaffolder-backend-module-cookiecutter/package.json
+++ b/plugins/scaffolder-backend-module-cookiecutter/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-scaffolder-backend-module-cookiecutter",
"description": "A module for the scaffolder backend that lets you template projects using cookiecutter",
- "version": "0.2.9-next.1",
+ "version": "0.2.9-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -23,10 +23,10 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.1",
+ "@backstage/backend-common": "^0.14.1-next.3",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.1",
- "@backstage/plugin-scaffolder-backend": "^1.4.0-next.1",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/plugin-scaffolder-backend": "^1.4.0-next.3",
"@backstage/config": "^1.0.1",
"@backstage/types": "^1.0.0",
"command-exists": "^1.2.9",
@@ -35,13 +35,13 @@
"yn": "^4.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/fs-extra": "^9.0.1",
"@types/mock-fs": "^4.13.0",
"@types/jest": "^26.0.7",
"@types/command-exists": "^1.2.0",
"mock-fs": "^5.1.0",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist"
diff --git a/plugins/scaffolder-backend/CHANGELOG.md b/plugins/scaffolder-backend/CHANGELOG.md
index 2ac49898d2..e3f67eb447 100644
--- a/plugins/scaffolder-backend/CHANGELOG.md
+++ b/plugins/scaffolder-backend/CHANGELOG.md
@@ -1,5 +1,32 @@
# @backstage/plugin-scaffolder-backend
+## 1.4.0-next.3
+
+### Minor Changes
+
+- 91c1d12123: Export experimental `scaffolderCatalogExtension` for the new backend system. This export is not considered stable and should not be used in production.
+
+### Patch Changes
+
+- ea6dcb84a4: Don't resolve symlinks, treat them as binary files and copy them as-is
+- af02f54483: new setUserAsOwner flag for publish:gitlab action
+
+ The field default is `false`. When true it will use the token configured in the gitlab integration for the matching host, to try and set the user logged in via `repoUrlPicker` `requestUserCredentials` OAuth flow as owner of the repository created in GitLab.
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- 511f49ee43: Updated dependency `octokit` to `^2.0.0`.
+- 735853353b: Updated dependency `@octokit/webhooks` to `^10.0.0`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.1.0-next.0
+ - @backstage/plugin-catalog-backend@1.3.0-next.3
+ - @backstage/plugin-catalog-node@1.0.0-next.0
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+
## 1.4.0-next.2
### Minor Changes
diff --git a/plugins/scaffolder-backend/api-report.md b/plugins/scaffolder-backend/api-report.md
index 3b40bb3f99..766bdeb84b 100644
--- a/plugins/scaffolder-backend/api-report.md
+++ b/plugins/scaffolder-backend/api-report.md
@@ -107,6 +107,7 @@ export function createFetchTemplateAction(options: {
values: any;
templateFileExtension?: string | boolean | undefined;
copyWithoutRender?: string[] | undefined;
+ copyWithoutTemplating?: string[] | undefined;
cookiecutterCompat?: boolean | undefined;
}>;
@@ -317,6 +318,7 @@ export function createPublishGerritAction(options: {
gitCommitMessage?: string | undefined;
gitAuthorName?: string | undefined;
gitAuthorEmail?: string | undefined;
+ sourcePath?: string | undefined;
}>;
// @public
diff --git a/plugins/scaffolder-backend/package.json b/plugins/scaffolder-backend/package.json
index 9c4c0f1da6..a3eeeb4ce2 100644
--- a/plugins/scaffolder-backend/package.json
+++ b/plugins/scaffolder-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-scaffolder-backend",
"description": "The Backstage backend plugin that helps you create new things",
- "version": "1.4.0-next.2",
+ "version": "1.4.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -35,17 +35,17 @@
"build:assets": "node scripts/build-nunjucks.js"
},
"dependencies": {
- "@backstage/backend-common": "^0.14.1-next.2",
- "@backstage/catalog-client": "^1.0.4-next.1",
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/backend-common": "^0.14.1-next.3",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.2",
- "@backstage/plugin-catalog-backend": "^1.2.1-next.2",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/plugin-catalog-backend": "^1.3.0-next.3",
"@backstage/plugin-scaffolder-common": "^1.1.2-next.0",
"@backstage/plugin-auth-node": "^0.2.3-next.1",
- "@backstage/backend-plugin-api": "^0.0.0",
- "@backstage/plugin-catalog-node": "^0.0.0",
+ "@backstage/backend-plugin-api": "^0.1.0-next.0",
+ "@backstage/plugin-catalog-node": "^1.0.0-next.0",
"@backstage/types": "^1.0.0",
"@gitbeaker/core": "^35.6.0",
"@gitbeaker/node": "^35.1.0",
@@ -65,7 +65,7 @@
"jsonschema": "^1.2.6",
"knex": "^2.0.0",
"lodash": "^4.17.21",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"morgan": "^1.10.0",
"node-fetch": "^2.6.7",
"nunjucks": "^3.2.3",
@@ -80,8 +80,8 @@
"zod": "^3.11.6"
},
"devDependencies": {
- "@backstage/backend-test-utils": "^0.1.26-next.2",
- "@backstage/cli": "^0.18.0-next.2",
+ "@backstage/backend-test-utils": "^0.1.26-next.3",
+ "@backstage/cli": "^0.18.0-next.3",
"@types/command-exists": "^1.2.0",
"@types/fs-extra": "^9.0.1",
"@types/git-url-parse": "^9.0.0",
@@ -92,7 +92,7 @@
"esbuild": "^0.14.1",
"jest-when": "^3.1.0",
"mock-fs": "^5.1.0",
- "msw": "^0.43.0",
+ "msw": "^0.44.0",
"supertest": "^6.1.3",
"yaml": "^2.0.0"
},
diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts
index 06def076ea..af353bef70 100644
--- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts
+++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts
@@ -127,7 +127,22 @@ describe('fetch:template', () => {
action.handler(
mockContext({ copyWithoutRender: 'abc' as unknown as string[] }),
),
- ).rejects.toThrowError(/copyWithoutRender must be an array/i);
+ ).rejects.toThrowError(
+ /copyWithoutRender\/copyWithoutTemplating must be an array/i,
+ );
+ });
+
+ it('throws if both copyWithoutRender and copyWithoutTemplating are used', async () => {
+ await expect(() =>
+ action.handler(
+ mockContext({
+ copyWithoutRender: 'abc' as unknown as string[],
+ copyWithoutTemplating: 'def' as unknown as string[],
+ }),
+ ),
+ ).rejects.toThrowError(
+ /copyWithoutRender and copyWithoutTemplating can not be used at the same time/i,
+ );
});
it('throws if copyWithoutRender is used with extension', async () => {
@@ -139,7 +154,7 @@ describe('fetch:template', () => {
}),
),
).rejects.toThrowError(
- /input extension incompatible with copyWithoutRender and cookiecutterCompat/,
+ /input extension incompatible with copyWithoutRender\/copyWithoutTemplating and cookiecutterCompat/,
);
});
@@ -152,10 +167,103 @@ describe('fetch:template', () => {
}),
),
).rejects.toThrowError(
- /input extension incompatible with copyWithoutRender and cookiecutterCompat/,
+ /input extension incompatible with copyWithoutRender\/copyWithoutTemplating and cookiecutterCompat/,
);
});
+ describe('with optional directories / files', () => {
+ let context: ActionContext;
+
+ beforeEach(async () => {
+ context = mockContext({
+ values: {
+ showDummyFile: false,
+ skipRootDirectory: true,
+ skipSubdirectory: true,
+ skipMultiplesDirectories: true,
+ skipFileInsideDirectory: true,
+ },
+ });
+
+ mockFetchContents.mockImplementation(({ outputPath }) => {
+ mockFs({
+ ...realFiles,
+ [outputPath]: {
+ '{% if values.showDummyFile %}dummy-file.txt{% else %}{% endif %}':
+ 'dummy file',
+ '${{ "dummy-file2.txt" if values.showDummyFile else "" }}':
+ 'some dummy file',
+ '${{ "dummy-dir" if not values.skipRootDirectory else "" }}': {
+ 'file.txt': 'file inside optional directory',
+ subdir: {
+ '${{ "dummy-subdir" if not values.skipSubdirectory else "" }}':
+ 'file inside optional subdirectory',
+ },
+ },
+ subdir2: {
+ '${{ "dummy-subdir" if not values.skipMultiplesDirectories else "" }}':
+ {
+ '${{ "dummy-subdir" if not values.skipMultiplesDirectories else "" }}':
+ {
+ 'multipleDirectorySkippedFile.txt':
+ 'file inside multiple optional subdirectories',
+ },
+ },
+ },
+ subdir3: {
+ '${{ "fileSkippedInsideDirectory.txt" if not values.skipFileInsideDirectory else "" }}':
+ 'skipped file inside directory',
+ },
+ },
+ });
+
+ return Promise.resolve();
+ });
+
+ await action.handler(context);
+ });
+
+ it('skips empty filename', async () => {
+ await expect(
+ fs.pathExists(`${workspacePath}/target/dummy-file.txt`),
+ ).resolves.toEqual(false);
+ });
+
+ it('skips empty filename syntax #2', async () => {
+ await expect(
+ fs.pathExists(`${workspacePath}/target/dummy-file2.txt`),
+ ).resolves.toEqual(false);
+ });
+
+ it('skips empty directory', async () => {
+ await expect(
+ fs.pathExists(`${workspacePath}/target/dummy-dir/dummy-file3.txt`),
+ ).resolves.toEqual(false);
+ });
+
+ it('skips empty filename inside directory', async () => {
+ await expect(
+ fs.pathExists(
+ `${workspacePath}/target/subdir3/fileSkippedInsideDirectory.txt`,
+ ),
+ ).resolves.toEqual(false);
+ });
+
+ it('skips content of empty subdirectory', async () => {
+ await expect(
+ fs.pathExists(
+ `${workspacePath}/target/subdir2/multipleDirectorySkippedFile.txt`,
+ ),
+ ).resolves.toEqual(false);
+
+ await expect(
+ fs.pathExists(
+ `${workspacePath}/target/subdir2/dummy-subdir/dummy-subdir/multipleDirectorySkippedFile.txt`,
+ ),
+ ).resolves.toEqual(false);
+ });
+ });
+
describe('with valid input', () => {
let context: ActionContext;
@@ -189,11 +297,6 @@ describe('fetch:template', () => {
symlink: mockFs.symlink({
path: 'a-binary-file.png',
}),
-
- '{% if values.showDummyFile %}dummy-file.txt{% else %}{% endif %}':
- 'dummy file',
- '${{ "dummy-file2.txt" if values.showDummyFile else "" }}':
- 'some dummy file',
},
});
@@ -212,18 +315,6 @@ describe('fetch:template', () => {
);
});
- it('skips empty filename', async () => {
- await expect(
- fs.pathExists(`${workspacePath}/target/dummy-file.txt`),
- ).resolves.toEqual(false);
- });
-
- it('skips empty filename syntax #2', async () => {
- await expect(
- fs.pathExists(`${workspacePath}/target/dummy-file2.txt`),
- ).resolves.toEqual(false);
- });
-
it('copies files with no templating in names or content successfully', async () => {
await expect(
fs.readFile(`${workspacePath}/target/static.txt`, 'utf-8'),
@@ -278,60 +369,108 @@ describe('fetch:template', () => {
await expect(
fs.realpath(`${workspacePath}/target/symlink`),
- ).resolves.toBe(`${workspacePath}/target/a-binary-file.png`);
+ ).resolves.toBe(joinPath(workspacePath, 'target', 'a-binary-file.png'));
});
});
+ });
- describe('copyWithoutRender', () => {
- let context: ActionContext;
+ describe('copyWithoutRender', () => {
+ let context: ActionContext;
- beforeEach(async () => {
- context = mockContext({
- values: {
- name: 'test-project',
- count: 1234,
- },
- copyWithoutRender: ['.unprocessed'],
- });
+ beforeEach(async () => {
+ context = mockContext({
+ values: {
+ name: 'test-project',
+ count: 1234,
+ },
+ copyWithoutRender: ['.unprocessed'],
+ });
- mockFetchContents.mockImplementation(({ outputPath }) => {
- mockFs({
- ...realFiles,
- [outputPath]: {
- processed: {
- 'templated-content-${{ values.name }}.txt':
- '${{ values.count }}',
- },
- '.unprocessed': {
- 'templated-content-${{ values.name }}.txt':
- '${{ values.count }}',
- },
+ mockFetchContents.mockImplementation(({ outputPath }) => {
+ mockFs({
+ ...realFiles,
+ [outputPath]: {
+ processed: {
+ 'templated-content-${{ values.name }}.txt': '${{ values.count }}',
},
- });
-
- return Promise.resolve();
+ '.unprocessed': {
+ 'templated-content-${{ values.name }}.txt': '${{ values.count }}',
+ },
+ },
});
- await action.handler(context);
+ return Promise.resolve();
});
- it('ignores template syntax in files matched in copyWithoutRender', async () => {
- await expect(
- fs.readFile(
- `${workspacePath}/target/.unprocessed/templated-content-\${{ values.name }}.txt`,
- 'utf-8',
- ),
- ).resolves.toEqual('${{ values.count }}');
+ await action.handler(context);
+ });
+
+ it('ignores template syntax in files matched in copyWithoutRender', async () => {
+ await expect(
+ fs.readFile(
+ `${workspacePath}/target/.unprocessed/templated-content-\${{ values.name }}.txt`,
+ 'utf-8',
+ ),
+ ).resolves.toEqual('${{ values.count }}');
+ });
+
+ it('processes files not matched in copyWithoutRender', async () => {
+ await expect(
+ fs.readFile(
+ `${workspacePath}/target/processed/templated-content-test-project.txt`,
+ 'utf-8',
+ ),
+ ).resolves.toEqual('1234');
+ });
+ });
+
+ describe('copyWithoutTemplating', () => {
+ let context: ActionContext;
+
+ beforeEach(async () => {
+ context = mockContext({
+ values: {
+ name: 'test-project',
+ count: 1234,
+ },
+ copyWithoutTemplating: ['.unprocessed'],
});
- it('processes files not matched in copyWithoutRender', async () => {
- await expect(
- fs.readFile(
- `${workspacePath}/target/processed/templated-content-test-project.txt`,
- 'utf-8',
- ),
- ).resolves.toEqual('1234');
+ mockFetchContents.mockImplementation(({ outputPath }) => {
+ mockFs({
+ ...realFiles,
+ [outputPath]: {
+ processed: {
+ 'templated-content-${{ values.name }}.txt': '${{ values.count }}',
+ },
+ '.unprocessed': {
+ 'templated-content-${{ values.name }}.txt': '${{ values.count }}',
+ },
+ },
+ });
+
+ return Promise.resolve();
});
+
+ await action.handler(context);
+ });
+
+ it('renders path template and ignores content template in files matched in copyWithoutTemplating', async () => {
+ await expect(
+ fs.readFile(
+ `${workspacePath}/target/.unprocessed/templated-content-test-project.txt`,
+ 'utf-8',
+ ),
+ ).resolves.toEqual('${{ values.count }}');
+ });
+
+ it('processes files not matched in copyWithoutTemplating', async () => {
+ await expect(
+ fs.readFile(
+ `${workspacePath}/target/processed/templated-content-test-project.txt`,
+ 'utf-8',
+ ),
+ ).resolves.toEqual('1234');
});
});
diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts
index a1afabc39e..5e5b7052ed 100644
--- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts
+++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts
@@ -27,6 +27,7 @@ import {
TemplateFilter,
SecureTemplater,
} from '../../../../lib/templating/SecureTemplater';
+import path from 'path';
/**
* Downloads a skeleton, templates variables into file and directory names and content.
@@ -49,7 +50,11 @@ export function createFetchTemplateAction(options: {
templateFileExtension?: string | boolean;
// Cookiecutter compat options
+ /**
+ * @deprecated This field is deprecated in favor of copyWithoutTemplating.
+ */
copyWithoutRender?: string[];
+ copyWithoutTemplating?: string[];
cookiecutterCompat?: boolean;
}>({
id: 'fetch:template',
@@ -78,7 +83,7 @@ export function createFetchTemplateAction(options: {
type: 'object',
},
copyWithoutRender: {
- title: 'Copy Without Render',
+ title: '[Deprecated] Copy Without Render',
description:
'An array of glob patterns. Any files or directories which match are copied without being processed as templates.',
type: 'array',
@@ -86,6 +91,15 @@ export function createFetchTemplateAction(options: {
type: 'string',
},
},
+ copyWithoutTemplating: {
+ title: 'Copy Without Templating',
+ description:
+ 'An array of glob patterns. Contents of matched files or directories are copied without being processed, but paths are subject to rendering.',
+ type: 'array',
+ items: {
+ type: 'string',
+ },
+ },
cookiecutterCompat: {
title: 'Cookiecutter compatibility mode',
description:
@@ -110,22 +124,37 @@ export function createFetchTemplateAction(options: {
const targetPath = ctx.input.targetPath ?? './';
const outputDir = resolveSafeChildPath(ctx.workspacePath, targetPath);
-
- if (
- ctx.input.copyWithoutRender &&
- !Array.isArray(ctx.input.copyWithoutRender)
- ) {
+ if (ctx.input.copyWithoutRender && ctx.input.copyWithoutTemplating) {
throw new InputError(
- 'Fetch action input copyWithoutRender must be an Array',
+ 'Fetch action input copyWithoutRender and copyWithoutTemplating can not be used at the same time',
+ );
+ }
+
+ let copyOnlyPatterns: string[] | undefined;
+ let renderFilename: boolean;
+ if (ctx.input.copyWithoutRender) {
+ ctx.logger.warn(
+ '[Deprecated] Please use copyWithoutTemplating instead.',
+ );
+ copyOnlyPatterns = ctx.input.copyWithoutRender;
+ renderFilename = false;
+ } else {
+ copyOnlyPatterns = ctx.input.copyWithoutTemplating;
+ renderFilename = true;
+ }
+
+ if (copyOnlyPatterns && !Array.isArray(copyOnlyPatterns)) {
+ throw new InputError(
+ 'Fetch action input copyWithoutRender/copyWithoutTemplating must be an Array',
);
}
if (
ctx.input.templateFileExtension &&
- (ctx.input.copyWithoutRender || ctx.input.cookiecutterCompat)
+ (copyOnlyPatterns || ctx.input.cookiecutterCompat)
) {
throw new InputError(
- 'Fetch action input extension incompatible with copyWithoutRender and cookiecutterCompat',
+ 'Fetch action input extension incompatible with copyWithoutRender/copyWithoutTemplating and cookiecutterCompat',
);
}
@@ -160,7 +189,7 @@ export function createFetchTemplateAction(options: {
const nonTemplatedEntries = new Set(
(
await Promise.all(
- (ctx.input.copyWithoutRender || []).map(pattern =>
+ (copyOnlyPatterns || []).map(pattern =>
globby(pattern, {
cwd: templateDir,
dot: true,
@@ -193,26 +222,39 @@ export function createFetchTemplateAction(options: {
});
for (const location of allEntriesInTemplate) {
- let renderFilename: boolean;
let renderContents: boolean;
let localOutputPath = location;
if (extension) {
- renderFilename = true;
renderContents = extname(localOutputPath) === extension;
if (renderContents) {
localOutputPath = localOutputPath.slice(0, -extension.length);
}
- } else {
- renderFilename = renderContents = !nonTemplatedEntries.has(location);
- }
- if (renderFilename) {
+ // extension is mutual exclusive with copyWithoutRender/copyWithoutTemplating,
+ // therefore the output path is always rendered.
localOutputPath = renderTemplate(localOutputPath, context);
+ } else {
+ renderContents = !nonTemplatedEntries.has(location);
+ // The logic here is a bit tangled because it depends on two variables.
+ // If renderFilename is true, which means copyWithoutTemplating is used,
+ // then the path is always rendered.
+ // If renderFilename is false, which means copyWithoutRender is used,
+ // then matched file/directory won't be processed, same as before.
+ if (renderFilename) {
+ localOutputPath = renderTemplate(localOutputPath, context);
+ } else {
+ localOutputPath = renderContents
+ ? renderTemplate(localOutputPath, context)
+ : localOutputPath;
+ }
}
+
+ if (containsSkippedContent(localOutputPath)) {
+ continue;
+ }
+
const outputPath = resolveSafeChildPath(outputDir, localOutputPath);
- // variables have been expanded to make an empty file name
- // this is due to a conditional like if values.my_condition then file-name.txt else empty string so skip
- if (outputDir === outputPath) {
+ if (fs.existsSync(outputPath)) {
continue;
}
@@ -257,3 +299,14 @@ export function createFetchTemplateAction(options: {
},
});
}
+
+function containsSkippedContent(localOutputPath: string): boolean {
+ // if the path is absolute means that the root directory has been skipped
+ // if the path is empty means that there is a file skipped in the root
+ // if the path includes // means that there is a subdirectory skipped
+ return (
+ localOutputPath === '' ||
+ path.isAbsolute(localOutputPath) ||
+ localOutputPath.includes(`${path.sep}${path.sep}`)
+ );
+}
diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gerrit.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gerrit.test.ts
index 0b1ffe0de6..1cd1c33df6 100644
--- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gerrit.test.ts
+++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gerrit.test.ts
@@ -16,6 +16,7 @@
jest.mock('../helpers');
+import path from 'path';
import { createPublishGerritAction } from './gerrit';
import { rest } from 'msw';
import { setupServer } from 'msw/node';
@@ -62,13 +63,6 @@ describe('publish:gerrit', () => {
});
it('should throw an error when the repoUrl is not well formed', async () => {
- await expect(
- action.handler({
- ...mockContext,
- input: { repoUrl: 'gerrithost.org?workspace=w&repo=repo', description },
- }),
- ).rejects.toThrow(/missing owner/);
-
await expect(
action.handler({
...mockContext,
@@ -137,6 +131,107 @@ describe('publish:gerrit', () => {
'https://gerrithost.org/repo/+/refs/heads/master',
);
});
+
+ it('can correctly create a new project with a specific sourcePath', async () => {
+ expect.assertions(5);
+ server.use(
+ rest.put('https://gerrithost.org/a/projects/repo', (req, res, ctx) => {
+ expect(req.headers.get('Authorization')).toBe(
+ 'Basic Z2Vycml0dXNlcjp1c2VydG9rZW4=',
+ );
+ expect(req.body).toEqual({
+ create_empty_commit: false,
+ owners: ['owner'],
+ description,
+ parent: 'workspace',
+ });
+ return res(
+ ctx.status(201),
+ ctx.set('Content-Type', 'application/json'),
+ ctx.json({}),
+ );
+ }),
+ );
+
+ await action.handler({
+ ...mockContext,
+ input: {
+ ...mockContext.input,
+ repoUrl: 'gerrithost.org?workspace=workspace&owner=owner&repo=repo',
+ sourcePath: 'repository/',
+ },
+ });
+
+ expect(initRepoAndPush).toHaveBeenCalledWith({
+ dir: `${mockContext.workspacePath}${path.sep}repository${path.sep}`,
+ remoteUrl: 'https://gerrithost.org/a/repo',
+ defaultBranch: 'master',
+ auth: { username: 'gerrituser', password: 'usertoken' },
+ logger: mockContext.logger,
+ commitMessage: expect.stringContaining('initial commit\n\nChange-Id:'),
+ gitAuthorInfo: {},
+ });
+
+ expect(mockContext.output).toHaveBeenCalledWith(
+ 'remoteUrl',
+ 'https://gerrithost.org/a/repo',
+ );
+ expect(mockContext.output).toHaveBeenCalledWith(
+ 'repoContentsUrl',
+ 'https://gerrithost.org/repo/+/refs/heads/master',
+ );
+ });
+
+ it('can correctly create a new project without specifying owner', async () => {
+ expect.assertions(5);
+ server.use(
+ rest.put('https://gerrithost.org/a/projects/repo', (req, res, ctx) => {
+ expect(req.headers.get('Authorization')).toBe(
+ 'Basic Z2Vycml0dXNlcjp1c2VydG9rZW4=',
+ );
+ expect(req.body).toEqual({
+ create_empty_commit: false,
+ owners: [],
+ description,
+ parent: 'workspace',
+ });
+ return res(
+ ctx.status(201),
+ ctx.set('Content-Type', 'application/json'),
+ ctx.json({}),
+ );
+ }),
+ );
+
+ await action.handler({
+ ...mockContext,
+ input: {
+ ...mockContext.input,
+ repoUrl: 'gerrithost.org?workspace=workspace&repo=repo',
+ sourcePath: 'repository/',
+ },
+ });
+
+ expect(initRepoAndPush).toHaveBeenCalledWith({
+ dir: `${mockContext.workspacePath}/repository/`,
+ remoteUrl: 'https://gerrithost.org/a/repo',
+ defaultBranch: 'master',
+ auth: { username: 'gerrituser', password: 'usertoken' },
+ logger: mockContext.logger,
+ commitMessage: expect.stringContaining('initial commit\n\nChange-Id:'),
+ gitAuthorInfo: {},
+ });
+
+ expect(mockContext.output).toHaveBeenCalledWith(
+ 'remoteUrl',
+ 'https://gerrithost.org/a/repo',
+ );
+ expect(mockContext.output).toHaveBeenCalledWith(
+ 'repoContentsUrl',
+ 'https://gerrithost.org/repo/+/refs/heads/master',
+ );
+ });
+
afterEach(() => {
jest.resetAllMocks();
});
diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gerrit.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gerrit.ts
index 51355ec357..83653b3052 100644
--- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gerrit.ts
+++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gerrit.ts
@@ -31,7 +31,7 @@ const createGerritProject = async (
options: {
projectName: string;
parent: string;
- owner: string;
+ owner?: string;
description: string;
},
): Promise => {
@@ -42,7 +42,7 @@ const createGerritProject = async (
body: JSON.stringify({
parent,
description,
- owners: [owner],
+ owners: owner ? [owner] : [],
create_empty_commit: false,
}),
headers: {
@@ -92,6 +92,7 @@ export function createPublishGerritAction(options: {
gitCommitMessage?: string;
gitAuthorName?: string;
gitAuthorEmail?: string;
+ sourcePath?: string;
}>({
id: 'publish:gerrit',
description:
@@ -129,6 +130,11 @@ export function createPublishGerritAction(options: {
type: 'string',
description: `Sets the default author email for the commit.`,
},
+ sourcePath: {
+ title: 'Source Path',
+ type: 'string',
+ description: `Path within the workspace that will be used as the repository root. If omitted, the entire workspace will be published as the repository.`,
+ },
},
},
output: {
@@ -153,6 +159,7 @@ export function createPublishGerritAction(options: {
gitAuthorName,
gitAuthorEmail,
gitCommitMessage = 'initial commit',
+ sourcePath,
} = ctx.input;
const { repo, host, owner, workspace } = parseRepoUrl(
repoUrl,
@@ -167,11 +174,6 @@ export function createPublishGerritAction(options: {
);
}
- if (!owner) {
- throw new InputError(
- `Invalid URL provider was included in the repo URL to create ${ctx.input.repoUrl}, missing owner`,
- );
- }
if (!workspace) {
throw new InputError(
`Invalid URL provider was included in the repo URL to create ${ctx.input.repoUrl}, missing workspace`,
@@ -199,7 +201,7 @@ export function createPublishGerritAction(options: {
const remoteUrl = `${integrationConfig.config.cloneUrl}/a/${repo}`;
await initRepoAndPush({
- dir: getRepoSourceDirectory(ctx.workspacePath, undefined),
+ dir: getRepoSourceDirectory(ctx.workspacePath, sourcePath),
remoteUrl,
auth,
defaultBranch,
diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/util.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/util.ts
index 49156e7d97..fff3213cb7 100644
--- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/util.ts
+++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/util.ts
@@ -85,7 +85,7 @@ export const parseRepoUrl = (
);
}
} else {
- if (!owner) {
+ if (!owner && type !== 'gerrit') {
throw new InputError(
`Invalid repo URL passed to publisher: ${repoUrl}, missing owner`,
);
diff --git a/plugins/scaffolder/CHANGELOG.md b/plugins/scaffolder/CHANGELOG.md
index 26a08c4b68..d411c07f14 100644
--- a/plugins/scaffolder/CHANGELOG.md
+++ b/plugins/scaffolder/CHANGELOG.md
@@ -1,5 +1,25 @@
# @backstage/plugin-scaffolder
+## 1.4.0-next.3
+
+### Patch Changes
+
+- b557e6c58d: Fixed that adding more than one `allowedOwner` or `allowedRepo` in the template config will now still set the first value as default in the initial form state of `RepoUrlPicker`.
+- d600cb2ab6: contextMenu prop passed through to from the component
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 4e9a90e307: Updated dependency `luxon` to `^3.0.0`.
+- 72622d9143: Updated dependency `yaml` to `^2.0.0`.
+- 693990d4fe: Updated dependency `@react-hookz/web` to `^15.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+ - @backstage/core-components@0.10.0-next.3
+ - @backstage/catalog-client@1.0.4-next.2
+ - @backstage/integration-react@1.1.2-next.3
+ - @backstage/integration@1.2.2-next.3
+ - @backstage/catalog-model@1.1.0-next.3
+ - @backstage/plugin-catalog-react@1.1.2-next.3
+ - @backstage/plugin-permission-react@0.4.3-next.1
+
## 1.4.0-next.2
### Minor Changes
diff --git a/plugins/scaffolder/api-report.md b/plugins/scaffolder/api-report.md
index 3fa623b5b9..8485198724 100644
--- a/plugins/scaffolder/api-report.md
+++ b/plugins/scaffolder/api-report.md
@@ -169,6 +169,8 @@ export const OwnerPickerFieldExtension: FieldExtensionComponent<
// @public
export interface OwnerPickerUiOptions {
+ // (undocumented)
+ allowArbitraryValues?: boolean;
// (undocumented)
allowedKinds?: string[];
}
diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json
index ad46f47433..9766cbdb31 100644
--- a/plugins/scaffolder/package.json
+++ b/plugins/scaffolder/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-scaffolder",
"description": "The Backstage plugin that helps you create new things",
- "version": "1.4.0-next.2",
+ "version": "1.4.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -35,17 +35,17 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
- "@backstage/catalog-client": "^1.0.4-next.1",
- "@backstage/catalog-model": "^1.1.0-next.2",
+ "@backstage/catalog-client": "^1.0.4-next.2",
+ "@backstage/catalog-model": "^1.1.0-next.3",
"@backstage/config": "^1.0.1",
- "@backstage/core-components": "^0.10.0-next.2",
- "@backstage/core-plugin-api": "^1.0.3",
+ "@backstage/core-components": "^0.10.0-next.3",
+ "@backstage/core-plugin-api": "^1.0.4-next.0",
"@backstage/errors": "^1.1.0-next.0",
- "@backstage/integration": "^1.2.2-next.2",
- "@backstage/integration-react": "^1.1.2-next.2",
+ "@backstage/integration": "^1.2.2-next.3",
+ "@backstage/integration-react": "^1.1.2-next.3",
"@backstage/plugin-catalog-common": "^1.0.4-next.0",
- "@backstage/plugin-catalog-react": "^1.1.2-next.2",
- "@backstage/plugin-permission-react": "^0.4.3-next.0",
+ "@backstage/plugin-catalog-react": "^1.1.2-next.3",
+ "@backstage/plugin-permission-react": "^0.4.3-next.1",
"@backstage/plugin-scaffolder-common": "^1.1.2-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@backstage/types": "^1.0.0",
@@ -66,7 +66,7 @@
"immer": "^9.0.1",
"json-schema": "^0.4.0",
"lodash": "^4.17.21",
- "luxon": "^2.0.2",
+ "luxon": "^3.0.0",
"qs": "^6.9.4",
"react-router": "6.0.0-beta.0",
"react-router-dom": "6.0.0-beta.0",
@@ -80,11 +80,11 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
- "@backstage/cli": "^0.18.0-next.2",
- "@backstage/core-app-api": "^1.0.4-next.0",
- "@backstage/dev-utils": "^1.0.4-next.2",
- "@backstage/plugin-catalog": "^1.4.0-next.2",
- "@backstage/test-utils": "^1.1.2-next.1",
+ "@backstage/cli": "^0.18.0-next.3",
+ "@backstage/core-app-api": "^1.0.4-next.1",
+ "@backstage/dev-utils": "^1.0.4-next.3",
+ "@backstage/plugin-catalog": "^1.4.0-next.3",
+ "@backstage/test-utils": "^1.1.2-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
@@ -94,7 +94,7 @@
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
"event-source-polyfill": "1.0.25",
- "msw": "^0.43.0"
+ "msw": "^0.44.0"
},
"files": [
"dist",
diff --git a/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.tsx b/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.tsx
index a0c22b7fef..10425c17ff 100644
--- a/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.tsx
+++ b/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.tsx
@@ -25,6 +25,7 @@ import { FieldExtensionComponentProps } from '../../../extensions';
*/
export interface OwnerPickerUiOptions {
allowedKinds?: string[];
+ allowArbitraryValues?: boolean;
}
/**
@@ -50,6 +51,8 @@ export const OwnerPicker = (
'User',
]) as string[],
defaultKind: 'Group',
+ allowArbitraryValues:
+ uiSchema['ui:options']?.allowArbitraryValues ?? true,
},
};
diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.test.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.test.tsx
index 0ced19a596..fc643e7360 100644
--- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.test.tsx
+++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.test.tsx
@@ -19,6 +19,21 @@ import { BitbucketRepoPicker } from './BitbucketRepoPicker';
import { render, fireEvent } from '@testing-library/react';
describe('BitbucketRepoPicker', () => {
+ it('renders a select if there is a list of allowed owners', async () => {
+ const allowedOwners = ['owner1', 'owner2'];
+ const { findByText } = render(
+ ,
+ );
+
+ expect(await findByText('owner1')).toBeInTheDocument();
+ expect(await findByText('owner2')).toBeInTheDocument();
+ });
+
it('renders workspace input when host is bitbucket.org', () => {
const state = { host: 'bitbucket.org', workspace: 'lolsWorkspace' };
diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.tsx
index fc59398d94..38d615078d 100644
--- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.tsx
+++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.tsx
@@ -18,15 +18,20 @@ import FormControl from '@material-ui/core/FormControl';
import FormHelperText from '@material-ui/core/FormHelperText';
import Input from '@material-ui/core/Input';
import InputLabel from '@material-ui/core/InputLabel';
+import { Select, SelectItem } from '@backstage/core-components';
import { RepoUrlPickerState } from './types';
export const BitbucketRepoPicker = (props: {
+ allowedOwners?: string[];
onChange: (state: RepoUrlPickerState) => void;
state: RepoUrlPickerState;
rawErrors: string[];
}) => {
- const { onChange, rawErrors, state } = props;
+ const { allowedOwners = [], onChange, rawErrors, state } = props;
const { host, workspace, project } = state;
+ const ownerItems: SelectItem[] = allowedOwners
+ ? allowedOwners?.map(i => ({ label: i, value: i }))
+ : [];
return (
<>
{host === 'bitbucket.org' && (
@@ -35,12 +40,27 @@ export const BitbucketRepoPicker = (props: {
required
error={rawErrors?.length > 0 && !workspace}
>
- Workspace
- onChange({ workspace: e.target.value })}
- value={workspace}
- />
+ {allowedOwners?.length ? (
+