diff --git a/.changeset/afraid-mice-give.md b/.changeset/afraid-mice-give.md new file mode 100644 index 0000000000..8d6424f536 --- /dev/null +++ b/.changeset/afraid-mice-give.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend': patch +--- + +Fixed an issue where some Okta's resolvers were missing diff --git a/.changeset/angry-eagles-end.md b/.changeset/angry-eagles-end.md deleted file mode 100644 index eec1e7b710..0000000000 --- a/.changeset/angry-eagles-end.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-test-utils': patch ---- - -Added `createExtensionTester` for rendering extensions in tests. diff --git a/.changeset/angry-gorillas-unite.md b/.changeset/angry-gorillas-unite.md deleted file mode 100644 index 73d5a6c88b..0000000000 --- a/.changeset/angry-gorillas-unite.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-atlassian-provider': minor ---- - -New module for `@backstage/plugin-auth-backend` that adds an atlassian auth provider diff --git a/.changeset/angry-walls-despacito.md b/.changeset/angry-walls-despacito.md deleted file mode 100644 index f380b6df77..0000000000 --- a/.changeset/angry-walls-despacito.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-compat-api': patch ---- - -Added `convertLegacyRouteRef` utility to convert existing route refs to be used with the new experimental packages. diff --git a/.changeset/angry-walls-juggle.md b/.changeset/angry-walls-juggle.md deleted file mode 100644 index 3df4a80b28..0000000000 --- a/.changeset/angry-walls-juggle.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-plugin-api': patch ---- - -Removed the alpha `convertLegacyRouteRef` utility, which as been moved to `@backstage/core-compat-api` diff --git a/.changeset/big-ads-travel.md b/.changeset/big-ads-travel.md deleted file mode 100644 index e58feda5a0..0000000000 --- a/.changeset/big-ads-travel.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch ---- - -Add the `FrontendFeature` type, which is the union of `BackstagePlugin` and `ExtensionOverrides` diff --git a/.changeset/big-swans-guess.md b/.changeset/big-swans-guess.md deleted file mode 100644 index c2ea795b21..0000000000 --- a/.changeset/big-swans-guess.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-backstage-openapi': patch ---- - -Support authenticated backends diff --git a/.changeset/blue-meals-chew.md b/.changeset/blue-meals-chew.md deleted file mode 100644 index 479e77a982..0000000000 --- a/.changeset/blue-meals-chew.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend': patch ---- - -`oauth2-proxy` auth implementation has been moved to `@backstage/plugin-auth-backend-module-oauth2-proxy-provider` diff --git a/.changeset/brave-beers-happen.md b/.changeset/brave-beers-happen.md deleted file mode 100644 index 34bbb95666..0000000000 --- a/.changeset/brave-beers-happen.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch ---- - -Update alpha component ref type to be more specific than any, delete boot page component and use new plugin type for error boundary component extensions. diff --git a/.changeset/brave-parents-stare.md b/.changeset/brave-parents-stare.md deleted file mode 100644 index bb98799456..0000000000 --- a/.changeset/brave-parents-stare.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch -'@backstage/frontend-app-api': patch ---- - -Added the nav logo extension for customization of sidebar logo diff --git a/.changeset/brave-socks-raise.md b/.changeset/brave-socks-raise.md deleted file mode 100644 index e8df72f4f5..0000000000 --- a/.changeset/brave-socks-raise.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs-addons-test-utils': patch ---- - -Move `@testing-library/react` to be a `peerDependency` diff --git a/.changeset/breezy-houses-eat.md b/.changeset/breezy-houses-eat.md deleted file mode 100644 index 184f7ecf45..0000000000 --- a/.changeset/breezy-houses-eat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Add support for translation extensions. diff --git a/.changeset/breezy-pans-glow.md b/.changeset/breezy-pans-glow.md deleted file mode 100644 index 026465aef7..0000000000 --- a/.changeset/breezy-pans-glow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch ---- - -Added pagination support to `EntityListProvider`. diff --git a/.changeset/bright-eyes-film.md b/.changeset/bright-eyes-film.md deleted file mode 100644 index 503079ad00..0000000000 --- a/.changeset/bright-eyes-film.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-test-utils': minor ---- - -New testing utility library for `@backstage/frontend-app-api` and `@backstage/frontend-plugin-api`. diff --git a/.changeset/brown-books-carry.md b/.changeset/brown-books-carry.md deleted file mode 100644 index 1299354445..0000000000 --- a/.changeset/brown-books-carry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Create a core components extension that allows adopters to override core app components such as `Progress`, `BootErrorPage`, `NotFoundErrorPage` and `ErrorBoundaryFallback`. diff --git a/.changeset/brown-emus-explode.md b/.changeset/brown-emus-explode.md deleted file mode 100644 index 255849da46..0000000000 --- a/.changeset/brown-emus-explode.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/frontend-app-api': patch -'@backstage/core-compat-api': patch ---- - -Leverage the new `FrontendFeature` type to simplify interfaces diff --git a/.changeset/brown-planes-sort.md b/.changeset/brown-planes-sort.md new file mode 100644 index 0000000000..2291f950c0 --- /dev/null +++ b/.changeset/brown-planes-sort.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-react': patch +--- + +Scaffolder form now shows a list of errors at the top of the form. diff --git a/.changeset/chatty-actors-live.md b/.changeset/chatty-actors-live.md deleted file mode 100644 index dcf308edec..0000000000 --- a/.changeset/chatty-actors-live.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-api-docs': patch ---- - -Add dependency on `graphql-config` to compensate for `graphql-language-service` needing it but not shipping the dep properly diff --git a/.changeset/chilled-buses-love.md b/.changeset/chilled-buses-love.md deleted file mode 100644 index 6c67d3cc63..0000000000 --- a/.changeset/chilled-buses-love.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/eslint-plugin': patch ---- - -The `no-undeclared-imports` rule will now prefer using version queries that already exist en the repo for the same dependency type when installing new packages. diff --git a/.changeset/chilled-seahorses-clean.md b/.changeset/chilled-seahorses-clean.md new file mode 100644 index 0000000000..aa3ae4d062 --- /dev/null +++ b/.changeset/chilled-seahorses-clean.md @@ -0,0 +1,5 @@ +--- +'@backstage/core-components': patch +--- + +Fixed bug in Link where it was possible to select and copy a hidden element into clipboard diff --git a/.changeset/chilled-terms-breathe.md b/.changeset/chilled-terms-breathe.md deleted file mode 100644 index 654185492a..0000000000 --- a/.changeset/chilled-terms-breathe.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-common': patch ---- - -Allow a default cache TTL to be set through the app config diff --git a/.changeset/chilly-bikes-kick.md b/.changeset/chilly-bikes-kick.md deleted file mode 100644 index f5eb5380d3..0000000000 --- a/.changeset/chilly-bikes-kick.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-components': patch ---- - -Added a new `/testUtils` sub-path that initially exports a `mockBreakpoint` helper. diff --git a/.changeset/chilly-lies-collect.md b/.changeset/chilly-lies-collect.md deleted file mode 100644 index c84e6cebd4..0000000000 --- a/.changeset/chilly-lies-collect.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-oauth2-proxy-provider': patch ---- - -Exported the provider as default so it gets discovered when using `featureDiscoveryServiceFactory()` diff --git a/.changeset/clean-clouds-fry.md b/.changeset/clean-clouds-fry.md deleted file mode 100644 index 77b1c97131..0000000000 --- a/.changeset/clean-clouds-fry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Enable the `tsx` loader to work on Node 18.19 and up diff --git a/.changeset/clever-rats-smoke.md b/.changeset/clever-rats-smoke.md deleted file mode 100644 index 9374e325f2..0000000000 --- a/.changeset/clever-rats-smoke.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend-module-gitlab': patch ---- - -Extract some more actions to this library diff --git a/.changeset/clever-wombats-sneeze.md b/.changeset/clever-wombats-sneeze.md deleted file mode 100644 index ffd94aa9f0..0000000000 --- a/.changeset/clever-wombats-sneeze.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch ---- - -Create factories for overriding default core components extensions. diff --git a/.changeset/cold-pans-crash.md b/.changeset/cold-pans-crash.md deleted file mode 100644 index 85858fd270..0000000000 --- a/.changeset/cold-pans-crash.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend': patch ---- - -Migrate the atlassian auth provider to be implemented using the new `@backstage/plugin-auth-backend-module-atlassian-provider` module diff --git a/.changeset/cool-knives-argue.md b/.changeset/cool-knives-argue.md deleted file mode 100644 index 74890a0a9b..0000000000 --- a/.changeset/cool-knives-argue.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-oauth2-proxy-provider': minor ---- - -Release of `oauth2-proxy-provider` plugin diff --git a/.changeset/create-app-1700579510.md b/.changeset/create-app-1700579510.md deleted file mode 100644 index b50d431d4b..0000000000 --- a/.changeset/create-app-1700579510.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/create-app': patch ---- - -Bumped create-app version. diff --git a/.changeset/create-app-1700607979.md b/.changeset/create-app-1700607979.md deleted file mode 100644 index b50d431d4b..0000000000 --- a/.changeset/create-app-1700607979.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/create-app': patch ---- - -Bumped create-app version. diff --git a/.changeset/create-app-1702395837.md b/.changeset/create-app-1703547661.md similarity index 100% rename from .changeset/create-app-1702395837.md rename to .changeset/create-app-1703547661.md diff --git a/.changeset/curly-walls-relate.md b/.changeset/curly-walls-relate.md deleted file mode 100644 index 40cacca907..0000000000 --- a/.changeset/curly-walls-relate.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-components': patch ---- - -Add missing export for IconLinkVertical diff --git a/.changeset/dirty-turkeys-reflect.md b/.changeset/dirty-turkeys-reflect.md deleted file mode 100644 index eac601f75c..0000000000 --- a/.changeset/dirty-turkeys-reflect.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/theme': patch ---- - -Align Material UI v5 `Paper` component background color in dark mode to v4. diff --git a/.changeset/dry-readers-raise.md b/.changeset/dry-readers-raise.md deleted file mode 100644 index c13e830062..0000000000 --- a/.changeset/dry-readers-raise.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-scaffolder': patch ---- - -Added `headerOptions` to `TemplateListPage` to optionally override default values. -Changed `themeId` of TemplateListPage from `website` to `home`. diff --git a/.changeset/dull-rings-melt.md b/.changeset/dull-rings-melt.md deleted file mode 100644 index 4a42359535..0000000000 --- a/.changeset/dull-rings-melt.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-user-settings-backend': patch -'@backstage/plugin-home': patch ---- - -Change user settings backend plugin id and fix when using user setting backend home page first will cause edit page loop render diff --git a/.changeset/eighty-dodos-sing.md b/.changeset/eighty-dodos-sing.md deleted file mode 100644 index b7af0da473..0000000000 --- a/.changeset/eighty-dodos-sing.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-node': minor ---- - -Added `EntitiesSearchFilter` and `EntityFilter` from `@backstage/plugin-catalog-backend`, for reuse diff --git a/.changeset/eighty-phones-peel.md b/.changeset/eighty-phones-peel.md deleted file mode 100644 index 954553427a..0000000000 --- a/.changeset/eighty-phones-peel.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/config-loader': minor ---- - -Add "path" to `TransformFunc` context diff --git a/.changeset/eleven-ants-pretend.md b/.changeset/eleven-ants-pretend.md deleted file mode 100644 index 6b188117ba..0000000000 --- a/.changeset/eleven-ants-pretend.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-components': patch ---- - -Minor improvements to `Table` component. diff --git a/.changeset/empty-dingos-grow.md b/.changeset/empty-dingos-grow.md deleted file mode 100644 index 8a43cd210f..0000000000 --- a/.changeset/empty-dingos-grow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog': patch ---- - -Fix copy entity url function in http contexts. diff --git a/.changeset/empty-fireants-study.md b/.changeset/empty-fireants-study.md deleted file mode 100644 index 4f5508ac9b..0000000000 --- a/.changeset/empty-fireants-study.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-vmware-cloud-provider': minor ---- - -Add VMware Cloud auth backend module provider diff --git a/.changeset/empty-poets-camp.md b/.changeset/empty-poets-camp.md deleted file mode 100644 index 3e5e410ea1..0000000000 --- a/.changeset/empty-poets-camp.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-react': patch ---- - -Fix bug where `properties` is set to empty object when it should be empty for schema dependencies diff --git a/.changeset/fair-plants-attack.md b/.changeset/fair-plants-attack.md deleted file mode 100644 index 2e36ba6284..0000000000 --- a/.changeset/fair-plants-attack.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@backstage/plugin-kubernetes-react': minor -'@backstage/plugin-kubernetes': patch ---- - -Change `formatClusterLink` to be an API and make it async for further customization possibilities. - -**BREAKING** -If you have a custom k8s page and used `formatClusterLink` directly, you need to migrate to new `kubernetesClusterLinkFormatterApiRef` diff --git a/.changeset/famous-coins-glow.md b/.changeset/famous-coins-glow.md deleted file mode 100644 index 6b0372c539..0000000000 --- a/.changeset/famous-coins-glow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs-backend': patch ---- - -Regenerates a fresh token for each call to the search index when collating techdocs. diff --git a/.changeset/famous-flies-kick.md b/.changeset/famous-flies-kick.md deleted file mode 100644 index abbd18f9c3..0000000000 --- a/.changeset/famous-flies-kick.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-plugin-api': patch ---- - -The `createTranslationRef` function from the `/alpha` subpath can now also accept a nested object structure of default translation messages, which will be flatted using `.` separators. diff --git a/.changeset/famous-peas-reflect.md b/.changeset/famous-peas-reflect.md deleted file mode 100644 index c8aed3c16b..0000000000 --- a/.changeset/famous-peas-reflect.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Toned down the warning message when git is not found diff --git a/.changeset/fast-tables-hammer.md b/.changeset/fast-tables-hammer.md new file mode 100644 index 0000000000..9ed5915073 --- /dev/null +++ b/.changeset/fast-tables-hammer.md @@ -0,0 +1,7 @@ +--- +'@backstage/cli': patch +--- + +Use sha256 instead of md5 in build script cache key calculation + +Makes it possible to build on FIPS nodejs. diff --git a/.changeset/fifty-cameras-share.md b/.changeset/fifty-cameras-share.md deleted file mode 100644 index 8aa103b218..0000000000 --- a/.changeset/fifty-cameras-share.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch -'@backstage/plugin-catalog': patch ---- - -Ensure that passed-in icons are taken advantage of in the presentation API diff --git a/.changeset/fifty-seas-grab.md b/.changeset/fifty-seas-grab.md deleted file mode 100644 index 587ac5606d..0000000000 --- a/.changeset/fifty-seas-grab.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': minor ---- - -Updated core extension structure to make space for the sign-in page by adding `core.router`. diff --git a/.changeset/five-feet-call.md b/.changeset/five-feet-call.md deleted file mode 100644 index 528c21a932..0000000000 --- a/.changeset/five-feet-call.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend': patch ---- - -Update the OpenAPI spec to support the use of `openapi-generator`. diff --git a/.changeset/fluffy-bikes-laugh.md b/.changeset/fluffy-bikes-laugh.md deleted file mode 100644 index 40be65c126..0000000000 --- a/.changeset/fluffy-bikes-laugh.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': minor ---- - -Removed `featureLoader` from `createApp`, `features` instead accepts both `FrontendFeature` and `CreateAppFeatureLoader` diff --git a/.changeset/forty-clocks-hug.md b/.changeset/forty-clocks-hug.md deleted file mode 100644 index ea0fd2480f..0000000000 --- a/.changeset/forty-clocks-hug.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/catalog-client': minor ---- - -The internals of `CatalogClient` are now auto-generated using the `backstage-repo-tools schema openapi generate-client` command. diff --git a/.changeset/forty-insects-drop.md b/.changeset/forty-insects-drop.md deleted file mode 100644 index e2a94662ed..0000000000 --- a/.changeset/forty-insects-drop.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-test-utils': patch ---- - -Updates for compatibility with the new extension IDs. diff --git a/.changeset/forty-mirrors-carry.md b/.changeset/forty-mirrors-carry.md deleted file mode 100644 index d31d635329..0000000000 --- a/.changeset/forty-mirrors-carry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-test-utils': patch ---- - -Migrate `renderInTestApp` to `@backstage/frontend-test-utils` for testing individual React components in an app. diff --git a/.changeset/four-foxes-juggle.md b/.changeset/four-foxes-juggle.md deleted file mode 100644 index 13cd5f0937..0000000000 --- a/.changeset/four-foxes-juggle.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/repo-tools': patch ---- - -Includes templates in @backstage/repo-tools package and use them in the CLI diff --git a/.changeset/four-needles-watch.md b/.changeset/four-needles-watch.md deleted file mode 100644 index 9c74bce5ad..0000000000 --- a/.changeset/four-needles-watch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-bazaar': patch ---- - -Internalize 'AboutField' to break catalog dependency diff --git a/.changeset/fresh-seahorses-glow.md b/.changeset/fresh-seahorses-glow.md deleted file mode 100644 index ff42181c5d..0000000000 --- a/.changeset/fresh-seahorses-glow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-org': patch ---- - -Fix issue where members inside of `` would be rendered as squished when the card itself was shrunk down. diff --git a/.changeset/funny-bobcats-try.md b/.changeset/funny-bobcats-try.md deleted file mode 100644 index c8dd2384a6..0000000000 --- a/.changeset/funny-bobcats-try.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-react': patch ---- - -Fixed bug in `ReviewState` where `enum` value was displayed in step review instead of the corresponding label when using `enumNames` diff --git a/.changeset/funny-rings-fry.md b/.changeset/funny-rings-fry.md new file mode 100644 index 0000000000..66daec0ffb --- /dev/null +++ b/.changeset/funny-rings-fry.md @@ -0,0 +1,8 @@ +--- +'@backstage/backend-common': patch +--- + +Use sha256 instead of md5 for hash key calculation in caches + +This can have a side effect of invalidating caches (when cache key was >250 characters) +This improves compliance with FIPS nodejs diff --git a/.changeset/gentle-eggs-speak.md b/.changeset/gentle-eggs-speak.md deleted file mode 100644 index dd65eec447..0000000000 --- a/.changeset/gentle-eggs-speak.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch ---- - -Grouped all `/alpha` extension data reference exports under `catalogExtensionData`. diff --git a/.changeset/gentle-lies-greet.md b/.changeset/gentle-lies-greet.md deleted file mode 100644 index 293f0ef064..0000000000 --- a/.changeset/gentle-lies-greet.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Removed `@backstage/plugin-graphiql` dependency. diff --git a/.changeset/gentle-timers-fail.md b/.changeset/gentle-timers-fail.md deleted file mode 100644 index 3ac6e207a8..0000000000 --- a/.changeset/gentle-timers-fail.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/repo-tools': patch ---- - -Updates the `schema openapi generate-client` command to export all generated types from the generated directory. diff --git a/.changeset/giant-files-fry.md b/.changeset/giant-files-fry.md deleted file mode 100644 index b01cfbc980..0000000000 --- a/.changeset/giant-files-fry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs-addons-test-utils': patch ---- - -Remove unnecessary catalog dependency diff --git a/.changeset/giant-pets-cover.md b/.changeset/giant-pets-cover.md deleted file mode 100644 index 604f39cf8d..0000000000 --- a/.changeset/giant-pets-cover.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder': minor ---- - -Add a new git repository url picker for `gitea`. This `GiteaRepoPicker` can be used in a template to scaffold a project to be cloned using gitea. diff --git a/.changeset/gold-humans-tease.md b/.changeset/gold-humans-tease.md deleted file mode 100644 index b3b40d0a7f..0000000000 --- a/.changeset/gold-humans-tease.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch ---- - -Add feature flags to plugins and extension overrides. diff --git a/.changeset/gold-pianos-worry.md b/.changeset/gold-pianos-worry.md new file mode 100644 index 0000000000..39095dbbd7 --- /dev/null +++ b/.changeset/gold-pianos-worry.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': patch +--- + +Fixed an issue where not passing a `value` to any of the action's permission conditions caused an error. diff --git a/.changeset/gold-shirts-yell.md b/.changeset/gold-shirts-yell.md deleted file mode 100644 index ac03ce3362..0000000000 --- a/.changeset/gold-shirts-yell.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-org': patch ---- - -Support member list scrollable when parent has specified height diff --git a/.changeset/good-wolves-leave.md b/.changeset/good-wolves-leave.md deleted file mode 100644 index 51ac99a55a..0000000000 --- a/.changeset/good-wolves-leave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Use the new plugin type for error boundary components. diff --git a/.changeset/gorgeous-snails-admire.md b/.changeset/gorgeous-snails-admire.md deleted file mode 100644 index 45875ed366..0000000000 --- a/.changeset/gorgeous-snails-admire.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/repo-tools': minor ---- - -**BREAKING**: API Reports generated for sub-path exports now place the name as a suffix rather than prefix, for example `api-report-alpha.md` instead of `alpha-api-report.md`. When upgrading to this version you'll need to re-create any such API reports and delete the old ones. diff --git a/.changeset/great-rings-type.md b/.changeset/great-rings-type.md deleted file mode 100644 index 0b10c51651..0000000000 --- a/.changeset/great-rings-type.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-common': patch ---- - -Use `Readable.from` to fix some of the stream issues diff --git a/.changeset/green-seals-play.md b/.changeset/green-seals-play.md deleted file mode 100644 index 5c5a31afcd..0000000000 --- a/.changeset/green-seals-play.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Collect and register feature flags from plugins and extension overrides. diff --git a/.changeset/healthy-feet-kick.md b/.changeset/healthy-feet-kick.md deleted file mode 100644 index 732f2164c3..0000000000 --- a/.changeset/healthy-feet-kick.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-home': minor ---- - -Added view of entities grouped by kind to make it easier to distinguish entities with different kind but same name diff --git a/.changeset/healthy-poets-search.md b/.changeset/healthy-poets-search.md deleted file mode 100644 index dfd223b379..0000000000 --- a/.changeset/healthy-poets-search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch ---- - -Add default icon for kind resource. diff --git a/.changeset/hip-berries-begin.md b/.changeset/hip-berries-begin.md deleted file mode 100644 index 43d176cbcf..0000000000 --- a/.changeset/hip-berries-begin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-test-utils': patch ---- - -Updates for `core.router` addition. diff --git a/.changeset/hip-cars-repair.md b/.changeset/hip-cars-repair.md deleted file mode 100644 index de46860b03..0000000000 --- a/.changeset/hip-cars-repair.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@backstage/repo-tools': patch ---- - -The `api-reports` command now checks for api report files that no longer apply. -If it finds such files, it's treated basically the same as report errors do, and -the check fails. - -For example, if you had an `api-report-alpha.md` but then removed the alpha -export, the reports generator would now report that this file needs to be -deleted. diff --git a/.changeset/honest-houses-hide.md b/.changeset/honest-houses-hide.md deleted file mode 100644 index 7f2508184f..0000000000 --- a/.changeset/honest-houses-hide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Added a warning when starting a standalone backend plugin that hasn't been updated to the new backend system. diff --git a/.changeset/hot-wolves-flash.md b/.changeset/hot-wolves-flash.md deleted file mode 100644 index 84c4d34f37..0000000000 --- a/.changeset/hot-wolves-flash.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-react': patch ---- - -Step titles in the Stepper are now clickable and redirect the user to the corresponding step, as an alternative to using the back buttons. diff --git a/.changeset/hungry-buckets-compare.md b/.changeset/hungry-buckets-compare.md deleted file mode 100644 index c70f38bfb7..0000000000 --- a/.changeset/hungry-buckets-compare.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-app-api': patch ---- - -Ensure redaction of secrets that have accidental extra whitespace around them diff --git a/.changeset/itchy-camels-cough.md b/.changeset/itchy-camels-cough.md deleted file mode 100644 index 2ec70c945c..0000000000 --- a/.changeset/itchy-camels-cough.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-oauth2-proxy-provider': patch ---- - -Change provider id from `oauth2ProxyProvider` to `oauth2Proxy` diff --git a/.changeset/khaki-clocks-happen.md b/.changeset/khaki-clocks-happen.md deleted file mode 100644 index ac20e42dfa..0000000000 --- a/.changeset/khaki-clocks-happen.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-app-api': patch ---- - -Add redacting for secrets in stack traces of logs diff --git a/.changeset/khaki-hounds-think.md b/.changeset/khaki-hounds-think.md deleted file mode 100644 index 9c7145fc89..0000000000 --- a/.changeset/khaki-hounds-think.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-github-actions': patch ---- - -Github Workflow Runs UI is modified to show in optional Card view instead of table, with branch selection option diff --git a/.changeset/khaki-singers-film.md b/.changeset/khaki-singers-film.md deleted file mode 100644 index 0dd34f9c49..0000000000 --- a/.changeset/khaki-singers-film.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-azure-devops-backend': patch -'@backstage/plugin-azure-devops-common': patch -'@backstage/plugin-azure-devops': patch ---- - -Added multi-org support diff --git a/.changeset/kind-badgers-rush.md b/.changeset/kind-badgers-rush.md deleted file mode 100644 index 4ec19bd17b..0000000000 --- a/.changeset/kind-badgers-rush.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@backstage/backend-openapi-utils': patch -'@backstage/plugin-scaffolder-react': patch -'@backstage/plugin-catalog-react': patch -'@backstage/plugin-scaffolder': patch ---- - -Minor updates for TypeScript 5.2.2+ compatibility diff --git a/.changeset/kind-cycles-happen.md b/.changeset/kind-cycles-happen.md deleted file mode 100644 index 7ebe870d46..0000000000 --- a/.changeset/kind-cycles-happen.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/core-app-api': patch -'@backstage/cli': patch ---- - -Added deprecation warning for React Router v6 beta, please make sure you have migrated your apps to use React Router v6 stable as support for the beta version will be removed. See the [migration tutorial](https://backstage.io/docs/tutorials/react-router-stable-migration) for more information. diff --git a/.changeset/kind-eels-sing.md b/.changeset/kind-eels-sing.md deleted file mode 100644 index 3f95a62d60..0000000000 --- a/.changeset/kind-eels-sing.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': patch -'@backstage/plugin-scaffolder-node': patch ---- - -Refactor some methods to `-node` instead and use the new external modules diff --git a/.changeset/large-oranges-press.md b/.changeset/large-oranges-press.md deleted file mode 100644 index b59520bf19..0000000000 --- a/.changeset/large-oranges-press.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-catalog': patch -'@backstage/plugin-org': patch ---- - -Add permission check to catalog create and refresh button diff --git a/.changeset/large-poets-buy.md b/.changeset/large-poets-buy.md new file mode 100644 index 0000000000..f22ca7c6b8 --- /dev/null +++ b/.changeset/large-poets-buy.md @@ -0,0 +1,5 @@ +--- +'@backstage/catalog-client': patch +--- + +Fix a bug in `getLocationByRef` that led to invalid backend calls diff --git a/.changeset/large-weeks-accept.md b/.changeset/large-weeks-accept.md deleted file mode 100644 index b640c44d42..0000000000 --- a/.changeset/large-weeks-accept.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-kubernetes-react': patch ---- - -Add ID property to the table displaying kubernetes pods to avoid closing the info sidebar when the data reloads and needs to rerender. diff --git a/.changeset/late-eyes-serve.md b/.changeset/late-eyes-serve.md deleted file mode 100644 index 37d8e7a22a..0000000000 --- a/.changeset/late-eyes-serve.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend': patch ---- - -Wrap single `pipelineLoop` of TaskPipeline in a span for better traces diff --git a/.changeset/late-hats-beam.md b/.changeset/late-hats-beam.md deleted file mode 100644 index 7ba20d743a..0000000000 --- a/.changeset/late-hats-beam.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/repo-tools': patch ---- - -Fixed a bug where `schema openapi init` created an invalid test command. diff --git a/.changeset/lazy-teachers-walk.md b/.changeset/lazy-teachers-walk.md new file mode 100644 index 0000000000..92f9a63d1e --- /dev/null +++ b/.changeset/lazy-teachers-walk.md @@ -0,0 +1,5 @@ +--- +'@backstage/repo-tools': patch +--- + +Updated the OpenAPI template to export the `TypedResponse` interface so that client code can leverage it diff --git a/.changeset/light-beers-cheer.md b/.changeset/light-beers-cheer.md deleted file mode 100644 index 7d732edae8..0000000000 --- a/.changeset/light-beers-cheer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-compat-api': patch ---- - -Added `compatWrapper`, which can be used to wrap any React element to provide bi-directional interoperability between the `@backstage/core-*-api` and `@backstage/frontend-*-api` APIs. diff --git a/.changeset/little-suits-collect.md b/.changeset/little-suits-collect.md deleted file mode 100644 index 2a1eb4c833..0000000000 --- a/.changeset/little-suits-collect.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/test-utils': patch ---- - -Deprecated `mockBreakpoint`, as it is now available from `@backstage/core-components/testUtils` instead. diff --git a/.changeset/long-cycles-grow.md b/.changeset/long-cycles-grow.md deleted file mode 100644 index 4edc1905fe..0000000000 --- a/.changeset/long-cycles-grow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-lighthouse': patch ---- - -Updated README diff --git a/.changeset/long-trainers-matter.md b/.changeset/long-trainers-matter.md deleted file mode 100644 index 92daf131b4..0000000000 --- a/.changeset/long-trainers-matter.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Updating template generation for scaffolder module diff --git a/.changeset/long-wolves-return.md b/.changeset/long-wolves-return.md deleted file mode 100644 index 8d4d78792f..0000000000 --- a/.changeset/long-wolves-return.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Bringing over apis from core-plugin-api diff --git a/.changeset/lovely-terms-search.md b/.changeset/lovely-terms-search.md deleted file mode 100644 index 7590a0d5a6..0000000000 --- a/.changeset/lovely-terms-search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-tasks': patch ---- - -Allow tasks to run more often that the default work check interval, which is 5 seconds. diff --git a/.changeset/lucky-kids-cough.md b/.changeset/lucky-kids-cough.md deleted file mode 100644 index 5ab1856e35..0000000000 --- a/.changeset/lucky-kids-cough.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-catalog': patch ---- - -- Fixes bug where after unregistering an entity you are redirected to `/`. -- Adds an optional external route `unregisterRedirect` to override this behaviour to another route. diff --git a/.changeset/metal-eggs-smile.md b/.changeset/metal-eggs-smile.md deleted file mode 100644 index 1a7e86d6f0..0000000000 --- a/.changeset/metal-eggs-smile.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-okta-provider': patch ---- - -Adds okta-provider backend module for the auth plugin diff --git a/.changeset/mighty-beans-wink.md b/.changeset/mighty-beans-wink.md deleted file mode 100644 index e0623643e1..0000000000 --- a/.changeset/mighty-beans-wink.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@backstage/plugin-catalog-import': patch -'@backstage/plugin-user-settings': patch -'@backstage/plugin-tech-radar': patch -'@backstage/plugin-graphiql': patch -'@backstage/plugin-techdocs': patch -'@backstage/plugin-catalog': patch -'@backstage/plugin-search': patch ---- - -The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. diff --git a/.changeset/modern-mails-live.md b/.changeset/modern-mails-live.md deleted file mode 100644 index f8e12e8815..0000000000 --- a/.changeset/modern-mails-live.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-test-utils': patch ---- - -Re-export mock API implementations as well as `TestApiProvider`, `TestApiRegistry`, `withLogCollector`, and `setupRequestMockHandlers` from `@backstage/test-utils`. diff --git a/.changeset/nasty-rockets-bathe.md b/.changeset/nasty-rockets-bathe.md deleted file mode 100644 index 1320b000b7..0000000000 --- a/.changeset/nasty-rockets-bathe.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-compat-api': minor ---- - -Discover plugins and routes recursively beneath the root routes in `collectLecacyRoutes` diff --git a/.changeset/nasty-tips-exercise.md b/.changeset/nasty-tips-exercise.md deleted file mode 100644 index 5dd38368d4..0000000000 --- a/.changeset/nasty-tips-exercise.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': patch ---- - -Fix issue with Circular JSON dependencies in templating diff --git a/.changeset/neat-plants-dream.md b/.changeset/neat-plants-dream.md deleted file mode 100644 index f53679e5db..0000000000 --- a/.changeset/neat-plants-dream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog': patch ---- - -Internal naming updates for `/alpha` exports. diff --git a/.changeset/nervous-dancers-wait.md b/.changeset/nervous-dancers-wait.md deleted file mode 100644 index 388d995487..0000000000 --- a/.changeset/nervous-dancers-wait.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch ---- - -Added `createSignInPageExtension`. diff --git a/.changeset/nervous-ladybugs-end.md b/.changeset/nervous-ladybugs-end.md deleted file mode 100644 index 5ee94ec637..0000000000 --- a/.changeset/nervous-ladybugs-end.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend': patch ---- - -fix static token issuer not being able to initialize diff --git a/.changeset/nervous-penguins-sort.md b/.changeset/nervous-penguins-sort.md deleted file mode 100644 index 0c3ae4fcbe..0000000000 --- a/.changeset/nervous-penguins-sort.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch -'@backstage/plugin-search-react': patch -'@backstage/plugin-catalog': patch ---- - -Internal refactor of alpha exports due to a change in how extension factories are defined. diff --git a/.changeset/ninety-otters-report.md b/.changeset/ninety-otters-report.md deleted file mode 100644 index fbccc481f4..0000000000 --- a/.changeset/ninety-otters-report.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-lighthouse-backend': minor ---- - -Fixed crashes faced with custom schedule configuration. The configuration schema has been update to leverage the TaskScheduleDefinition interface. It is highly recommended to move the `lighthouse.shedule` and `lighthouse.timeout` respectively to `lighthouse.schedule.frequency` and `lighthouse.schedule.timeout`. diff --git a/.changeset/ninety-suns-accept.md b/.changeset/ninety-suns-accept.md deleted file mode 100644 index 1ee7b98987..0000000000 --- a/.changeset/ninety-suns-accept.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-common': patch ---- - -Fixed the AwsS3UrlReader host regex and host to allow the S3 reading for CN AWS domain diff --git a/.changeset/odd-bats-kick.md b/.changeset/odd-bats-kick.md deleted file mode 100644 index f43f0ebe7d..0000000000 --- a/.changeset/odd-bats-kick.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-azure-devops': patch ---- - -Added support for annotations that use a subpath for the host. Also validated that the annotations have the correct number of slashes. diff --git a/.changeset/orange-boats-hunt.md b/.changeset/orange-boats-hunt.md deleted file mode 100644 index 1a3d9b1682..0000000000 --- a/.changeset/orange-boats-hunt.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/frontend-app-api': patch -'@backstage/core-compat-api': patch ---- - -Updates to match the new extension input wrapping. diff --git a/.changeset/orange-planets-suffer.md b/.changeset/orange-planets-suffer.md new file mode 100644 index 0000000000..bc14a8cf8f --- /dev/null +++ b/.changeset/orange-planets-suffer.md @@ -0,0 +1,8 @@ +--- +'@backstage/plugin-search-backend-module-stack-overflow-collator': patch +'@backstage/plugin-search-backend-module-techdocs': patch +'@backstage/plugin-search-backend-module-catalog': patch +'@backstage/plugin-search-backend-module-explore': patch +--- + +Update wording to show that the backend system no longer is in alpha diff --git a/.changeset/perfect-apes-sing.md b/.changeset/perfect-apes-sing.md deleted file mode 100644 index fede777057..0000000000 --- a/.changeset/perfect-apes-sing.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/core-components': patch -'@backstage/plugin-catalog-react': patch -'@backstage/plugin-catalog': patch ---- - -Register component overrides in the global `OverrideComponentNameToClassKeys` provided by `@backstage/theme`. This will in turn will provide component style override types for `createUnifiedTheme`. diff --git a/.changeset/perfect-crabs-help.md b/.changeset/perfect-crabs-help.md deleted file mode 100644 index 831649ffe7..0000000000 --- a/.changeset/perfect-crabs-help.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-react': patch ---- - -Add horizontal slider if stepper overflows diff --git a/.changeset/perfect-spoons-behave.md b/.changeset/perfect-spoons-behave.md deleted file mode 100644 index cd7a024596..0000000000 --- a/.changeset/perfect-spoons-behave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -A `configLoader` passed to `createApp` now returns an object, to make room for future expansion diff --git a/.changeset/pink-dryers-repair.md b/.changeset/pink-dryers-repair.md deleted file mode 100644 index 42720c635a..0000000000 --- a/.changeset/pink-dryers-repair.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend': patch ---- - -The Okta provider implementation is moved to the new module diff --git a/.changeset/plenty-numbers-enjoy.md b/.changeset/plenty-numbers-enjoy.md deleted file mode 100644 index 5e5acbabf1..0000000000 --- a/.changeset/plenty-numbers-enjoy.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-search-react': patch ---- - -Removed `@backstage/frontend-app-api` dependency. diff --git a/.changeset/plenty-plums-talk.md b/.changeset/plenty-plums-talk.md deleted file mode 100644 index fe971d0476..0000000000 --- a/.changeset/plenty-plums-talk.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-azure-devops-backend': patch ---- - -Updated encoding of Org to use `encodeURIComponent` when building URL used to get credentials from credential provider diff --git a/.changeset/polite-crabs-build.md b/.changeset/polite-crabs-build.md deleted file mode 100644 index 5975ac3c4e..0000000000 --- a/.changeset/polite-crabs-build.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -'@backstage/plugin-catalog-import': patch -'@backstage/plugin-user-settings': patch -'@backstage/plugin-tech-radar': patch -'@backstage/plugin-graphiql': patch -'@backstage/plugin-techdocs': patch -'@backstage/plugin-catalog': patch -'@backstage/plugin-search': patch -'@backstage/plugin-home': patch ---- - -Wrap `/alpha` export extension elements in backwards compatibility wrapper. diff --git a/.changeset/polite-knives-build.md b/.changeset/polite-knives-build.md deleted file mode 100644 index 66ecbf0645..0000000000 --- a/.changeset/polite-knives-build.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -'@backstage/plugin-kubernetes-backend': minor ---- - -You can now select `single` kubernetes cluster that the entity is part-of from all your defined kubernetes clusters, by passing `backstage.io/kubernetes-cluster` annotation with the defined cluster name. - -If you do not specify the annotation by `default it fetches all` defined kubernetes cluster. - -To apply - -catalog-info.yaml - -```diff -annotations: - 'backstage.io/kubernetes-id': dice-roller - 'backstage.io/kubernetes-namespace': dice-space -+ 'backstage.io/kubernetes-cluster': dice-cluster - 'backstage.io/kubernetes-label-selector': 'app=my-app,component=front-end' -``` diff --git a/.changeset/polite-rocks-kiss.md b/.changeset/polite-rocks-kiss.md deleted file mode 100644 index 8382550620..0000000000 --- a/.changeset/polite-rocks-kiss.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -'@backstage/plugin-catalog-import': patch -'@backstage/plugin-stack-overflow': patch -'@backstage/plugin-user-settings': patch -'@backstage/plugin-search-react': patch -'@backstage/plugin-tech-radar': patch -'@backstage/plugin-graphiql': patch -'@backstage/plugin-techdocs': patch -'@backstage/plugin-explore': patch -'@backstage/plugin-search': patch -'@backstage/plugin-home': patch -'@backstage/plugin-adr': patch ---- - -Updated `/alpha` exports to fit new naming patterns. diff --git a/.changeset/poor-pandas-dream.md b/.changeset/poor-pandas-dream.md deleted file mode 100644 index 2804fa6926..0000000000 --- a/.changeset/poor-pandas-dream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Tweaked Node.js version check for when to use the new module register API with the new backend `package start` command. diff --git a/.changeset/pre.json b/.changeset/pre.json index e6a57efb1f..ff1387ba09 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -2,452 +2,281 @@ "mode": "pre", "tag": "next", "initialVersions": { - "example-app": "0.2.89", - "@backstage/app-defaults": "1.4.5", - "example-app-next": "0.0.3", - "app-next-example-plugin": "0.0.3", - "example-backend": "0.2.89", - "@backstage/backend-app-api": "0.5.8", - "@backstage/backend-common": "0.19.9", - "@backstage/backend-defaults": "0.2.7", + "example-app": "0.2.90", + "@backstage/app-defaults": "1.4.6", + "example-app-next": "0.0.4", + "app-next-example-plugin": "0.0.4", + "example-backend": "0.2.90", + "@backstage/backend-app-api": "0.5.9", + "@backstage/backend-common": "0.20.0", + "@backstage/backend-defaults": "0.2.8", "@backstage/backend-dev-utils": "0.1.2", - "example-backend-next": "0.0.17", - "@backstage/backend-openapi-utils": "0.1.0", - "@backstage/backend-plugin-api": "0.6.7", - "@backstage/backend-plugin-manager": "0.0.3", - "@backstage/backend-tasks": "0.5.12", - "@backstage/backend-test-utils": "0.2.8", - "@backstage/catalog-client": "1.4.6", + "example-backend-next": "0.0.18", + "@backstage/backend-openapi-utils": "0.1.1", + "@backstage/backend-plugin-api": "0.6.8", + "@backstage/backend-plugin-manager": "0.0.4", + "@backstage/backend-tasks": "0.5.13", + "@backstage/backend-test-utils": "0.2.9", + "@backstage/catalog-client": "1.5.0", "@backstage/catalog-model": "1.4.3", - "@backstage/cli": "0.24.0", + "@backstage/cli": "0.25.0", "@backstage/cli-common": "0.1.13", - "@backstage/cli-node": "0.2.0", + "@backstage/cli-node": "0.2.1", "@backstage/codemods": "0.1.46", "@backstage/config": "1.1.1", - "@backstage/config-loader": "1.5.3", - "@backstage/core-app-api": "1.11.1", - "@backstage/core-compat-api": "0.0.1", - "@backstage/core-components": "0.13.8", - "@backstage/core-plugin-api": "1.8.0", - "@backstage/create-app": "0.5.7", - "@backstage/dev-utils": "1.0.23", - "e2e-test": "0.2.9", + "@backstage/config-loader": "1.6.0", + "@backstage/core-app-api": "1.11.2", + "@backstage/core-compat-api": "0.1.0", + "@backstage/core-components": "0.13.9", + "@backstage/core-plugin-api": "1.8.1", + "@backstage/create-app": "0.5.8", + "@backstage/dev-utils": "1.0.25", + "e2e-test": "0.2.10", "@backstage/e2e-test-utils": "0.1.0", "@backstage/errors": "1.2.3", - "@backstage/eslint-plugin": "0.1.3", - "@backstage/frontend-app-api": "0.3.0", - "@backstage/frontend-plugin-api": "0.3.0", - "@backstage/integration": "1.7.2", + "@backstage/eslint-plugin": "0.1.4", + "@backstage/frontend-app-api": "0.4.0", + "@backstage/frontend-plugin-api": "0.4.0", + "@backstage/frontend-test-utils": "0.1.0", + "@backstage/integration": "1.8.0", "@backstage/integration-aws-node": "0.1.8", - "@backstage/integration-react": "1.1.21", + "@backstage/integration-react": "1.1.22", "@backstage/release-manifests": "0.0.11", - "@backstage/repo-tools": "0.4.0", - "@techdocs/cli": "1.7.0", - "techdocs-cli-embedded-app": "0.2.88", - "@backstage/test-utils": "1.4.5", - "@backstage/theme": "0.4.4", + "@backstage/repo-tools": "0.5.0", + "@techdocs/cli": "1.8.0", + "techdocs-cli-embedded-app": "0.2.89", + "@backstage/test-utils": "1.4.6", + "@backstage/theme": "0.5.0", "@backstage/types": "1.1.1", "@backstage/version-bridge": "1.0.7", - "@backstage/plugin-adr": "0.6.9", - "@backstage/plugin-adr-backend": "0.4.4", - "@backstage/plugin-adr-common": "0.2.17", - "@backstage/plugin-airbrake": "0.3.26", - "@backstage/plugin-airbrake-backend": "0.3.4", - "@backstage/plugin-allure": "0.1.42", - "@backstage/plugin-analytics-module-ga": "0.1.35", - "@backstage/plugin-analytics-module-ga4": "0.1.6", - "@backstage/plugin-analytics-module-newrelic-browser": "0.0.4", - "@backstage/plugin-apache-airflow": "0.2.17", - "@backstage/plugin-api-docs": "0.10.0", + "@backstage/plugin-adr": "0.6.11", + "@backstage/plugin-adr-backend": "0.4.5", + "@backstage/plugin-adr-common": "0.2.18", + "@backstage/plugin-airbrake": "0.3.28", + "@backstage/plugin-airbrake-backend": "0.3.5", + "@backstage/plugin-allure": "0.1.44", + "@backstage/plugin-analytics-module-ga": "0.1.36", + "@backstage/plugin-analytics-module-ga4": "0.1.7", + "@backstage/plugin-analytics-module-newrelic-browser": "0.0.5", + "@backstage/plugin-apache-airflow": "0.2.18", + "@backstage/plugin-api-docs": "0.10.2", "@backstage/plugin-api-docs-module-protoc-gen-doc": "0.1.5", - "@backstage/plugin-apollo-explorer": "0.1.17", - "@backstage/plugin-app-backend": "0.3.55", - "@backstage/plugin-app-node": "0.1.7", - "@backstage/plugin-auth-backend": "0.20.0", - "@backstage/plugin-auth-backend-module-gcp-iap-provider": "0.2.1", - "@backstage/plugin-auth-backend-module-github-provider": "0.1.4", - "@backstage/plugin-auth-backend-module-gitlab-provider": "0.1.4", - "@backstage/plugin-auth-backend-module-google-provider": "0.1.4", - "@backstage/plugin-auth-backend-module-microsoft-provider": "0.1.2", - "@backstage/plugin-auth-backend-module-oauth2-provider": "0.1.4", - "@backstage/plugin-auth-backend-module-pinniped-provider": "0.1.1", - "@backstage/plugin-auth-node": "0.4.1", - "@backstage/plugin-azure-devops": "0.3.8", - "@backstage/plugin-azure-devops-backend": "0.4.4", - "@backstage/plugin-azure-devops-common": "0.3.1", - "@backstage/plugin-azure-sites": "0.1.15", - "@backstage/plugin-azure-sites-backend": "0.1.17", + "@backstage/plugin-apollo-explorer": "0.1.18", + "@backstage/plugin-app-backend": "0.3.56", + "@backstage/plugin-app-node": "0.1.8", + "@backstage/plugin-auth-backend": "0.20.1", + "@backstage/plugin-auth-backend-module-atlassian-provider": "0.1.0", + "@backstage/plugin-auth-backend-module-gcp-iap-provider": "0.2.2", + "@backstage/plugin-auth-backend-module-github-provider": "0.1.5", + "@backstage/plugin-auth-backend-module-gitlab-provider": "0.1.5", + "@backstage/plugin-auth-backend-module-google-provider": "0.1.5", + "@backstage/plugin-auth-backend-module-microsoft-provider": "0.1.3", + "@backstage/plugin-auth-backend-module-oauth2-provider": "0.1.5", + "@backstage/plugin-auth-backend-module-oauth2-proxy-provider": "0.1.0", + "@backstage/plugin-auth-backend-module-okta-provider": "0.0.1", + "@backstage/plugin-auth-backend-module-pinniped-provider": "0.1.2", + "@backstage/plugin-auth-backend-module-vmware-cloud-provider": "0.1.0", + "@backstage/plugin-auth-node": "0.4.2", + "@backstage/plugin-azure-devops": "0.3.10", + "@backstage/plugin-azure-devops-backend": "0.5.0", + "@backstage/plugin-azure-devops-common": "0.3.2", + "@backstage/plugin-azure-sites": "0.1.17", + "@backstage/plugin-azure-sites-backend": "0.1.18", "@backstage/plugin-azure-sites-common": "0.1.1", - "@backstage/plugin-badges": "0.2.50", - "@backstage/plugin-badges-backend": "0.3.4", - "@backstage/plugin-bazaar": "0.2.18", - "@backstage/plugin-bazaar-backend": "0.3.5", - "@backstage/plugin-bitbucket-cloud-common": "0.2.14", - "@backstage/plugin-bitrise": "0.1.53", - "@backstage/plugin-catalog": "1.15.0", - "@backstage/plugin-catalog-backend": "1.15.0", - "@backstage/plugin-catalog-backend-module-aws": "0.3.1", - "@backstage/plugin-catalog-backend-module-azure": "0.1.26", - "@backstage/plugin-catalog-backend-module-backstage-openapi": "0.1.0", - "@backstage/plugin-catalog-backend-module-bitbucket": "0.2.22", - "@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.1.22", - "@backstage/plugin-catalog-backend-module-bitbucket-server": "0.1.20", - "@backstage/plugin-catalog-backend-module-gcp": "0.1.7", - "@backstage/plugin-catalog-backend-module-gerrit": "0.1.23", - "@backstage/plugin-catalog-backend-module-github": "0.4.5", - "@backstage/plugin-catalog-backend-module-github-org": "0.1.1", - "@backstage/plugin-catalog-backend-module-gitlab": "0.3.4", - "@backstage/plugin-catalog-backend-module-incremental-ingestion": "0.4.11", - "@backstage/plugin-catalog-backend-module-ldap": "0.5.22", - "@backstage/plugin-catalog-backend-module-msgraph": "0.5.14", - "@backstage/plugin-catalog-backend-module-openapi": "0.1.24", - "@backstage/plugin-catalog-backend-module-puppetdb": "0.1.12", - "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "0.1.4", - "@backstage/plugin-catalog-backend-module-unprocessed": "0.3.4", - "@backstage/plugin-catalog-common": "1.0.18", - "@backstage/plugin-catalog-graph": "0.3.0", - "@backstage/plugin-catalog-import": "0.10.2", - "@backstage/plugin-catalog-node": "1.5.0", - "@backstage/plugin-catalog-react": "1.9.0", - "@backstage/plugin-catalog-unprocessed-entities": "0.1.5", - "@backstage/plugin-cicd-statistics": "0.1.28", - "@backstage/plugin-cicd-statistics-module-gitlab": "0.1.22", - "@backstage/plugin-circleci": "0.3.26", - "@backstage/plugin-cloudbuild": "0.3.26", - "@backstage/plugin-code-climate": "0.1.26", - "@backstage/plugin-code-coverage": "0.2.19", - "@backstage/plugin-code-coverage-backend": "0.2.21", - "@backstage/plugin-codescene": "0.1.19", - "@backstage/plugin-config-schema": "0.1.47", - "@backstage/plugin-cost-insights": "0.12.15", + "@backstage/plugin-badges": "0.2.52", + "@backstage/plugin-badges-backend": "0.3.5", + "@backstage/plugin-bazaar": "0.2.20", + "@backstage/plugin-bazaar-backend": "0.3.6", + "@backstage/plugin-bitbucket-cloud-common": "0.2.15", + "@backstage/plugin-bitrise": "0.1.55", + "@backstage/plugin-catalog": "1.16.0", + "@backstage/plugin-catalog-backend": "1.16.0", + "@backstage/plugin-catalog-backend-module-aws": "0.3.2", + "@backstage/plugin-catalog-backend-module-azure": "0.1.27", + "@backstage/plugin-catalog-backend-module-backstage-openapi": "0.1.1", + "@backstage/plugin-catalog-backend-module-bitbucket": "0.2.23", + "@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.1.23", + "@backstage/plugin-catalog-backend-module-bitbucket-server": "0.1.21", + "@backstage/plugin-catalog-backend-module-gcp": "0.1.8", + "@backstage/plugin-catalog-backend-module-gerrit": "0.1.24", + "@backstage/plugin-catalog-backend-module-github": "0.4.6", + "@backstage/plugin-catalog-backend-module-github-org": "0.1.2", + "@backstage/plugin-catalog-backend-module-gitlab": "0.3.5", + "@backstage/plugin-catalog-backend-module-incremental-ingestion": "0.4.12", + "@backstage/plugin-catalog-backend-module-ldap": "0.5.23", + "@backstage/plugin-catalog-backend-module-msgraph": "0.5.15", + "@backstage/plugin-catalog-backend-module-openapi": "0.1.25", + "@backstage/plugin-catalog-backend-module-puppetdb": "0.1.13", + "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "0.1.5", + "@backstage/plugin-catalog-backend-module-unprocessed": "0.3.5", + "@backstage/plugin-catalog-common": "1.0.19", + "@backstage/plugin-catalog-graph": "0.3.2", + "@backstage/plugin-catalog-import": "0.10.4", + "@backstage/plugin-catalog-node": "1.6.0", + "@backstage/plugin-catalog-react": "1.9.2", + "@backstage/plugin-catalog-unprocessed-entities": "0.1.6", + "@backstage/plugin-cicd-statistics": "0.1.30", + "@backstage/plugin-cicd-statistics-module-gitlab": "0.1.24", + "@backstage/plugin-circleci": "0.3.28", + "@backstage/plugin-cloudbuild": "0.3.28", + "@backstage/plugin-code-climate": "0.1.28", + "@backstage/plugin-code-coverage": "0.2.21", + "@backstage/plugin-code-coverage-backend": "0.2.22", + "@backstage/plugin-codescene": "0.1.20", + "@backstage/plugin-config-schema": "0.1.48", + "@backstage/plugin-cost-insights": "0.12.17", "@backstage/plugin-cost-insights-common": "0.1.2", - "@backstage/plugin-devtools": "0.1.6", - "@backstage/plugin-devtools-backend": "0.2.4", - "@backstage/plugin-devtools-common": "0.1.6", - "@backstage/plugin-dynatrace": "8.0.0", - "@backstage/plugin-entity-feedback": "0.2.9", - "@backstage/plugin-entity-feedback-backend": "0.2.4", + "@backstage/plugin-devtools": "0.1.7", + "@backstage/plugin-devtools-backend": "0.2.5", + "@backstage/plugin-devtools-common": "0.1.7", + "@backstage/plugin-dynatrace": "8.0.2", + "@backstage/plugin-entity-feedback": "0.2.11", + "@backstage/plugin-entity-feedback-backend": "0.2.5", "@backstage/plugin-entity-feedback-common": "0.1.3", - "@backstage/plugin-entity-validation": "0.1.11", - "@backstage/plugin-events-backend": "0.2.16", - "@backstage/plugin-events-backend-module-aws-sqs": "0.2.10", - "@backstage/plugin-events-backend-module-azure": "0.1.17", - "@backstage/plugin-events-backend-module-bitbucket-cloud": "0.1.17", - "@backstage/plugin-events-backend-module-gerrit": "0.1.17", - "@backstage/plugin-events-backend-module-github": "0.1.17", - "@backstage/plugin-events-backend-module-gitlab": "0.1.17", - "@backstage/plugin-events-backend-test-utils": "0.1.17", - "@backstage/plugin-events-node": "0.2.16", - "@internal/plugin-todo-list": "1.0.19", - "@internal/plugin-todo-list-backend": "1.0.19", - "@internal/plugin-todo-list-common": "1.0.15", - "@backstage/plugin-explore": "0.4.12", - "@backstage/plugin-explore-backend": "0.0.17", + "@backstage/plugin-entity-validation": "0.1.13", + "@backstage/plugin-events-backend": "0.2.17", + "@backstage/plugin-events-backend-module-aws-sqs": "0.2.11", + "@backstage/plugin-events-backend-module-azure": "0.1.18", + "@backstage/plugin-events-backend-module-bitbucket-cloud": "0.1.18", + "@backstage/plugin-events-backend-module-gerrit": "0.1.18", + "@backstage/plugin-events-backend-module-github": "0.1.18", + "@backstage/plugin-events-backend-module-gitlab": "0.1.18", + "@backstage/plugin-events-backend-test-utils": "0.1.18", + "@backstage/plugin-events-node": "0.2.17", + "@internal/plugin-todo-list": "1.0.20", + "@internal/plugin-todo-list-backend": "1.0.20", + "@internal/plugin-todo-list-common": "1.0.16", + "@backstage/plugin-explore": "0.4.14", + "@backstage/plugin-explore-backend": "0.0.18", "@backstage/plugin-explore-common": "0.0.2", - "@backstage/plugin-explore-react": "0.0.33", - "@backstage/plugin-firehydrant": "0.2.10", - "@backstage/plugin-fossa": "0.2.58", - "@backstage/plugin-gcalendar": "0.3.20", - "@backstage/plugin-gcp-projects": "0.3.43", - "@backstage/plugin-git-release-manager": "0.3.39", - "@backstage/plugin-github-actions": "0.6.7", - "@backstage/plugin-github-deployments": "0.1.57", - "@backstage/plugin-github-issues": "0.2.15", - "@backstage/plugin-github-pull-requests-board": "0.1.20", - "@backstage/plugin-gitops-profiles": "0.3.42", - "@backstage/plugin-gocd": "0.1.32", - "@backstage/plugin-graphiql": "0.3.0", - "@backstage/plugin-graphql-voyager": "0.1.9", - "@backstage/plugin-home": "0.5.10", - "@backstage/plugin-home-react": "0.1.5", - "@backstage/plugin-ilert": "0.2.15", - "@backstage/plugin-jenkins": "0.9.1", - "@backstage/plugin-jenkins-backend": "0.3.1", - "@backstage/plugin-jenkins-common": "0.1.21", - "@backstage/plugin-kafka": "0.3.26", - "@backstage/plugin-kafka-backend": "0.3.5", - "@backstage/plugin-kubernetes": "0.11.1", - "@backstage/plugin-kubernetes-backend": "0.13.1", - "@backstage/plugin-kubernetes-cluster": "0.0.2", - "@backstage/plugin-kubernetes-common": "0.7.1", - "@backstage/plugin-kubernetes-node": "0.1.1", - "@backstage/plugin-kubernetes-react": "0.1.1", - "@backstage/plugin-lighthouse": "0.4.11", - "@backstage/plugin-lighthouse-backend": "0.3.4", + "@backstage/plugin-explore-react": "0.0.34", + "@backstage/plugin-firehydrant": "0.2.12", + "@backstage/plugin-fossa": "0.2.60", + "@backstage/plugin-gcalendar": "0.3.21", + "@backstage/plugin-gcp-projects": "0.3.44", + "@backstage/plugin-git-release-manager": "0.3.40", + "@backstage/plugin-github-actions": "0.6.9", + "@backstage/plugin-github-deployments": "0.1.59", + "@backstage/plugin-github-issues": "0.2.17", + "@backstage/plugin-github-pull-requests-board": "0.1.22", + "@backstage/plugin-gitops-profiles": "0.3.43", + "@backstage/plugin-gocd": "0.1.34", + "@backstage/plugin-graphiql": "0.3.1", + "@backstage/plugin-graphql-voyager": "0.1.10", + "@backstage/plugin-home": "0.6.0", + "@backstage/plugin-home-react": "0.1.6", + "@backstage/plugin-ilert": "0.2.17", + "@backstage/plugin-jenkins": "0.9.3", + "@backstage/plugin-jenkins-backend": "0.3.2", + "@backstage/plugin-jenkins-common": "0.1.22", + "@backstage/plugin-kafka": "0.3.28", + "@backstage/plugin-kafka-backend": "0.3.6", + "@backstage/plugin-kubernetes": "0.11.3", + "@backstage/plugin-kubernetes-backend": "0.14.0", + "@backstage/plugin-kubernetes-cluster": "0.0.4", + "@backstage/plugin-kubernetes-common": "0.7.2", + "@backstage/plugin-kubernetes-node": "0.1.2", + "@backstage/plugin-kubernetes-react": "0.2.0", + "@backstage/plugin-lighthouse": "0.4.13", + "@backstage/plugin-lighthouse-backend": "0.4.0", "@backstage/plugin-lighthouse-common": "0.1.4", - "@backstage/plugin-linguist": "0.1.11", - "@backstage/plugin-linguist-backend": "0.5.4", + "@backstage/plugin-linguist": "0.1.13", + "@backstage/plugin-linguist-backend": "0.5.5", "@backstage/plugin-linguist-common": "0.1.2", - "@backstage/plugin-microsoft-calendar": "0.1.9", - "@backstage/plugin-newrelic": "0.3.42", - "@backstage/plugin-newrelic-dashboard": "0.3.1", - "@backstage/plugin-nomad": "0.1.7", - "@backstage/plugin-nomad-backend": "0.1.9", - "@backstage/plugin-octopus-deploy": "0.2.8", - "@backstage/plugin-opencost": "0.2.2", - "@backstage/plugin-org": "0.6.16", - "@backstage/plugin-org-react": "0.1.15", - "@backstage/plugin-pagerduty": "0.6.7", - "@backstage/plugin-periskop": "0.1.24", - "@backstage/plugin-periskop-backend": "0.2.5", - "@backstage/plugin-permission-backend": "0.5.30", - "@backstage/plugin-permission-backend-module-allow-all-policy": "0.1.4", - "@backstage/plugin-permission-common": "0.7.10", - "@backstage/plugin-permission-node": "0.7.18", - "@backstage/plugin-permission-react": "0.4.17", - "@backstage/plugin-playlist": "0.2.0", - "@backstage/plugin-playlist-backend": "0.3.11", - "@backstage/plugin-playlist-common": "0.1.12", - "@backstage/plugin-proxy-backend": "0.4.5", - "@backstage/plugin-puppetdb": "0.1.9", - "@backstage/plugin-rollbar": "0.4.26", - "@backstage/plugin-rollbar-backend": "0.1.52", - "@backstage/plugin-scaffolder": "1.16.0", - "@backstage/plugin-scaffolder-backend": "1.19.0", - "@backstage/plugin-scaffolder-backend-module-confluence-to-markdown": "0.2.8", - "@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.2.31", - "@backstage/plugin-scaffolder-backend-module-gitlab": "0.2.10", - "@backstage/plugin-scaffolder-backend-module-rails": "0.4.24", - "@backstage/plugin-scaffolder-backend-module-sentry": "0.1.15", - "@backstage/plugin-scaffolder-backend-module-yeoman": "0.2.28", - "@backstage/plugin-scaffolder-common": "1.4.3", - "@backstage/plugin-scaffolder-node": "0.2.8", - "@backstage/plugin-scaffolder-react": "1.6.0", - "@backstage/plugin-search": "1.4.2", - "@backstage/plugin-search-backend": "1.4.7", - "@backstage/plugin-search-backend-module-catalog": "0.1.11", - "@backstage/plugin-search-backend-module-elasticsearch": "1.3.10", - "@backstage/plugin-search-backend-module-explore": "0.1.11", - "@backstage/plugin-search-backend-module-pg": "0.5.16", - "@backstage/plugin-search-backend-module-stack-overflow-collator": "0.1.0", - "@backstage/plugin-search-backend-module-techdocs": "0.1.11", - "@backstage/plugin-search-backend-node": "1.2.11", - "@backstage/plugin-search-common": "1.2.8", - "@backstage/plugin-search-react": "1.7.2", - "@backstage/plugin-sentry": "0.5.11", - "@backstage/plugin-shortcuts": "0.3.16", - "@backstage/plugin-sonarqube": "0.7.8", - "@backstage/plugin-sonarqube-backend": "0.2.9", - "@backstage/plugin-sonarqube-react": "0.1.10", - "@backstage/plugin-splunk-on-call": "0.4.15", - "@backstage/plugin-stack-overflow": "0.1.22", - "@backstage/plugin-stack-overflow-backend": "0.2.11", - "@backstage/plugin-stackstorm": "0.1.8", - "@backstage/plugin-tech-insights": "0.3.18", - "@backstage/plugin-tech-insights-backend": "0.5.21", - "@backstage/plugin-tech-insights-backend-module-jsonfc": "0.1.39", + "@backstage/plugin-microsoft-calendar": "0.1.10", + "@backstage/plugin-newrelic": "0.3.43", + "@backstage/plugin-newrelic-dashboard": "0.3.3", + "@backstage/plugin-nomad": "0.1.9", + "@backstage/plugin-nomad-backend": "0.1.10", + "@backstage/plugin-octopus-deploy": "0.2.10", + "@backstage/plugin-opencost": "0.2.3", + "@backstage/plugin-org": "0.6.18", + "@backstage/plugin-org-react": "0.1.17", + "@backstage/plugin-pagerduty": "0.7.0", + "@backstage/plugin-periskop": "0.1.26", + "@backstage/plugin-periskop-backend": "0.2.6", + "@backstage/plugin-permission-backend": "0.5.31", + "@backstage/plugin-permission-backend-module-allow-all-policy": "0.1.5", + "@backstage/plugin-permission-common": "0.7.11", + "@backstage/plugin-permission-node": "0.7.19", + "@backstage/plugin-permission-react": "0.4.18", + "@backstage/plugin-playlist": "0.2.2", + "@backstage/plugin-playlist-backend": "0.3.12", + "@backstage/plugin-playlist-common": "0.1.13", + "@backstage/plugin-proxy-backend": "0.4.6", + "@backstage/plugin-puppetdb": "0.1.11", + "@backstage/plugin-rollbar": "0.4.28", + "@backstage/plugin-rollbar-backend": "0.1.53", + "@backstage/plugin-scaffolder": "1.17.0", + "@backstage/plugin-scaffolder-backend": "1.19.2", + "@backstage/plugin-scaffolder-backend-module-azure": "0.1.0", + "@backstage/plugin-scaffolder-backend-module-bitbucket": "0.1.0", + "@backstage/plugin-scaffolder-backend-module-confluence-to-markdown": "0.2.9", + "@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.2.32", + "@backstage/plugin-scaffolder-backend-module-gerrit": "0.1.0", + "@backstage/plugin-scaffolder-backend-module-github": "0.1.0", + "@backstage/plugin-scaffolder-backend-module-gitlab": "0.2.11", + "@backstage/plugin-scaffolder-backend-module-rails": "0.4.25", + "@backstage/plugin-scaffolder-backend-module-sentry": "0.1.16", + "@backstage/plugin-scaffolder-backend-module-yeoman": "0.2.29", + "@backstage/plugin-scaffolder-common": "1.4.4", + "@backstage/plugin-scaffolder-node": "0.2.9", + "@backstage/plugin-scaffolder-react": "1.7.0", + "@backstage/plugin-search": "1.4.4", + "@backstage/plugin-search-backend": "1.4.8", + "@backstage/plugin-search-backend-module-catalog": "0.1.12", + "@backstage/plugin-search-backend-module-elasticsearch": "1.3.11", + "@backstage/plugin-search-backend-module-explore": "0.1.12", + "@backstage/plugin-search-backend-module-pg": "0.5.17", + "@backstage/plugin-search-backend-module-stack-overflow-collator": "0.1.1", + "@backstage/plugin-search-backend-module-techdocs": "0.1.12", + "@backstage/plugin-search-backend-node": "1.2.12", + "@backstage/plugin-search-common": "1.2.9", + "@backstage/plugin-search-react": "1.7.4", + "@backstage/plugin-sentry": "0.5.13", + "@backstage/plugin-shortcuts": "0.3.17", + "@backstage/plugin-sonarqube": "0.7.10", + "@backstage/plugin-sonarqube-backend": "0.2.10", + "@backstage/plugin-sonarqube-react": "0.1.11", + "@backstage/plugin-splunk-on-call": "0.4.17", + "@backstage/plugin-stack-overflow": "0.1.23", + "@backstage/plugin-stack-overflow-backend": "0.2.12", + "@backstage/plugin-stackstorm": "0.1.9", + "@backstage/plugin-tech-insights": "0.3.20", + "@backstage/plugin-tech-insights-backend": "0.5.22", + "@backstage/plugin-tech-insights-backend-module-jsonfc": "0.1.40", "@backstage/plugin-tech-insights-common": "0.2.12", - "@backstage/plugin-tech-insights-node": "0.4.13", - "@backstage/plugin-tech-radar": "0.6.10", - "@backstage/plugin-techdocs": "1.9.0", - "@backstage/plugin-techdocs-addons-test-utils": "1.0.23", - "@backstage/plugin-techdocs-backend": "1.9.0", - "@backstage/plugin-techdocs-module-addons-contrib": "1.1.2", - "@backstage/plugin-techdocs-node": "1.10.0", - "@backstage/plugin-techdocs-react": "1.1.13", - "@backstage/plugin-todo": "0.2.30", - "@backstage/plugin-todo-backend": "0.3.5", - "@backstage/plugin-user-settings": "0.7.12", - "@backstage/plugin-user-settings-backend": "0.2.6", - "@backstage/plugin-vault": "0.1.21", - "@backstage/plugin-vault-backend": "0.4.0", - "@backstage/plugin-vault-node": "0.1.0", - "@backstage/plugin-xcmetrics": "0.2.45", - "@backstage/frontend-test-utils": "0.0.0", - "@backstage/plugin-auth-backend-module-atlassian-provider": "0.0.0", - "@backstage/plugin-auth-backend-module-okta-provider": "0.0.0", - "@backstage/plugin-auth-backend-module-oauth2-proxy-provider": "0.0.0", - "@backstage/plugin-auth-backend-module-vmware-cloud-provider": "0.0.0", - "@backstage/plugin-scaffolder-backend-module-azure": "0.0.0", - "@backstage/plugin-scaffolder-backend-module-bitbucket": "0.0.0", - "@backstage/plugin-scaffolder-backend-module-gerrit": "0.0.0", - "@backstage/plugin-scaffolder-backend-module-github": "0.0.0" + "@backstage/plugin-tech-insights-node": "0.4.14", + "@backstage/plugin-tech-radar": "0.6.11", + "@backstage/plugin-techdocs": "1.9.2", + "@backstage/plugin-techdocs-addons-test-utils": "1.0.25", + "@backstage/plugin-techdocs-backend": "1.9.1", + "@backstage/plugin-techdocs-module-addons-contrib": "1.1.3", + "@backstage/plugin-techdocs-node": "1.11.0", + "@backstage/plugin-techdocs-react": "1.1.14", + "@backstage/plugin-todo": "0.2.32", + "@backstage/plugin-todo-backend": "0.3.6", + "@backstage/plugin-user-settings": "0.7.14", + "@backstage/plugin-user-settings-backend": "0.2.7", + "@backstage/plugin-vault": "0.1.23", + "@backstage/plugin-vault-backend": "0.4.1", + "@backstage/plugin-vault-node": "0.1.1", + "@backstage/plugin-visualizer": "0.0.1", + "@backstage/plugin-xcmetrics": "0.2.46" }, "changesets": [ - "angry-eagles-end", - "angry-gorillas-unite", - "angry-walls-despacito", - "angry-walls-juggle", - "big-swans-guess", - "blue-meals-chew", - "brave-beers-happen", - "brave-parents-stare", - "brave-socks-raise", - "breezy-houses-eat", - "breezy-pans-glow", - "bright-eyes-film", - "brown-books-carry", - "chatty-actors-live", - "chilled-buses-love", - "chilled-terms-breathe", - "chilly-bikes-kick", - "chilly-lies-collect", - "clean-clouds-fry", - "clever-rats-smoke", - "clever-wombats-sneeze", - "cold-pans-crash", - "cool-knives-argue", - "create-app-1700579510", - "create-app-1700607979", - "create-app-1702395837", - "curly-walls-relate", - "dirty-turkeys-reflect", - "dry-readers-raise", - "dull-rings-melt", - "eighty-dodos-sing", - "eighty-phones-peel", - "eleven-ants-pretend", - "empty-dingos-grow", - "empty-fireants-study", - "fair-plants-attack", - "famous-flies-kick", - "famous-peas-reflect", - "fifty-cameras-share", - "fifty-seas-grab", - "five-feet-call", - "forty-clocks-hug", - "forty-insects-drop", - "forty-mirrors-carry", - "four-foxes-juggle", - "four-needles-watch", - "fresh-seahorses-glow", - "funny-bobcats-try", - "gentle-lies-greet", - "gentle-timers-fail", - "giant-files-fry", - "gold-humans-tease", - "gold-shirts-yell", - "good-wolves-leave", - "gorgeous-snails-admire", - "great-rings-type", - "green-seals-play", - "healthy-feet-kick", - "healthy-poets-search", - "hip-berries-begin", - "hip-cars-repair", - "honest-houses-hide", - "hot-wolves-flash", - "hungry-buckets-compare", - "itchy-camels-cough", - "khaki-clocks-happen", - "khaki-hounds-think", - "khaki-singers-film", - "kind-badgers-rush", - "kind-cycles-happen", - "kind-eels-sing", - "large-weeks-accept", - "late-eyes-serve", - "late-hats-beam", - "light-beers-cheer", - "little-suits-collect", - "long-cycles-grow", - "long-trainers-matter", - "long-wolves-return", - "lovely-terms-search", - "lucky-kids-cough", - "metal-eggs-smile", - "mighty-beans-wink", - "modern-mails-live", - "nasty-rockets-bathe", - "nasty-tips-exercise", - "nervous-dancers-wait", - "nervous-ladybugs-end", - "nervous-penguins-sort", - "ninety-otters-report", - "ninety-suns-accept", - "odd-bats-kick", - "orange-boats-hunt", - "perfect-apes-sing", - "perfect-crabs-help", - "pink-dryers-repair", - "plenty-numbers-enjoy", - "plenty-plums-talk", - "polite-crabs-build", - "polite-knives-build", - "poor-pandas-dream", - "pretty-onions-knock", - "pretty-ravens-serve", - "proud-flies-travel", - "proud-seahorses-explain", - "quick-horses-reply", - "quick-lions-care", - "real-bees-thank", - "red-readers-search", - "renovate-0392ef9", - "renovate-07b1766", - "renovate-0c44581", - "renovate-1252136", - "renovate-12c95fb", - "renovate-169bdc2", - "renovate-19742c3", - "renovate-1ed81a0", - "renovate-240982c", - "renovate-2613384", - "renovate-4891ee7", - "renovate-4b1eded", - "renovate-522261c", - "renovate-5644299", - "renovate-6075f87", - "renovate-6c0fb81", - "renovate-6e5c790", - "renovate-796bd6f", - "renovate-8d8b90d", - "renovate-9d2d52e", - "renovate-a277605", - "renovate-a6399d6", - "renovate-b193efa", - "renovate-c4e012c", - "renovate-c7270d5", - "renovate-c727667", - "renovate-ccaf2c8", - "renovate-dee7ad1", - "renovate-ead3ba6", - "renovate-f5b18be", - "rich-bees-breathe", - "rich-singers-join", - "rude-beans-drop", - "rude-ears-greet", - "sharp-dingos-learn", - "shiny-books-search", - "shiny-cheetahs-vanish", - "short-buttons-cover", - "shy-boxes-sleep", - "silent-rats-reflect", - "silly-numbers-wash", - "silver-rocks-deliver", - "six-cooks-attack", - "sixty-adults-kiss", - "sixty-houses-agree", - "slow-bottles-cross", - "slow-trees-warn", - "smooth-frogs-decide", - "sour-pumas-reply", - "spotty-olives-share", - "spotty-terms-occur", - "stale-bats-end", - "stale-frogs-agree", - "stale-walls-cross", - "strange-brooms-poke", - "strange-suits-glow", - "stupid-wasps-fold", - "tame-pants-end", - "tasty-dolphins-unite", - "ten-snakes-wait", - "tender-peas-smoke", - "thick-snails-travel", - "thirty-fireants-cheer", - "tiny-cobras-look", - "tiny-coins-raise", - "tricky-donkeys-do", - "tricky-islands-wonder", - "twenty-beans-laugh", - "unlucky-clouds-build", - "violet-zebras-thank", - "warm-plums-beg", - "wet-bananas-agree", - "wicked-elephants-think", - "wicked-pants-end", - "wild-knives-wait", - "witty-cars-wash" + "afraid-mice-give", + "brown-planes-sort", + "chilled-seahorses-clean", + "create-app-1703547661", + "fast-tables-hammer", + "funny-rings-fry", + "gold-pianos-worry", + "large-poets-buy", + "lazy-teachers-walk", + "orange-planets-suffer", + "renovate-126fde4", + "renovate-9647667", + "rotten-tools-clean" ] } diff --git a/.changeset/pretty-onions-knock.md b/.changeset/pretty-onions-knock.md deleted file mode 100644 index 701024cba4..0000000000 --- a/.changeset/pretty-onions-knock.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-azure-devops-backend': patch -'@backstage/plugin-azure-devops-common': patch -'@backstage/plugin-azure-devops': patch ---- - -Introduced new `AzureDevOpsAnnotatorProcessor` that adds the needed annotations automatically. Also, moved constants to common package so they can be shared more easily diff --git a/.changeset/pretty-ravens-serve.md b/.changeset/pretty-ravens-serve.md deleted file mode 100644 index 95d1b629fd..0000000000 --- a/.changeset/pretty-ravens-serve.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Migrate analytics route tracker component. diff --git a/.changeset/proud-flies-travel.md b/.changeset/proud-flies-travel.md deleted file mode 100644 index 41f40e2e90..0000000000 --- a/.changeset/proud-flies-travel.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-compat-api': patch ---- - -Made package public so it can be published diff --git a/.changeset/proud-seahorses-explain.md b/.changeset/proud-seahorses-explain.md deleted file mode 100644 index 328e4bf838..0000000000 --- a/.changeset/proud-seahorses-explain.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': minor ---- - -Updates the ESLint config to ignore issues created by generated files in `**/src/generated/**`. diff --git a/.changeset/quick-horses-reply.md b/.changeset/quick-horses-reply.md deleted file mode 100644 index 3469ef1d89..0000000000 --- a/.changeset/quick-horses-reply.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': patch ---- - -Fix creating env secret in github:environment:create action diff --git a/.changeset/quick-lions-care.md b/.changeset/quick-lions-care.md deleted file mode 100644 index aa5caada05..0000000000 --- a/.changeset/quick-lions-care.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/create-app': patch ---- - -Include the `` for group entities by default diff --git a/.changeset/real-bees-thank.md b/.changeset/real-bees-thank.md deleted file mode 100644 index e89dfc7a68..0000000000 --- a/.changeset/real-bees-thank.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog': patch ---- - -Adding in spec.type chip to search results for clarity diff --git a/.changeset/red-readers-search.md b/.changeset/red-readers-search.md deleted file mode 100644 index c18d9672ba..0000000000 --- a/.changeset/red-readers-search.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch -'@backstage/plugin-user-settings': patch -'@backstage/plugin-graphiql': patch -'@backstage/plugin-catalog': patch -'@backstage/plugin-search': patch -'@backstage/plugin-home': patch ---- - -Updates to the `/alpha` exports to match the extension input wrapping change. diff --git a/.changeset/renovate-0392ef9.md b/.changeset/renovate-0392ef9.md deleted file mode 100644 index 3ee3fb0361..0000000000 --- a/.changeset/renovate-0392ef9.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Updated dependency `vite-plugin-node-polyfills` to `^0.17.0`. diff --git a/.changeset/renovate-07b1766.md b/.changeset/renovate-07b1766.md deleted file mode 100644 index 245f827d08..0000000000 --- a/.changeset/renovate-07b1766.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-apollo-explorer': patch ---- - -Updated dependency `@apollo/explorer` to `^3.0.0`. diff --git a/.changeset/renovate-0c44581.md b/.changeset/renovate-0c44581.md deleted file mode 100644 index afddf45fed..0000000000 --- a/.changeset/renovate-0c44581.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Updated dependency `@rollup/plugin-node-resolve` to `^15.0.0`. diff --git a/.changeset/renovate-1252136.md b/.changeset/renovate-1252136.md deleted file mode 100644 index 0be5143b30..0000000000 --- a/.changeset/renovate-1252136.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/repo-tools': patch ---- - -Updated dependency `@stoplight/types` to `^14.0.0`. diff --git a/.changeset/renovate-126fde4.md b/.changeset/renovate-126fde4.md new file mode 100644 index 0000000000..409d509e8b --- /dev/null +++ b/.changeset/renovate-126fde4.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-github-issues': patch +'@backstage/plugin-scaffolder-backend-module-github': patch +--- + +Updated dependency `octokit` to `^3.0.0`. diff --git a/.changeset/renovate-12c95fb.md b/.changeset/renovate-12c95fb.md deleted file mode 100644 index 814817b8c2..0000000000 --- a/.changeset/renovate-12c95fb.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/backend-common': patch ---- - -Updated dependency `archiver` to `^6.0.0`. -Updated dependency `@types/archiver` to `^6.0.0`. diff --git a/.changeset/renovate-169bdc2.md b/.changeset/renovate-169bdc2.md deleted file mode 100644 index 6a54230a28..0000000000 --- a/.changeset/renovate-169bdc2.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-api-docs': patch ---- - -Updated dependency `graphiql` to `3.0.10`. diff --git a/.changeset/renovate-19742c3.md b/.changeset/renovate-19742c3.md deleted file mode 100644 index 2dfee1ad96..0000000000 --- a/.changeset/renovate-19742c3.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Updated dependency `@rollup/plugin-json` to `^6.0.0`. diff --git a/.changeset/renovate-1ed81a0.md b/.changeset/renovate-1ed81a0.md deleted file mode 100644 index ae2e061f24..0000000000 --- a/.changeset/renovate-1ed81a0.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@backstage/plugin-home-react': patch -'@backstage/plugin-home': patch -'@backstage/plugin-scaffolder-react': patch -'@backstage/plugin-scaffolder': patch ---- - -Updated dependency `@rjsf/utils` to `5.14.3`. -Updated dependency `@rjsf/core` to `5.14.3`. -Updated dependency `@rjsf/material-ui` to `5.14.3`. -Updated dependency `@rjsf/validator-ajv8` to `5.14.3`. diff --git a/.changeset/renovate-240982c.md b/.changeset/renovate-240982c.md deleted file mode 100644 index f68e583388..0000000000 --- a/.changeset/renovate-240982c.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@backstage/plugin-home-react': patch -'@backstage/plugin-home': patch -'@backstage/plugin-scaffolder-react': patch -'@backstage/plugin-scaffolder': patch ---- - -Updated dependency `@rjsf/utils` to `5.14.1`. -Updated dependency `@rjsf/core` to `5.14.1`. -Updated dependency `@rjsf/material-ui` to `5.14.1`. -Updated dependency `@rjsf/validator-ajv8` to `5.14.1`. diff --git a/.changeset/renovate-2613384.md b/.changeset/renovate-2613384.md deleted file mode 100644 index 50d01354de..0000000000 --- a/.changeset/renovate-2613384.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Updated dependency `bfj` to `^8.0.0`. diff --git a/.changeset/renovate-4891ee7.md b/.changeset/renovate-4891ee7.md deleted file mode 100644 index 031e42d111..0000000000 --- a/.changeset/renovate-4891ee7.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@backstage/backend-common': patch -'@backstage/plugin-kubernetes-backend': patch -'@backstage/plugin-kubernetes-common': patch -'@backstage/plugin-kubernetes-react': patch -'@backstage/plugin-kubernetes': patch ---- - -Updated dependency `@kubernetes/client-node` to `0.20.0`. diff --git a/.changeset/renovate-4b1eded.md b/.changeset/renovate-4b1eded.md deleted file mode 100644 index 290e647895..0000000000 --- a/.changeset/renovate-4b1eded.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-api-docs': patch ---- - -Updated dependency `@asyncapi/react-component` to `1.2.2`. diff --git a/.changeset/renovate-522261c.md b/.changeset/renovate-522261c.md deleted file mode 100644 index fb25fe0078..0000000000 --- a/.changeset/renovate-522261c.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend': patch ---- - -Updated dependency `@types/glob` to `^8.0.0`. diff --git a/.changeset/renovate-5644299.md b/.changeset/renovate-5644299.md deleted file mode 100644 index 04ba4c47a4..0000000000 --- a/.changeset/renovate-5644299.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-api-docs': patch ---- - -Updated dependency `@asyncapi/react-component` to `1.2.6`. diff --git a/.changeset/renovate-6075f87.md b/.changeset/renovate-6075f87.md deleted file mode 100644 index 8997cb080b..0000000000 --- a/.changeset/renovate-6075f87.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-kubernetes-backend': patch ---- - -Updated dependency `@aws-crypto/sha256-js` to `^5.0.0`. diff --git a/.changeset/renovate-6c0fb81.md b/.changeset/renovate-6c0fb81.md deleted file mode 100644 index a4677ed174..0000000000 --- a/.changeset/renovate-6c0fb81.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-bitbucket-cloud-common': patch ---- - -Updated dependency `ts-morph` to `^20.0.0`. diff --git a/.changeset/renovate-6e5c790.md b/.changeset/renovate-6e5c790.md deleted file mode 100644 index e8be20623c..0000000000 --- a/.changeset/renovate-6e5c790.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@backstage/integration': patch -'@backstage/plugin-azure-sites-backend': patch -'@backstage/plugin-catalog-backend-module-msgraph': patch -'@backstage/plugin-kubernetes-backend': patch -'@backstage/plugin-techdocs-node': patch ---- - -Updated dependency `@azure/identity` to `^4.0.0`. diff --git a/.changeset/renovate-796bd6f.md b/.changeset/renovate-796bd6f.md deleted file mode 100644 index 561f6b8b03..0000000000 --- a/.changeset/renovate-796bd6f.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Updated dependency `@typescript-eslint/eslint-plugin` to `6.12.0`. diff --git a/.changeset/renovate-8d8b90d.md b/.changeset/renovate-8d8b90d.md deleted file mode 100644 index 169d480dec..0000000000 --- a/.changeset/renovate-8d8b90d.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-components': patch ---- - -Updated dependency `linkifyjs` to `4.1.3`. diff --git a/.changeset/renovate-9647667.md b/.changeset/renovate-9647667.md new file mode 100644 index 0000000000..7d13035ecb --- /dev/null +++ b/.changeset/renovate-9647667.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-azure-devops-backend': patch +'@backstage/plugin-scaffolder-backend-module-azure': patch +--- + +Updated dependency `azure-devops-node-api` to `^12.0.0`. diff --git a/.changeset/renovate-9d2d52e.md b/.changeset/renovate-9d2d52e.md deleted file mode 100644 index e7a02f8f41..0000000000 --- a/.changeset/renovate-9d2d52e.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Updated dependency `@typescript-eslint/eslint-plugin` to `6.11.0`. diff --git a/.changeset/renovate-a277605.md b/.changeset/renovate-a277605.md deleted file mode 100644 index 2bb2274e49..0000000000 --- a/.changeset/renovate-a277605.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Updated dependency `@rollup/plugin-commonjs` to `^25.0.0`. diff --git a/.changeset/renovate-a6399d6.md b/.changeset/renovate-a6399d6.md deleted file mode 100644 index d26cd717b3..0000000000 --- a/.changeset/renovate-a6399d6.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/backend-common': patch -'@backstage/plugin-techdocs-node': patch ---- - -Updated dependency `@google-cloud/storage` to `^7.0.0`. diff --git a/.changeset/renovate-b193efa.md b/.changeset/renovate-b193efa.md deleted file mode 100644 index dfb2430162..0000000000 --- a/.changeset/renovate-b193efa.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-api-docs': patch ---- - -Updated dependency `@asyncapi/react-component` to `1.1.0`. diff --git a/.changeset/renovate-c4e012c.md b/.changeset/renovate-c4e012c.md deleted file mode 100644 index eb26b9fb58..0000000000 --- a/.changeset/renovate-c4e012c.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -'@backstage/core-components': patch -'@backstage/plugin-entity-validation': patch -'@backstage/plugin-gcp-projects': patch -'@backstage/plugin-scaffolder-react': patch -'@backstage/plugin-scaffolder': patch -'@backstage/plugin-techdocs-module-addons-contrib': patch ---- - -Updated dependency `@react-hookz/web` to `^23.0.0`. diff --git a/.changeset/renovate-c7270d5.md b/.changeset/renovate-c7270d5.md deleted file mode 100644 index e38e9ba816..0000000000 --- a/.changeset/renovate-c7270d5.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-gcp': patch -'@backstage/plugin-kubernetes-backend': patch ---- - -Updated dependency `@google-cloud/container` to `^5.0.0`. diff --git a/.changeset/renovate-c727667.md b/.changeset/renovate-c727667.md deleted file mode 100644 index 82b7d0a8f5..0000000000 --- a/.changeset/renovate-c727667.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-atlassian-provider': patch -'@backstage/plugin-auth-backend-module-gitlab-provider': patch -'@backstage/plugin-auth-backend-module-microsoft-provider': patch -'@backstage/plugin-auth-backend-module-oauth2-provider': patch -'@backstage/plugin-auth-backend-module-okta-provider': patch -'@backstage/plugin-auth-backend-module-pinniped-provider': patch -'@backstage/plugin-auth-backend': patch -'@backstage/plugin-auth-node': patch ---- - -Updated dependency `passport` to `^0.7.0`. diff --git a/.changeset/renovate-ccaf2c8.md b/.changeset/renovate-ccaf2c8.md deleted file mode 100644 index ac4c2fa16e..0000000000 --- a/.changeset/renovate-ccaf2c8.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@backstage/plugin-home-react': patch -'@backstage/plugin-home': patch -'@backstage/plugin-scaffolder-react': patch -'@backstage/plugin-scaffolder': patch ---- - -Updated dependency `@rjsf/utils` to `5.15.0`. -Updated dependency `@rjsf/core` to `5.15.0`. -Updated dependency `@rjsf/material-ui` to `5.15.0`. -Updated dependency `@rjsf/validator-ajv8` to `5.15.0`. diff --git a/.changeset/renovate-dee7ad1.md b/.changeset/renovate-dee7ad1.md deleted file mode 100644 index 8f98f255f6..0000000000 --- a/.changeset/renovate-dee7ad1.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend': patch ---- - -Updated dependency `@google-cloud/firestore` to `^7.0.0`. diff --git a/.changeset/renovate-ead3ba6.md b/.changeset/renovate-ead3ba6.md deleted file mode 100644 index f62d2cf0ed..0000000000 --- a/.changeset/renovate-ead3ba6.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@backstage/plugin-home-react': patch -'@backstage/plugin-home': patch -'@backstage/plugin-scaffolder-react': patch -'@backstage/plugin-scaffolder': patch ---- - -Updated dependency `@rjsf/utils` to `5.14.2`. -Updated dependency `@rjsf/core` to `5.14.2`. -Updated dependency `@rjsf/material-ui` to `5.14.2`. -Updated dependency `@rjsf/validator-ajv8` to `5.14.2`. diff --git a/.changeset/renovate-f5b18be.md b/.changeset/renovate-f5b18be.md deleted file mode 100644 index 82bcbd724f..0000000000 --- a/.changeset/renovate-f5b18be.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-azure-sites-backend': patch ---- - -Updated dependency `@azure/arm-appservice` to `^14.0.0`. diff --git a/.changeset/rich-bees-breathe.md b/.changeset/rich-bees-breathe.md deleted file mode 100644 index 7a40e3df2f..0000000000 --- a/.changeset/rich-bees-breathe.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -'@backstage/plugin-catalog-import': patch -'@backstage/plugin-stack-overflow': patch -'@backstage/plugin-catalog-react': patch -'@backstage/plugin-user-settings': patch -'@backstage/plugin-search-react': patch -'@backstage/plugin-tech-radar': patch -'@backstage/plugin-graphiql': patch -'@backstage/plugin-techdocs': patch -'@backstage/plugin-catalog': patch -'@backstage/plugin-explore': patch -'@backstage/plugin-search': patch -'@backstage/plugin-home': patch -'@backstage/plugin-adr': patch ---- - -Refactor of the alpha exports due to API change in how extension IDs are constructed. diff --git a/.changeset/rich-singers-join.md b/.changeset/rich-singers-join.md deleted file mode 100644 index 1a21fa9fc8..0000000000 --- a/.changeset/rich-singers-join.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch ---- - -Ensure that cursors always come back as JSON on sqlite too diff --git a/.changeset/rotten-tools-clean.md b/.changeset/rotten-tools-clean.md new file mode 100644 index 0000000000..192c3a057b --- /dev/null +++ b/.changeset/rotten-tools-clean.md @@ -0,0 +1,145 @@ +--- +'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch +'@backstage/plugin-catalog-backend-module-scaffolder-entity-model': patch +'@backstage/plugin-permission-backend-module-allow-all-policy': patch +'@backstage/plugin-auth-backend-module-oauth2-proxy-provider': patch +'@backstage/plugin-auth-backend-module-vmware-cloud-provider': patch +'@backstage/plugin-catalog-backend-module-backstage-openapi': patch +'@backstage/plugin-auth-backend-module-atlassian-provider': patch +'@backstage/plugin-auth-backend-module-microsoft-provider': patch +'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch +'@backstage/plugin-auth-backend-module-pinniped-provider': patch +'@backstage/plugin-events-backend-module-bitbucket-cloud': patch +'@backstage/plugin-auth-backend-module-gcp-iap-provider': patch +'@backstage/plugin-auth-backend-module-github-provider': patch +'@backstage/plugin-auth-backend-module-gitlab-provider': patch +'@backstage/plugin-auth-backend-module-google-provider': patch +'@backstage/plugin-auth-backend-module-oauth2-provider': patch +'@backstage/plugin-tech-insights-backend-module-jsonfc': patch +'@backstage/plugin-analytics-module-newrelic-browser': patch +'@backstage/plugin-auth-backend-module-okta-provider': patch +'@backstage/plugin-catalog-backend-module-bitbucket': patch +'@backstage/plugin-scaffolder-backend-module-yeoman': patch +'@backstage/plugin-techdocs-module-addons-contrib': patch +'@backstage/plugin-catalog-backend-module-gerrit': patch +'@backstage/plugin-catalog-backend-module-azure': patch +'@backstage/plugin-catalog-unprocessed-entities': patch +'@backstage/plugin-events-backend-module-gerrit': patch +'@backstage/plugin-events-backend-module-github': patch +'@backstage/plugin-events-backend-module-gitlab': patch +'@backstage/plugin-events-backend-module-azure': patch +'@backstage/plugin-catalog-backend-module-aws': patch +'@backstage/plugin-github-pull-requests-board': patch +'@backstage/plugin-techdocs-addons-test-utils': patch +'@backstage/plugin-entity-feedback-backend': patch +'@backstage/backend-openapi-utils': patch +'@backstage/plugin-stack-overflow-backend': patch +'@backstage/plugin-code-coverage-backend': patch +'@backstage/plugin-user-settings-backend': patch +'@backstage/frontend-plugin-api': patch +'@backstage/plugin-analytics-module-ga4': patch +'@backstage/plugin-azure-devops-backend': patch +'@backstage/plugin-analytics-module-ga': patch +'@backstage/plugin-azure-sites-backend': patch +'@backstage/plugin-git-release-manager': patch +'@backstage/plugin-github-deployments': patch +'@backstage/plugin-kubernetes-cluster': patch +'@backstage/plugin-microsoft-calendar': patch +'@backstage/plugin-newrelic-dashboard': patch +'@backstage/plugin-tech-insights-node': patch +'@backstage/plugin-entity-validation': patch +'@backstage/plugin-kubernetes-common': patch +'@backstage/plugin-airbrake-backend': patch +'@backstage/plugin-devtools-backend': patch +'@backstage/plugin-linguist-backend': patch +'@backstage/plugin-periskop-backend': patch +'@backstage/plugin-permission-react': patch +'@backstage/plugin-playlist-backend': patch +'@backstage/plugin-scaffolder-react': patch +'@backstage/plugin-techdocs-backend': patch +'@backstage/plugin-apollo-explorer': patch +'@backstage/plugin-entity-feedback': patch +'@backstage/plugin-explore-backend': patch +'@backstage/plugin-gitops-profiles': patch +'@backstage/plugin-graphql-voyager': patch +'@backstage/plugin-jenkins-backend': patch +'@backstage/plugin-apache-airflow': patch +'@backstage/plugin-badges-backend': patch +'@backstage/plugin-bazaar-backend': patch +'@backstage/plugin-github-actions': patch +'@backstage/plugin-octopus-deploy': patch +'@backstage/plugin-search-backend': patch +'@backstage/plugin-splunk-on-call': patch +'@backstage/plugin-stack-overflow': patch +'@backstage/plugin-techdocs-react': patch +'@backstage/plugin-catalog-graph': patch +'@backstage/plugin-catalog-react': patch +'@backstage/plugin-code-coverage': patch +'@backstage/plugin-config-schema': patch +'@backstage/plugin-cost-insights': patch +'@backstage/plugin-explore-react': patch +'@backstage/plugin-github-issues': patch +'@backstage/plugin-kafka-backend': patch +'@backstage/plugin-nomad-backend': patch +'@backstage/plugin-tech-insights': patch +'@backstage/plugin-user-settings': patch +'@backstage/plugin-auth-backend': patch +'@backstage/plugin-azure-devops': patch +'@backstage/plugin-catalog-node': patch +'@backstage/plugin-code-climate': patch +'@backstage/plugin-gcp-projects': patch +'@backstage/plugin-todo-backend': patch +'@backstage/plugin-adr-backend': patch +'@backstage/plugin-app-backend': patch +'@backstage/plugin-azure-sites': patch +'@backstage/plugin-firehydrant': patch +'@backstage/plugin-cloudbuild': patch +'@backstage/plugin-home-react': patch +'@backstage/plugin-kubernetes': patch +'@backstage/plugin-lighthouse': patch +'@backstage/plugin-scaffolder': patch +'@backstage/plugin-stackstorm': patch +'@backstage/plugin-tech-radar': patch +'@backstage/plugin-codescene': patch +'@backstage/plugin-dynatrace': patch +'@backstage/plugin-gcalendar': patch +'@backstage/plugin-org-react': patch +'@backstage/plugin-pagerduty': patch +'@backstage/plugin-shortcuts': patch +'@backstage/plugin-sonarqube': patch +'@backstage/plugin-xcmetrics': patch +'@backstage/plugin-airbrake': patch +'@backstage/plugin-api-docs': patch +'@backstage/plugin-circleci': patch +'@backstage/plugin-devtools': patch +'@backstage/plugin-graphiql': patch +'@backstage/plugin-linguist': patch +'@backstage/plugin-newrelic': patch +'@backstage/plugin-opencost': patch +'@backstage/plugin-periskop': patch +'@backstage/plugin-playlist': patch +'@backstage/plugin-puppetdb': patch +'@backstage/plugin-techdocs': patch +'@backstage/plugin-bitrise': patch +'@backstage/plugin-catalog': patch +'@backstage/plugin-explore': patch +'@backstage/plugin-jenkins': patch +'@backstage/plugin-rollbar': patch +'@backstage/plugin-allure': patch +'@backstage/plugin-badges': patch +'@backstage/plugin-bazaar': patch +'@backstage/plugin-search': patch +'@backstage/plugin-sentry': patch +'@backstage/plugin-fossa': patch +'@backstage/plugin-ilert': patch +'@backstage/plugin-kafka': patch +'@backstage/plugin-nomad': patch +'@backstage/plugin-vault': patch +'@backstage/plugin-gocd': patch +'@backstage/plugin-home': patch +'@backstage/plugin-todo': patch +'@backstage/plugin-adr': patch +'@backstage/plugin-org': patch +--- + +Remove some unused dependencies diff --git a/.changeset/rude-beans-drop.md b/.changeset/rude-beans-drop.md deleted file mode 100644 index 63f10af55d..0000000000 --- a/.changeset/rude-beans-drop.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-components': patch ---- - -Update `linkify-react` to version `4.1.3` diff --git a/.changeset/rude-ears-greet.md b/.changeset/rude-ears-greet.md deleted file mode 100644 index b5dd684c16..0000000000 --- a/.changeset/rude-ears-greet.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/create-app': patch -'@backstage/plugin-circleci': patch ---- - -CircelCI plugin moved permanently diff --git a/.changeset/sharp-dingos-learn.md b/.changeset/sharp-dingos-learn.md deleted file mode 100644 index 9447ca9698..0000000000 --- a/.changeset/sharp-dingos-learn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-compat-api': patch ---- - -Delete alpha DI compatibility helper for components, migrating components should be simple without a helper. diff --git a/.changeset/shiny-books-search.md b/.changeset/shiny-books-search.md deleted file mode 100644 index 1d743565b9..0000000000 --- a/.changeset/shiny-books-search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': minor ---- - -The app no longer provides the `AppContext` from `@backstage/core-plugin-api`. Components that require this context to be available should use the `compatWrapper` helper from `@backstage/core-compat-api`. diff --git a/.changeset/shiny-cheetahs-vanish.md b/.changeset/shiny-cheetahs-vanish.md deleted file mode 100644 index 38c88bdb23..0000000000 --- a/.changeset/shiny-cheetahs-vanish.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend-module-bitbucket': minor -'@backstage/plugin-scaffolder-backend-module-gerrit': minor -'@backstage/plugin-scaffolder-backend-module-github': minor -'@backstage/plugin-scaffolder-backend-module-azure': minor ---- - -Create new scaffolder module for external integrations diff --git a/.changeset/short-buttons-cover.md b/.changeset/short-buttons-cover.md deleted file mode 100644 index 2d98e212f7..0000000000 --- a/.changeset/short-buttons-cover.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-components': patch ---- - -Fixed an issue where the `onChange` prop within `HeaderTabs` was triggering twice upon tab-switching. diff --git a/.changeset/shy-boxes-sleep.md b/.changeset/shy-boxes-sleep.md deleted file mode 100644 index c085c7ea78..0000000000 --- a/.changeset/shy-boxes-sleep.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-home': patch ---- - -StarredEntities component calls `getEntitiesByRefs` instead of `getEntities` to improve performance since we have the `entityRefs` diff --git a/.changeset/silent-rats-reflect.md b/.changeset/silent-rats-reflect.md deleted file mode 100644 index b7884f06d0..0000000000 --- a/.changeset/silent-rats-reflect.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/repo-tools': minor ---- - -Adds a new command `schema openapi generate-client` that creates a Typescript client with Backstage flavor, including the discovery API and fetch API. This command doesn't currently generate a complete client and needs to be wrapped or exported manually by a separate Backstage plugin. See `@backstage/catalog-client/src/generated` for example output. diff --git a/.changeset/silly-numbers-wash.md b/.changeset/silly-numbers-wash.md deleted file mode 100644 index 25df8b12c1..0000000000 --- a/.changeset/silly-numbers-wash.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -'@backstage/plugin-catalog': patch ---- - -Added pagination support to `CatalogIndexPage` - -`CatalogIndexPage` now offers an optional pagination feature, designed to accommodate adopters managing extensive catalogs. This new capability allows for better handling of large amounts of data. - -To activate the pagination mode, simply update your `App.tsx` as follows: - -```diff - const routes = ( - - ... -- } /> -+ } /> - ... -``` - -In case you have a custom catalog page and you want to enable pagination, you need to pass the `pagination` prop to `EntityListProvider` instead. diff --git a/.changeset/silver-rocks-deliver.md b/.changeset/silver-rocks-deliver.md deleted file mode 100644 index eb132199f3..0000000000 --- a/.changeset/silver-rocks-deliver.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-user-settings': patch -'@backstage/plugin-catalog': patch -'@backstage/plugin-adr': patch ---- - -Updated alpha translation message keys to use nested format and camel case. diff --git a/.changeset/six-cooks-attack.md b/.changeset/six-cooks-attack.md deleted file mode 100644 index 0182f1e06a..0000000000 --- a/.changeset/six-cooks-attack.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch ---- - -Added translation APIs as well as `createTranslationExtension`. diff --git a/.changeset/sixty-adults-kiss.md b/.changeset/sixty-adults-kiss.md deleted file mode 100644 index eb73387308..0000000000 --- a/.changeset/sixty-adults-kiss.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Added `createSpecializedApp`, which is a synchronous version of `createApp` where config and features already need to be loaded. diff --git a/.changeset/sixty-houses-agree.md b/.changeset/sixty-houses-agree.md deleted file mode 100644 index 1cdd5e7908..0000000000 --- a/.changeset/sixty-houses-agree.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/backend-common': minor -'@backstage/integration': minor ---- - -Implemented `readTree` for Gitea provider to support TechDocs functionality diff --git a/.changeset/slimy-geese-camp.md b/.changeset/slimy-geese-camp.md deleted file mode 100644 index b3fa09e2d8..0000000000 --- a/.changeset/slimy-geese-camp.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Renamed `AppRouteBinder` to `CreateAppRouteBinder` diff --git a/.changeset/slow-bottles-cross.md b/.changeset/slow-bottles-cross.md deleted file mode 100644 index 32446f1554..0000000000 --- a/.changeset/slow-bottles-cross.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch -'@backstage/frontend-app-api': patch ---- - -Forward ` node`` instead of `extensionId` to resolved extension inputs. diff --git a/.changeset/slow-trees-warn.md b/.changeset/slow-trees-warn.md deleted file mode 100644 index 5a05f9a07f..0000000000 --- a/.changeset/slow-trees-warn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog': patch ---- - -Updated alpha plugin to include the `unregisterRedirect` external route. diff --git a/.changeset/smooth-frogs-decide.md b/.changeset/smooth-frogs-decide.md deleted file mode 100644 index 942a3a80bf..0000000000 --- a/.changeset/smooth-frogs-decide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch ---- - -Migrate analytics api and context files. diff --git a/.changeset/sour-pumas-reply.md b/.changeset/sour-pumas-reply.md deleted file mode 100644 index 99b812acdd..0000000000 --- a/.changeset/sour-pumas-reply.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder': patch ---- - -Fixing `headerOptions` not being passed through the `TemplatePage` component diff --git a/.changeset/spotty-olives-share.md b/.changeset/spotty-olives-share.md deleted file mode 100644 index 7437b3af00..0000000000 --- a/.changeset/spotty-olives-share.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@techdocs/cli': minor -'@backstage/plugin-techdocs-node': minor -'@backstage/backend-common': patch ---- - -Add command `--runAsDefaultUser` for `@techdocs/cli generate` to bypass running the docker builds as host user for macOS and Linux. diff --git a/.changeset/spotty-terms-occur.md b/.changeset/spotty-terms-occur.md deleted file mode 100644 index 471ba6d0dc..0000000000 --- a/.changeset/spotty-terms-occur.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/repo-tools': patch ---- - -Execute `openapi-generator-cli` from `@backstage/repo-tools` directory to force it to use our openapitools.json config file. diff --git a/.changeset/stale-bats-end.md b/.changeset/stale-bats-end.md deleted file mode 100644 index e6715deba9..0000000000 --- a/.changeset/stale-bats-end.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs-node': patch ---- - -Bumped the default TechDocs docker image version to the latest which was released several month ago diff --git a/.changeset/stale-frogs-agree.md b/.changeset/stale-frogs-agree.md deleted file mode 100644 index 84052bded8..0000000000 --- a/.changeset/stale-frogs-agree.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Updates to match the introduction of `ExtensionDefinition` and new extension ID naming patterns. diff --git a/.changeset/stale-walls-cross.md b/.changeset/stale-walls-cross.md deleted file mode 100644 index 79d682631b..0000000000 --- a/.changeset/stale-walls-cross.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Updates to provide `node` to extension factories instead of `id` and `source`. diff --git a/.changeset/strange-brooms-poke.md b/.changeset/strange-brooms-poke.md deleted file mode 100644 index 35b7d48360..0000000000 --- a/.changeset/strange-brooms-poke.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/catalog-client': patch ---- - -Fixes a bug where some query parameters were double URL encoded. diff --git a/.changeset/strange-suits-glow.md b/.changeset/strange-suits-glow.md deleted file mode 100644 index 6f1ba31127..0000000000 --- a/.changeset/strange-suits-glow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Switched the `@typescript-eslint/eslint-plugin` dependency back to using a `^` version range. diff --git a/.changeset/stupid-deers-wonder.md b/.changeset/stupid-deers-wonder.md deleted file mode 100644 index e65e01dd5e..0000000000 --- a/.changeset/stupid-deers-wonder.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-compat-api': minor ---- - -The `collectLegacyRoutes` has been removed and is replaced by `convertLegacyApp` now being able to convert a `FlatRoutes` element directly. diff --git a/.changeset/stupid-wasps-fold.md b/.changeset/stupid-wasps-fold.md deleted file mode 100644 index 260dd9f5f1..0000000000 --- a/.changeset/stupid-wasps-fold.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-compat-api': patch ---- - -Updates for compatibility with the new extension IDs. diff --git a/.changeset/sweet-buckets-hunt.md b/.changeset/sweet-buckets-hunt.md deleted file mode 100644 index c8a7794457..0000000000 --- a/.changeset/sweet-buckets-hunt.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-gcp-projects': patch ---- - -Fix query parameter for project details page which should point to projectId rather than project name diff --git a/.changeset/sweet-days-fail.md b/.changeset/sweet-days-fail.md deleted file mode 100644 index b3b2e60b76..0000000000 --- a/.changeset/sweet-days-fail.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': minor ---- - -Changed `Extension` and `ExtensionDefinition` to use opaque types. diff --git a/.changeset/sweet-waves-do.md b/.changeset/sweet-waves-do.md deleted file mode 100644 index 42d07eb603..0000000000 --- a/.changeset/sweet-waves-do.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Updated usage of `Extension` and `ExtensionDefinition` as they are now opaque. diff --git a/.changeset/tame-pants-end.md b/.changeset/tame-pants-end.md deleted file mode 100644 index b80fcb7fe3..0000000000 --- a/.changeset/tame-pants-end.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-pagerduty': minor ---- - -This package has been deprecated, consider using [@pagerduty/backstage-plugin](https://github.com/pagerduty/backstage-plugin) instead. diff --git a/.changeset/tasty-dolphins-unite.md b/.changeset/tasty-dolphins-unite.md deleted file mode 100644 index b367b0c554..0000000000 --- a/.changeset/tasty-dolphins-unite.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': minor ---- - -Extension inputs are now wrapped into an additional object when passed to the extension factory, with the previous values being available at the `output` property. The `ExtensionInputValues` type has also been replaced by `ResolvedExtensionInputs`. diff --git a/.changeset/ten-snakes-wait.md b/.changeset/ten-snakes-wait.md deleted file mode 100644 index 1c15cb8d33..0000000000 --- a/.changeset/ten-snakes-wait.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/frontend-plugin-api': minor ---- - -**BREAKING**: This version changes how extensions are created and how their IDs are determined. The `createExtension` function now accepts `kind`, `namespace` and `name` instead of `id`. All of the new options are optional, and are used to construct the final extension ID. By convention extension creators should set the `kind` to match their own name, for example `createNavItemExtension` sets the kind `nav-item`. - -The `createExtension` function as well as all extension creators now also return an `ExtensionDefinition` rather than an `Extension`, which in turn needs to be passed to `createPlugin` or `createExtensionOverrides` to be used. diff --git a/.changeset/tender-peas-smoke.md b/.changeset/tender-peas-smoke.md deleted file mode 100644 index 5c84e1a131..0000000000 --- a/.changeset/tender-peas-smoke.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend-module-sentry': patch ---- - -Added examples for `sentry:project:create` scaffolder action and unit tests. diff --git a/.changeset/thick-snails-travel.md b/.changeset/thick-snails-travel.md deleted file mode 100644 index bfd14d55e1..0000000000 --- a/.changeset/thick-snails-travel.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog': minor ---- - -Properly support both function- and string-form visibility filter expressions in the new extensions exported via `/alpha`. diff --git a/.changeset/thirty-fireants-cheer.md b/.changeset/thirty-fireants-cheer.md deleted file mode 100644 index abda872570..0000000000 --- a/.changeset/thirty-fireants-cheer.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch ---- - -Breaking alpha-API change to entity visibility filter functions to accept a bare entity as their first argument, instead of an object with an entity property. - -Functions that accept such filters now also support the string expression form of filters. diff --git a/.changeset/tiny-cobras-look.md b/.changeset/tiny-cobras-look.md deleted file mode 100644 index 1c5acc6c4a..0000000000 --- a/.changeset/tiny-cobras-look.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-common': patch ---- - -Expose an `onAuth` handler for `git` actions to provide custom credentials diff --git a/.changeset/tiny-coins-raise.md b/.changeset/tiny-coins-raise.md deleted file mode 100644 index cdb501fb78..0000000000 --- a/.changeset/tiny-coins-raise.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-scaffolder-react': patch -'@backstage/plugin-scaffolder': patch -'@backstage/plugin-home': patch ---- - -Use new option from RJSF 5.15 diff --git a/.changeset/tricky-donkeys-do.md b/.changeset/tricky-donkeys-do.md deleted file mode 100644 index 1a810e9f3b..0000000000 --- a/.changeset/tricky-donkeys-do.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@techdocs/cli': minor ---- - -Support passing additional `mkdocs-server` CLI parameters (`--dirtyreload`, `--strict` and `--clean`) when run in containerized mode. diff --git a/.changeset/tricky-islands-wonder.md b/.changeset/tricky-islands-wonder.md deleted file mode 100644 index 5b9c37281b..0000000000 --- a/.changeset/tricky-islands-wonder.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog': minor ---- - -The `columns` prop can be an array or a function that returns an array in order to override the default columns of the `CatalogIndexPage`. diff --git a/.changeset/twenty-beans-laugh.md b/.changeset/twenty-beans-laugh.md deleted file mode 100644 index 5dc537d93b..0000000000 --- a/.changeset/twenty-beans-laugh.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch ---- - -Fixed a issue where `CatalogPage` wasn't using the chosen `initiallySelectedFilter` as intended. diff --git a/.changeset/unlucky-clouds-build.md b/.changeset/unlucky-clouds-build.md deleted file mode 100644 index 35aa277653..0000000000 --- a/.changeset/unlucky-clouds-build.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-azure-devops-backend': minor ---- - -**BREAKING** New `fromConfig` static method must be used now when creating an instance of the `AzureDevOpsApi` - -Added support for using the `AzureDevOpsCredentialsProvider` diff --git a/.changeset/unlucky-islands-joke.md b/.changeset/unlucky-islands-joke.md deleted file mode 100644 index f165e2c460..0000000000 --- a/.changeset/unlucky-islands-joke.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': minor ---- - -Moved several extension data references from `coreExtensionData` to their respective extension creators. diff --git a/.changeset/violet-clouds-press.md b/.changeset/violet-clouds-press.md deleted file mode 100644 index b2a46026fe..0000000000 --- a/.changeset/violet-clouds-press.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Updates to match the new `coreExtensionData` structure. diff --git a/.changeset/violet-zebras-thank.md b/.changeset/violet-zebras-thank.md deleted file mode 100644 index eda6137dc1..0000000000 --- a/.changeset/violet-zebras-thank.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/theme': minor ---- - -Added a global `OverrideComponentNameToClassKeys` for other plugins and packages to populate using module augmentation. This will in turn will provide component style override types for `createUnifiedTheme`. diff --git a/.changeset/warm-plums-beg.md b/.changeset/warm-plums-beg.md deleted file mode 100644 index 6d09aabd2d..0000000000 --- a/.changeset/warm-plums-beg.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-kubernetes-common': patch ---- - -Remove unused dependency diff --git a/.changeset/wet-bananas-agree.md b/.changeset/wet-bananas-agree.md deleted file mode 100644 index 4bf47ca664..0000000000 --- a/.changeset/wet-bananas-agree.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-react': patch ---- - -Fixed issue for showing undefined for hidden form items diff --git a/.changeset/wet-fans-care.md b/.changeset/wet-fans-care.md deleted file mode 100644 index 7a9463a471..0000000000 --- a/.changeset/wet-fans-care.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch -'@backstage/frontend-app-api': patch ---- - -Renamed the `component` option of `createComponentExtension` to `loader`. diff --git a/.changeset/wicked-elephants-think.md b/.changeset/wicked-elephants-think.md deleted file mode 100644 index 73fc9621bf..0000000000 --- a/.changeset/wicked-elephants-think.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': minor ---- - -The extension `factory` function now longer receives `id` or `source`, but instead now provides the extension's `AppNode` as `node`. The `ExtensionBoundary` component has also been updated to receive a `node` prop rather than `id` and `source`. diff --git a/.changeset/wicked-pants-end.md b/.changeset/wicked-pants-end.md deleted file mode 100644 index ecb42d0957..0000000000 --- a/.changeset/wicked-pants-end.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-scaffolder-entity-model': patch -'@backstage/plugin-search-backend-module-stack-overflow-collator': patch -'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch -'@backstage/plugin-permission-backend-module-allow-all-policy': patch -'@backstage/plugin-auth-backend-module-oauth2-proxy-provider': patch -'@backstage/plugin-catalog-backend-module-bitbucket-server': patch -'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch -'@backstage/plugin-events-backend-module-bitbucket-cloud': patch -'@backstage/plugin-auth-backend-module-gcp-iap-provider': patch -'@backstage/plugin-auth-backend-module-google-provider': patch -'@backstage/plugin-search-backend-module-elasticsearch': patch -'@backstage/plugin-catalog-backend-module-unprocessed': patch -'@backstage/plugin-catalog-backend-module-github-org': patch -'@backstage/plugin-catalog-backend-module-puppetdb': patch -'@backstage/plugin-search-backend-module-techdocs': patch -'@backstage/plugin-catalog-backend-module-gerrit': patch -'@backstage/plugin-catalog-backend-module-github': patch -'@backstage/plugin-catalog-backend-module-gitlab': patch -'@backstage/plugin-events-backend-module-aws-sqs': patch -'@backstage/plugin-search-backend-module-catalog': patch -'@backstage/plugin-search-backend-module-explore': patch -'@backstage/plugin-catalog-backend-module-azure': patch -'@backstage/plugin-events-backend-module-gerrit': patch -'@backstage/plugin-events-backend-module-github': patch -'@backstage/plugin-events-backend-module-gitlab': patch -'@backstage/plugin-events-backend-module-azure': patch -'@backstage/plugin-catalog-backend-module-aws': patch -'@backstage/plugin-catalog-backend-module-gcp': patch -'@backstage/plugin-search-backend-module-pg': patch -'@backstage/backend-test-utils': patch -'@backstage/plugin-events-backend': patch ---- - -Switched module ID to use kebab-case. diff --git a/.changeset/wild-knives-wait.md b/.changeset/wild-knives-wait.md deleted file mode 100644 index 6aafbe7acd..0000000000 --- a/.changeset/wild-knives-wait.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-catalog-backend': minor -'@backstage/plugin-catalog-node': minor ---- - -Permission rules can now be added for the Catalog plugin through the `CatalogPermissionExtensionPoint` interface. diff --git a/.changeset/witty-cars-wash.md b/.changeset/witty-cars-wash.md deleted file mode 100644 index 301ed5e35a..0000000000 --- a/.changeset/witty-cars-wash.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend': patch ---- - -Deprecated `EntitiesSearchFilter` and `EntityFilter`, which can now be imported from `@backstage/plugin-catalog-node` instead diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml index 57595621e4..356faa81ea 100644 --- a/.github/ISSUE_TEMPLATE/bug.yaml +++ b/.github/ISSUE_TEMPLATE/bug.yaml @@ -13,33 +13,29 @@ body: required: true attributes: label: '📜 Description' - description: 'A clear and concise description of what the bug is.' - placeholder: 'It bugs out when ...' + description: 'A clear and concise description of what the bug is. It bugs out when ...' - type: textarea id: expected-behavior validations: required: true attributes: label: '👍 Expected behavior' - description: 'What did you think should happen?' - placeholder: 'It should ...' + description: 'What did you think should happen? It should ...' - type: textarea id: actual-behavior validations: required: true attributes: label: '👎 Actual Behavior with Screenshots' - description: 'What did actually happen? Add screenshots, if applicable.' - placeholder: 'It actually ...' + description: 'What did actually happen? Add screenshots, if applicable. It actually ...' - type: textarea id: steps-to-reproduce validations: required: true attributes: label: '👟 Reproduction steps' - description: 'How do you trigger this bug? Please walk us through it step by step.' - placeholder: - "Provide a link to a live example, or an unambiguous set of steps to reproduce this bug. Include code or configuration to reproduce, if relevant.\n + description: 'How do you trigger this bug? Please walk us through it step by step. Provide a link to a live example, or an unambiguous set of steps to reproduce this bug. Include code or configuration to reproduce, if relevant.' + placeholder: "\n 1. Go to '...'\n 2. Click on '....'\n 3. Scroll down to '....'" @@ -49,17 +45,14 @@ body: required: false attributes: label: '📃 Provide the context for the Bug.' - description: 'How has this issue affected you? What are you trying to accomplish?' - placeholder: 'Providing context (e.g. links to configuration settings, stack trace or log data) helps us come up with a solution that is most useful in the real world.' + description: 'How has this issue affected you? What are you trying to accomplish? Providing context (e.g. links to configuration settings, stack trace or log data) helps us come up with a solution that is most useful in the real world.' - type: textarea id: environment validations: required: false attributes: label: '🖥️ Your Environment' - description: 'Provide Browser Information - Provide Output of `yarn backstage-cli info`' - placeholder: 'Include as many relevant details about the environment you experienced the bug in.' + description: 'Always provide output of `yarn backstage-cli info`; provide browser information when applicable. Include as many relevant details about the environment you experienced the bug in.' - type: checkboxes id: no-duplicate-issues attributes: diff --git a/.github/ISSUE_TEMPLATE/feature.yaml b/.github/ISSUE_TEMPLATE/feature.yaml index b2d5a6be81..8b1a697351 100644 --- a/.github/ISSUE_TEMPLATE/feature.yaml +++ b/.github/ISSUE_TEMPLATE/feature.yaml @@ -14,7 +14,6 @@ body: attributes: label: '🔖 Feature description' description: 'A clear and concise description of what the feature is.' - placeholder: 'You should add ...' - type: textarea id: context validations: @@ -22,13 +21,11 @@ body: attributes: label: '🎤 Context' description: 'Please explain why this feature should be implemented and how it would be used. Add examples, if applicable.' - placeholder: 'In my use-case, ...' - type: textarea id: implementation attributes: label: '✌️ Possible Implementation' - description: 'A clear and concise description of what you want to happen.' - placeholder: 'Not obligatory, but ideas as to the implementation of the addition or change' + description: 'A clear and concise description of what you want to happen. Not obligatory, but ideas as to the implementation of the addition or change.' - type: checkboxes id: no-duplicate-issues attributes: diff --git a/.github/ISSUE_TEMPLATE/plugin.yaml b/.github/ISSUE_TEMPLATE/plugin.yaml index a7f5216631..f77076146c 100644 --- a/.github/ISSUE_TEMPLATE/plugin.yaml +++ b/.github/ISSUE_TEMPLATE/plugin.yaml @@ -14,19 +14,16 @@ body: attributes: label: '🔖 Summary' description: 'Provide a general summary of the plugin and how it should work' - placeholder: 'You should add ...' - type: textarea id: website attributes: label: '🌐 Project website (if applicable)' description: 'Add a link to the open source project or product this plugin will integrate with, if existing' - placeholder: 'Website Link is ...' - type: textarea id: context attributes: label: '✌️ Context' - description: 'A clear and concise description about the Plugin.' - placeholder: 'Providing additional context' + description: 'A clear and concise description about the Plugin and any additional context.' - type: checkboxes id: no-duplicate-issues attributes: diff --git a/.github/ISSUE_TEMPLATE/rfc.yaml b/.github/ISSUE_TEMPLATE/rfc.yaml index 8e73992dc8..eae85419e7 100644 --- a/.github/ISSUE_TEMPLATE/rfc.yaml +++ b/.github/ISSUE_TEMPLATE/rfc.yaml @@ -13,28 +13,24 @@ body: required: true attributes: label: '🔖 Need' - description: 'Let us know why are you proposing this change' - placeholder: 'The problem we’re trying to address and the benefits/impact we expect to get from this are ...' + description: "Let us know why are you proposing this change. The problem we're trying to address and the benefits/impact we expect to get from this are ..." - type: textarea id: proposal validations: required: true attributes: label: '🎉 Proposal' - description: 'Describe the proposal in as much detail as needed for reviewers to give concrete feedback.' - placeholder: 'Take special care in this section to describe any implications on data privacy or security.' + description: 'Describe the proposal in as much detail as needed for reviewers to give concrete feedback. Take special care in this section to describe any implications on data privacy or security.' - type: textarea id: alternatives attributes: label: '〽️ Alternatives' - description: 'What alternatives to the proposed solution were considered?' - placeholder: 'What criteria/data was used to discard these?' + description: 'What alternatives to the proposed solution were considered? What criteria/data was used to discard these?' - type: textarea id: risk attributes: label: '❌ Risks' - description: 'What other things happening could conflict or compete (for example for resources) with the proposal?' - placeholder: 'What risk are there and how do we plan to handle them?' + description: 'What other things happening could conflict or compete (for example for resources) with the proposal? What risk are there and how do we plan to handle them?' - type: checkboxes id: no-duplicate-issues attributes: diff --git a/.github/ISSUE_TEMPLATE/ux_component.yaml b/.github/ISSUE_TEMPLATE/ux_component.yaml index c528356eb3..97280b67bf 100644 --- a/.github/ISSUE_TEMPLATE/ux_component.yaml +++ b/.github/ISSUE_TEMPLATE/ux_component.yaml @@ -6,37 +6,34 @@ body: - type: markdown attributes: value: | - We value your time and efforts to submit this RFC form. 🙏 + We value your time and efforts to submit this UX Component form. 🙏 - type: textarea id: ux-general validations: required: true attributes: label: '🔖 General' - description: 'Write a nice note to the community requesting the creation of a new component.' - placeholder: 'Include an image of your component. Bonus points for a GIF!' + description: | + 'Write a nice note to the community requesting the creation of a new component. Include an image of your component. Bonus points for a GIF!' - type: textarea id: usage validations: required: true attributes: label: '💻 Usage' - description: "Tell us what's the point of this component/pattern is." - placeholder: 'How does it help? How should it work? Any rules?' + description: "Tell us what's the point of this component/pattern is. How does it help? How should it work? Any rules?" - type: textarea id: specs validations: required: true attributes: label: '📐 Specs' - description: 'Include images that detail the redlines for your component.' - placeholder: "Once we get our Figma workspace set up, we'll be posting the Figma files rather than doing specs by hand." + description: "Include images that detail the redlines for your component. Once we get our Figma workspace set up, we'll be posting the Figma files rather than doing specs by hand." - type: textarea id: future attributes: label: '🔮 Future' description: 'List out any upcoming, exciting functionality for this component.' - placeholder: 'The component will have ...' - type: checkboxes id: no-duplicate-issues attributes: diff --git a/.github/uffizzi/k8s/manifests/pg-deploy.yaml b/.github/uffizzi/k8s/manifests/pg-deploy.yaml index b842328978..950e64283f 100644 --- a/.github/uffizzi/k8s/manifests/pg-deploy.yaml +++ b/.github/uffizzi/k8s/manifests/pg-deploy.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: postgres - image: postgres:13.2-alpine + image: postgres:12-alpine imagePullPolicy: 'IfNotPresent' ports: - containerPort: 5432 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 33d89b9c96..ada4233f18 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: - uses: actions/checkout@v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -70,7 +70,7 @@ jobs: - uses: actions/checkout@v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -153,8 +153,8 @@ jobs: name: Test ${{ matrix.node-version }} services: - postgres13: - image: postgres:13 + postgres16: + image: postgres:16 env: POSTGRES_PASSWORD: postgres options: >- @@ -164,8 +164,8 @@ jobs: --health-retries 5 ports: - 5432/tcp - postgres9: - image: postgres:9 + postgres12: + image: postgres:12 env: POSTGRES_PASSWORD: postgres options: >- @@ -201,7 +201,7 @@ jobs: run: git fetch origin master - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -218,8 +218,8 @@ jobs: run: yarn backstage-cli repo test --maxWorkers=2 --workerIdleMemoryLimit=1300M --since origin/master env: BACKSTAGE_TEST_DISABLE_DOCKER: 1 - BACKSTAGE_TEST_DATABASE_POSTGRES13_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres13.ports[5432] }} - BACKSTAGE_TEST_DATABASE_POSTGRES9_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres9.ports[5432] }} + BACKSTAGE_TEST_DATABASE_POSTGRES16_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres16.ports[5432] }} + BACKSTAGE_TEST_DATABASE_POSTGRES12_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres12.ports[5432] }} BACKSTAGE_TEST_DATABASE_MYSQL8_CONNECTION_STRING: mysql://root:root@localhost:${{ job.services.mysql8.ports[3306] }}/ignored # We run the test cases before verifying the specs to prevent any failing tests from causing errors. diff --git a/.github/workflows/deploy_docker-image.yml b/.github/workflows/deploy_docker-image.yml index 9ceed78685..037d4a88d7 100644 --- a/.github/workflows/deploy_docker-image.yml +++ b/.github/workflows/deploy_docker-image.yml @@ -27,7 +27,7 @@ jobs: ref: v${{ github.event.client_payload.version }} - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/deploy_microsite.yml b/.github/workflows/deploy_microsite.yml index 21a15ae475..8343b92a66 100644 --- a/.github/workflows/deploy_microsite.yml +++ b/.github/workflows/deploy_microsite.yml @@ -31,7 +31,7 @@ jobs: - uses: actions/checkout@v4.1.1 - name: use node.js 18.x - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: 18.x registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/deploy_nightly.yml b/.github/workflows/deploy_nightly.yml index 0fe84b4329..33dc17f867 100644 --- a/.github/workflows/deploy_nightly.yml +++ b/.github/workflows/deploy_nightly.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: use node.js 18.x - uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0 + uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 with: node-version: 18.x registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/deploy_packages.yml b/.github/workflows/deploy_packages.yml index 72124aa363..0d81f1c40a 100644 --- a/.github/workflows/deploy_packages.yml +++ b/.github/workflows/deploy_packages.yml @@ -17,8 +17,8 @@ jobs: node-version: [18.x, 20.x] services: - postgres13: - image: postgres:13 + postgres16: + image: postgres:16 env: POSTGRES_PASSWORD: postgres options: >- @@ -28,8 +28,8 @@ jobs: --health-retries 5 ports: - 5432/tcp - postgres9: - image: postgres:9 + postgres12: + image: postgres:12 env: POSTGRES_PASSWORD: postgres options: >- @@ -63,7 +63,7 @@ jobs: - uses: actions/checkout@v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -106,8 +106,8 @@ jobs: bash <(curl -s https://codecov.io/bash) -f packages/core-plugin-api/coverage/* -F core-plugin-api env: BACKSTAGE_TEST_DISABLE_DOCKER: 1 - BACKSTAGE_TEST_DATABASE_POSTGRES13_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres13.ports[5432] }} - BACKSTAGE_TEST_DATABASE_POSTGRES9_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres9.ports[5432] }} + BACKSTAGE_TEST_DATABASE_POSTGRES16_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres16.ports[5432] }} + BACKSTAGE_TEST_DATABASE_POSTGRES12_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres12.ports[5432] }} BACKSTAGE_TEST_DATABASE_MYSQL8_CONNECTION_STRING: mysql://root:root@localhost:${{ job.services.mysql8.ports[3306] }}/ignored - name: Discord notification @@ -145,7 +145,7 @@ jobs: - uses: actions/checkout@v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 72bc1bff68..64472e71c6 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@407ffafae6a767df3e0230c3df91b6443ae8df75 # v2.22.8 + uses: github/codeql-action/upload-sarif@1500a131381b66de0c52ac28abb13cd79f4b7ecc # v2.22.12 with: sarif_file: results.sarif diff --git a/.github/workflows/sync_code-formatting.yml b/.github/workflows/sync_code-formatting.yml index 5296dbc4c3..9b5a04198a 100644 --- a/.github/workflows/sync_code-formatting.yml +++ b/.github/workflows/sync_code-formatting.yml @@ -20,7 +20,7 @@ jobs: fetch-depth: 0 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/sync_release-manifest.yml b/.github/workflows/sync_release-manifest.yml index c6547e0f61..1cab7797e6 100644 --- a/.github/workflows/sync_release-manifest.yml +++ b/.github/workflows/sync_release-manifest.yml @@ -13,7 +13,7 @@ jobs: egress-policy: audit # Setup node & install deps before checkout, keeping install quick - - uses: actions/setup-node@v4.0.0 + - uses: actions/setup-node@v4.0.1 with: node-version: 18.x - name: Install dependencies diff --git a/.github/workflows/sync_snyk-github-issues.yml b/.github/workflows/sync_snyk-github-issues.yml index 40253188f6..f1a91ed7e6 100644 --- a/.github/workflows/sync_snyk-github-issues.yml +++ b/.github/workflows/sync_snyk-github-issues.yml @@ -19,7 +19,7 @@ jobs: - uses: actions/checkout@v4.1.1 - name: use node.js 18.x - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: 18.x registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/sync_snyk-monitor.yml b/.github/workflows/sync_snyk-monitor.yml index 7b2717d34e..c3f7af1550 100644 --- a/.github/workflows/sync_snyk-monitor.yml +++ b/.github/workflows/sync_snyk-monitor.yml @@ -58,6 +58,6 @@ jobs: SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} NODE_OPTIONS: --max-old-space-size=7168 - name: Upload Snyk report - uses: github/codeql-action/upload-sarif@v2.22.8 + uses: github/codeql-action/upload-sarif@v2.22.12 with: sarif_file: snyk.sarif diff --git a/.github/workflows/uffizzi-build.yml b/.github/workflows/uffizzi-build.yml index bfa6a0a373..c0bbde49f3 100644 --- a/.github/workflows/uffizzi-build.yml +++ b/.github/workflows/uffizzi-build.yml @@ -33,7 +33,7 @@ jobs: uses: actions/checkout@v4.1.1 - name: setup-node - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: 18.x registry-url: https://registry.npmjs.org/ diff --git a/.github/workflows/verify_accessibility.yml b/.github/workflows/verify_accessibility.yml index 3a5582792c..1310fc15f4 100644 --- a/.github/workflows/verify_accessibility.yml +++ b/.github/workflows/verify_accessibility.yml @@ -26,7 +26,7 @@ jobs: - uses: actions/checkout@v4.1.1 - name: Use Node.js 18.x - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: 18.x - name: yarn install diff --git a/.github/workflows/verify_codeql.yml b/.github/workflows/verify_codeql.yml index c23e45997c..61be150ff8 100644 --- a/.github/workflows/verify_codeql.yml +++ b/.github/workflows/verify_codeql.yml @@ -55,7 +55,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2.22.8 + uses: github/codeql-action/init@v2.22.12 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -66,7 +66,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2.22.8 + uses: github/codeql-action/autobuild@v2.22.12 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -80,4 +80,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2.22.8 + uses: github/codeql-action/analyze@v2.22.12 diff --git a/.github/workflows/verify_e2e-kubernetes.yml b/.github/workflows/verify_e2e-kubernetes.yml index 7e4862001e..db3651cfe1 100644 --- a/.github/workflows/verify_e2e-kubernetes.yml +++ b/.github/workflows/verify_e2e-kubernetes.yml @@ -29,7 +29,7 @@ jobs: - uses: actions/checkout@v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/verify_e2e-linux.yml b/.github/workflows/verify_e2e-linux.yml index 89da89889f..0e335b8fe0 100644 --- a/.github/workflows/verify_e2e-linux.yml +++ b/.github/workflows/verify_e2e-linux.yml @@ -18,7 +18,7 @@ jobs: services: postgres: - image: postgres:latest + image: postgres:12 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres @@ -52,7 +52,7 @@ jobs: git config --global user.name 'GitHub e2e user' - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/verify_e2e-windows.yml b/.github/workflows/verify_e2e-windows.yml index c0553fce3f..8a55e6af2e 100644 --- a/.github/workflows/verify_e2e-windows.yml +++ b/.github/workflows/verify_e2e-windows.yml @@ -50,7 +50,7 @@ jobs: git config --global user.name 'GitHub e2e user' - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/verify_microsite.yml b/.github/workflows/verify_microsite.yml index aef2bc333a..42a6663e59 100644 --- a/.github/workflows/verify_microsite.yml +++ b/.github/workflows/verify_microsite.yml @@ -30,7 +30,7 @@ jobs: - uses: actions/checkout@v4.1.1 - name: use node.js 18.x - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: 18.x diff --git a/.github/workflows/verify_storybook.yml b/.github/workflows/verify_storybook.yml index 9ed6c6b530..6219faf616 100644 --- a/.github/workflows/verify_storybook.yml +++ b/.github/workflows/verify_storybook.yml @@ -37,7 +37,7 @@ jobs: fetch-depth: 0 # Required to retrieve git history - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -51,7 +51,7 @@ jobs: - run: yarn build-storybook - - uses: chromaui/action@ad023504f8a7c8bd7f63d0f6775c05357f3a6478 # v1 + - uses: chromaui/action@80bf5911f28005ed208f15b7268843b79ca0e23a # v1 with: token: ${{ secrets.GITHUB_TOKEN }} # projectToken intentionally shared to allow collaborators to run Chromatic on forks diff --git a/.github/workflows/verify_windows.yml b/.github/workflows/verify_windows.yml index 9834435504..4cffa959da 100644 --- a/.github/workflows/verify_windows.yml +++ b/.github/workflows/verify_windows.yml @@ -36,7 +36,7 @@ jobs: - uses: actions/checkout@v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/ADOPTERS.md b/ADOPTERS.md index 681285dd78..8f3f93658b 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -262,3 +262,4 @@ _You can do this by using the [Adopter form](https://info.backstage.spotify.com/ | [Gynzy](https://gynzy.com) | [Stef Louwers](https://github.com/fhp) | We are building an internal developer portal to get an overview of all our software components. | | [Cielo](https://www.cielo.com.br) | [@Alex Silva](https://github.com/narokwq) | We are using as our Internal Developer Portal, it provides developers with the resources, information, and tools they need to build high-quality applications and adhere to organizational standards and security practices. | | [Giant Swarm](https://giantswarm.io) | [Lucas Weatherhog](https://github.com/weatherhog) | At Giant Swarm we are using Backstage as our internal developer portal. Heavily using the service catalog and the TechDocs plugin. Further looking into adopting functionalities of our Web UI into Backstage to have a single pane of glass for our core business, managing all our components, and helping developers to be more productive. | +| [WD Studios](https://wdstudios.tech) | [Mikael Aboagye](https://github.com/JailbreakPapa) | We are using Backstage as our main internal developer portal for our Programmers and Studio Partners. It's really proven its worth at our studio with on-boarding new programmers! diff --git a/README-ko_kr.md b/README-ko_kr.md new file mode 100644 index 0000000000..f7bcba144b --- /dev/null +++ b/README-ko_kr.md @@ -0,0 +1,78 @@ +[![headline](docs/assets/headline.png)](https://backstage.io/) + +# [Backstage](https://backstage.io) + +[English](README.md) \| 한국어 + +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) +[![CNCF Status](https://img.shields.io/badge/cncf%20status-incubation-blue.svg)](https://www.cncf.io/projects) +[![Discord](https://img.shields.io/discord/687207715902193673?logo=discord&label=Discord&color=5865F2&logoColor=white)](https://discord.gg/backstage-687207715902193673) +![Code style](https://img.shields.io/badge/code_style-prettier-ff69b4.svg) +[![Codecov](https://img.shields.io/codecov/c/github/backstage/backstage)](https://codecov.io/gh/backstage/backstage) +[![](https://img.shields.io/github/v/release/backstage/backstage)](https://github.com/backstage/backstage/releases) +[![Uffizzi](https://img.shields.io/endpoint?url=https%3A%2F%2Fapp.uffizzi.com%2Fapi%2Fv1%2Fpublic%2Fshields%2Fgithub.com%2Fbackstage%2Fbackstage)](https://app.uffizzi.com/ephemeral-environments/backstage/backstage) +[![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/7678/badge)](https://bestpractices.coreinfrastructure.org/projects/7678) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/backstage/backstage/badge)](https://securityscorecards.dev/viewer/?uri=github.com/backstage/backstage) + +## 백스테이지(Backstage)란? + +[백스테이지(Backstage)](https://backstage.io/) 는 개발자 포털 구출을 위한 개방형 플랫폼입니다. 중앙 집중식 소프트웨어 카탈로그를 기반으로하는 Backstage는 마이크로 서비스와 인프라의 질서를 복원하고 제품팀이 자율성을 훼손하지 않고 고품질 코드를 신속하게 출시할 수 있도록 지원합니다. + +Backstage 는 모든 인프라 도구, 서비스 및 문서를 통합하여 처음부터 끝까지 간소화된 개발 환경을 만듭니다. + +![software-catalog](docs/assets/header.png) + +Backstage 다음을 포함합니다: + +- [Backstage Software Catalog](https://backstage.io/docs/features/software-catalog/) 마이크로 서비스, 라이브러리, 데이터 파이프라인, 웹 사이트, ML 모델 등 모든 소프트웨어 관리 +- [Backstage Software Templates](https://backstage.io/docs/features/software-templates/) 새로운 프로젝트를 신속하게 시작하고 조직의 모밤 사례에따라 도구를 표준화 +- [Backstage TechDocs](https://backstage.io/docs/features/techdocs/) "docs like code" 접근 방식을 사용하여 기술 문서를 쉽게 작성, 유지 관리, 검색 및 사용 +- [open source plugins](https://github.com/backstage/backstage/tree/master/plugins) Backstage의 사용자 정의 가능성과 기능을 확장 + +Backstage는 Spotify에서 제작되었지만 현재는 [Cloud Native Computing Foundation(CNCF)](https://www.cncf.io)에서 인큐베이션 수준 프로젝트로 호스팅되고 있습니다. 추가적인 정보는 [announcement](https://backstage.io/blog/2022/03/16/backstage-turns-two#out-of-the-sandbox-and-into-incubation)를 참조하세요. + +## 프로젝트 로드맵 + +제공된 마일스톤을 포함한 자세한 프로젝트 로드맵에 대한 자세한 내용은 [the Roadmap](https://backstage.io/docs/overview/roadmap)을 참조하세요. + +## 시작하기 + +Backstage를 시작하기위해 [Getting Started documentation](https://backstage.io/docs/getting-started)를 참조하세요. + +## 문서 + +Backstage의 문서는 다음을 포함합니다: + +- [Main documentation](https://backstage.io/docs) +- [Software Catalog](https://backstage.io/docs/features/software-catalog/) +- [Architecture](https://backstage.io/docs/overview/architecture-overview) ([Decisions](https://backstage.io/docs/architecture-decisions/)) +- [Designing for Backstage](https://backstage.io/docs/dls/design) +- [Storybook - UI components](https://backstage.io/storybook) + +## 커뮤니티 + +커뮤니티에 참여하려면 다음 리소스를 사용하세요: + +- [Discord chatroom](https://discord.gg/backstage-687207715902193673) - 지원 및 프로젝트 토론 +- [Contributing to Backstage](https://github.com/backstage/backstage/blob/master/CONTRIBUTING.md) - 프로젝트 기여 +- [RFCs](https://github.com/backstage/backstage/labels/rfc) - 기술 방향을 정하는 데 도움을 주세요. +- [FAQ](https://backstage.io/docs/FAQ) - 자주 묻는 질문들 +- [Code of Conduct](CODE_OF_CONDUCT.md) - 커뮤니티 운영 방식 +- [Adopters](ADOPTERS.md) - Backstage를 사용하고 있는 기업 +- [Blog](https://backstage.io/blog/) - 공지사항 및 업데이트 +- [Newsletter](https://spoti.fi/backstagenewsletter) - 이메일 뉴스레터 구독 +- [Backstage Community Sessions](https://github.com/backstage/community) - 월간 모임 참여 및 커뮤니티 톺아보기 +- Backstage를 사용중이거나 흥미로운 프로젝트라고 생각하신다면 별표를 눌러주세요. 별표는 사랑입니다 ❤️ + +## License + +Copyright 2020-2023 © The Backstage Authors. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page: https://www.linuxfoundation.org/trademark-usage + +Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0 + +## 보안 + +민감한 보안문제는 Github가 아닌 Spotify의 [bug-bounty program](https://hackerone.com/spotify) 통해 신고해주세요 +Please report sensitive security issues using Spotify's [bug-bounty program](https://hackerone.com/spotify) rather than GitHub. + +자세한 내용은 [security release process](SECURITY.md)를 참고하세요. diff --git a/README.md b/README.md index 3f4993658d..9ddcfaa706 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ # [Backstage](https://backstage.io) +English \| [한국어](README-ko_kr.md) + [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![CNCF Status](https://img.shields.io/badge/cncf%20status-incubation-blue.svg)](https://www.cncf.io/projects) [![Discord](https://img.shields.io/discord/687207715902193673?logo=discord&label=Discord&color=5865F2&logoColor=white)](https://discord.gg/backstage-687207715902193673) diff --git a/contrib/chart/backstage/Chart.lock b/contrib/chart/backstage/Chart.lock index c835a4dcd1..8c9a3b237c 100644 --- a/contrib/chart/backstage/Chart.lock +++ b/contrib/chart/backstage/Chart.lock @@ -1,6 +1,6 @@ dependencies: - name: postgresql repository: https://charts.bitnami.com/bitnami - version: 13.2.21 -digest: sha256:8f8b0fe6c2e8f640237f61dcfab5821865d67753af06a782db7d61372cbbb9b9 -generated: "2023-11-27T22:30:42.837126565Z" + version: 13.2.25 +digest: sha256:59939b2a3ac354f0818ad48d05aba3ab38c3c9d44dcdbd7871c8f352f07d86e5 +generated: "2023-12-20T22:07:31.631181349Z" diff --git a/contrib/chart/backstage/Chart.yaml b/contrib/chart/backstage/Chart.yaml index efd84f1d38..2671d8dda8 100644 --- a/contrib/chart/backstage/Chart.yaml +++ b/contrib/chart/backstage/Chart.yaml @@ -18,7 +18,7 @@ sources: dependencies: - name: postgresql condition: postgresql.enabled - version: 13.2.21 + version: 13.2.25 repository: https://charts.bitnami.com/bitnami maintainers: diff --git a/docs/assets/frontend-system/architecture-utility-apis.drawio.svg b/docs/assets/frontend-system/architecture-utility-apis.drawio.svg new file mode 100644 index 0000000000..a7008b1126 --- /dev/null +++ b/docs/assets/frontend-system/architecture-utility-apis.drawio.svg @@ -0,0 +1,314 @@ + + + + + + + +
+
+
+ App +
+
+
+
+ + App + +
+
+ + + + + +
+
+
+ provides +
+
+
+
+ + provides + +
+
+ + + + +
+
+
+ Catalog Plugin +
+ + plugin:catalog + +
+
+
+
+ + Catalog Plugin... + +
+
+ + + + + +
+
+
+ + replaces +
+ implementation +
+
+
+
+
+
+ + replaces... + +
+
+ + + + +
+
+
+ Extension Overrides +
+
+
+
+ + Extension Overr... + +
+
+ + + + + +
+
+
+ provides +
+
+
+
+ + provides + +
+
+ + + + +
+
+
+ Todo Plugin +
+ + plugin:todo + +
+
+
+
+ + Todo Plugin... + +
+
+ + + + +
+
+
+ Backstage Frontend Framework +
+
+
+
+ + Backstage Frontend Framework + +
+
+ + + + + + +
+
+
+ + Catalog Client Utility API +
+ + api:plugin.catalog.service + +
+
+
+
+
+ + Catalog Client Utility API... + +
+
+ + + + +
+
+
+ + Todo Utility API +
+ + api:plugin.todo.api + +
+
+
+
+
+ + Todo Utility API... + +
+
+ + + + + + + + + +
+
+
+ + installs + +
+
+
+
+ + installs + +
+
+ + + + +
+
+
+ + Fetch Utility API +
+ + api:core.fetch + +
+
+
+
+
+ + Fetch Utility API... + +
+
+ + + + + +
+
+
+ provides +
+
+
+
+ + provides + +
+
+ + + + + +
+
+
+ depends on +
+
+
+
+ + depends on + +
+
+ + + + + +
+
+
+ depends on +
+
+
+
+ + depends on + +
+
+
+ + + + + Text is not SVG - cannot display + + + +
diff --git a/docs/backend-system/architecture/01-index.md b/docs/backend-system/architecture/01-index.md index 0e780039b6..9c37df7b66 100644 --- a/docs/backend-system/architecture/01-index.md +++ b/docs/backend-system/architecture/01-index.md @@ -6,8 +6,6 @@ sidebar_label: Overview description: The structure and architecture of the new Backend System and its component parts --- -> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.** - ## Building Blocks This section introduces the high-level building blocks upon which this new @@ -59,7 +57,7 @@ Just like plugins, modules also have access to services and can depend on their A detailed explanation of the package architecture can be found in the [Backstage Architecture -Overview](../../overview/architecture-overview/#package-architecture). The +Overview](../../overview/architecture-overview.md#package-architecture). The most important packages to consider for this system are the following: - `plugin--backend` houses the implementation of the backend plugins diff --git a/docs/backend-system/architecture/02-backends.md b/docs/backend-system/architecture/02-backends.md index c64024d653..3386cff3f7 100644 --- a/docs/backend-system/architecture/02-backends.md +++ b/docs/backend-system/architecture/02-backends.md @@ -6,8 +6,6 @@ sidebar_label: Backend description: Backend instances --- -> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.** - ## The Backend Instance This is the main entry point for creating a backend. It does not have any functionality in and of itself, but is simply responsible for wiring things together. diff --git a/docs/backend-system/architecture/03-services.md b/docs/backend-system/architecture/03-services.md index df610f45ab..573f6612c2 100644 --- a/docs/backend-system/architecture/03-services.md +++ b/docs/backend-system/architecture/03-services.md @@ -6,8 +6,6 @@ sidebar_label: Services description: Services for backend plugins --- -> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.** - Backend services provide shared functionality available to all backend plugins and modules. They are made available through service references that embed a type that represents the service interface, similar to how [Utility APIs](../../api/utility-apis.md) work in the Backstage frontend system. To use a service in your plugin or module you request an implementation of that service using the service reference. The system surrounding services exists to provide a level of indirection between the service interfaces and their implementation. It is an implementation of dependency injection, where each backend instance is the dependency injection container. The implementation for each service is provided by a service factory, which encapsulates the logic for how each service instance is created. diff --git a/docs/backend-system/architecture/04-plugins.md b/docs/backend-system/architecture/04-plugins.md index e93a6a39b2..195c32b049 100644 --- a/docs/backend-system/architecture/04-plugins.md +++ b/docs/backend-system/architecture/04-plugins.md @@ -6,8 +6,6 @@ sidebar_label: Plugins description: Backend plugins --- -> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.** - Plugins provide the actual base features of a Backstage backend. Each plugin operates completely independently of all other plugins and they only communicate with each other through network calls. This means that there is a strong degree of isolation between plugins, and that each plugin can be considered a separate microservice. While a default Backstage project has all plugins installed within a single backend, it is also possible to split this setup into multiple backends, with each backend housing one or more plugins. ## Defining a Plugin diff --git a/docs/backend-system/architecture/05-extension-points.md b/docs/backend-system/architecture/05-extension-points.md index e6eb0a9e16..4b7f893f0b 100644 --- a/docs/backend-system/architecture/05-extension-points.md +++ b/docs/backend-system/architecture/05-extension-points.md @@ -6,8 +6,6 @@ sidebar_label: Extension Points description: Extension points of backend plugins --- -> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.** - While plugins are able to use static configuration for lightweight forms of customization, you can quickly hit a limit where you need something more powerful to allow users to extend your plugin. For this purpose, the backend system provides a mechanism for plugins to provide extension points, which can be used to expose deeper customizations for your plugin. Extension points are used by modules, which are installed in the backend adjacent to plugins. Modules are covered more in-depth in the [next section](./06-modules.md). Extension points are quite similar to services, in that they both encapsulate an interface in a reference object. The key difference is that extension points are registered and provided by plugins themselves, and do not have any factory associated with them. Extension points for a given plugin are also only accessible to modules that extend that same plugin. diff --git a/docs/backend-system/architecture/06-modules.md b/docs/backend-system/architecture/06-modules.md index b15c873c39..eb00e737e3 100644 --- a/docs/backend-system/architecture/06-modules.md +++ b/docs/backend-system/architecture/06-modules.md @@ -6,8 +6,6 @@ sidebar_label: Modules description: Modules for backend plugins --- -> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.** - Backend modules are used to extend [plugins](./04-plugins.md) or sometimes other modules with additional features or change existing behavior. They must always be installed in the same backend instance as the plugin that they extend, and may only extend a single plugin. Modules interact with their target plugin using the [extension points](./05-extension-points.md) registered by the plugin, while also being able to depend on the [services](./03-services.md) of that plugin. Both modules and plugins register an `init` method that is called during startup. In order to ensure that modules have registered all their extensions before the plugin starts up, all modules for each plugin are completely initialized before the plugin itself is initialized. In practice this means that all promises returned by each `init` method of the modules need to resolve before the plugin `init` method is called. This also means that it is not possible to further interact with the extension points once the `init` method has resolved. diff --git a/docs/backend-system/architecture/07-naming-patterns.md b/docs/backend-system/architecture/07-naming-patterns.md index 9af1e09a27..f45355acf0 100644 --- a/docs/backend-system/architecture/07-naming-patterns.md +++ b/docs/backend-system/architecture/07-naming-patterns.md @@ -6,8 +6,6 @@ sidebar_label: Naming Patterns description: Naming patterns in the backend system --- -> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.** - These are the naming patterns to adhere to within the backend system. They help us keep exports consistent across packages and make it easier to understand the usage and intent of exports. As a rule, all names should be camel case, with the exceptions of plugin and module IDs, which should be kebab case. diff --git a/docs/backend-system/building-backends/01-index.md b/docs/backend-system/building-backends/01-index.md index 3c6c51be51..b1c85aad5d 100644 --- a/docs/backend-system/building-backends/01-index.md +++ b/docs/backend-system/building-backends/01-index.md @@ -6,8 +6,6 @@ sidebar_label: Overview description: Building backends using the new backend system --- -> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.** - > NOTE: If you have an existing backend that is not yet using the new backend > system, see [migrating](./08-migrating.md). diff --git a/docs/backend-system/building-backends/08-migrating.md b/docs/backend-system/building-backends/08-migrating.md index 83bb315fab..e38b0f8c3a 100644 --- a/docs/backend-system/building-backends/08-migrating.md +++ b/docs/backend-system/building-backends/08-migrating.md @@ -6,8 +6,6 @@ sidebar_label: Migration Guide description: How to migrate existing backends to the new backend system --- -> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.** - ## Overview This section describes how to migrate an existing Backstage backend service @@ -21,8 +19,7 @@ internal plugins and support classes themselves to the backend system first - the migration here will mostly deal with wiring and using compatibility wrappers where possible in the backend package itself. We hope that you will find that you end up with a much smaller, easier to understand, and easier to maintain -package as a result of these steps, and then being able to [migrate -plugins](../building-plugins-and-modules/08-migrating.md) as a separate +package as a result of these steps, and then being able to [migrate plugins](../building-plugins-and-modules/08-migrating.md) as a separate endeavour later. ## Overall Structure @@ -262,9 +259,259 @@ If you have other customizations made to `plugins/catalog.ts`, such as adding custom processors or entity providers, read on. Otherwise, you should be able to just delete that file at this point. +#### Amazon Web Services + +`AwsEksClusterProcessor` and `AwsOrganizationCloudAccountProcessor` have not yet been migrated to the new backend system. +See [Other Catalog Extensions](#other-catalog-extensions) for how to use these in the new backend system. + +For `AwsS3DiscoveryProcessor`, first migrate to `AwsS3EntityProvider`. + +To migrate `AwsS3EntityProvider` to the new backend system, add a reference to the `@backstage/plugin-catalog-backend-module-aws` module. + +```ts title="packages/backend/src/index.ts" +backend.add(import('@backstage/plugin-catalog-backend/alpha')); +/* highlight-add-start */ +backend.add(import('@backstage/plugin-catalog-backend-module-aws/alpha')); +/* highlight-add-end */ +``` + +If you were providing a `schedule` in code, this now needs to be set via configuration. +All other AWS configuration in `app-config.yaml` remains the same. + +```yaml title="app-config.yaml" +catalog: + providers: + awsS3: + yourProviderId: + # ... + /* highlight-add-start */ + schedule: + frequency: PT1H + timeout: PT50M + /* highlight-add-end */ +``` + +#### Azure DevOps + +For `AzureDevOpsDiscoveryProcessor`, first migrate to `AzureDevOpsEntityProvider`. + +To migrate `AzureDevOpsEntityProvider` to the new backend system, add a reference to the `@backstage/plugin-catalog-backend-module-azure` module. + +```ts title="packages/backend/src/index.ts" +backend.add(import('@backstage/plugin-catalog-backend/alpha')); +/* highlight-add-start */ +backend.add(import('@backstage/plugin-catalog-backend-module-azure/alpha')); +/* highlight-add-end */ +``` + +If you were providing a `schedule` in code, this now needs to be set via configuration. +All other Azure DevOps configuration in `app-config.yaml` remains the same. + +```yaml title="app-config.yaml" +catalog: + providers: + azureDevOps: + yourProviderId: + # ... + /* highlight-add-start */ + schedule: + frequency: PT1H + timeout: PT50M + /* highlight-add-end */ +``` + +#### Open API + +`InternalOpenApiDocumentationProvider` has not yet been migrated to the new backend system. +See [Other Catalog Extensions](#other-catalog-extensions) for how to use this in the new backend system. + +#### Bitbucket + +For `BitbucketDiscoveryProcessor`, migrate to `BitbucketCloudEntityProvider` or `BitbucketServerEntityProvider` + +To migrate `BitbucketCloudEntityProvider` to the new backend system, add a reference to the `@backstage/plugin-catalog-backend-module-bitbucket-cloud` module. + +```ts title="packages/backend/src/index.ts" +backend.add(import('@backstage/plugin-catalog-backend/alpha')); +/* highlight-add-start */ +backend.add( + import('@backstage/plugin-catalog-backend-module-bitbucket-cloud/alpha'), +); +/* highlight-add-end */ +``` + +If you were providing a `schedule` in code, this now needs to be set via configuration. +All other Bitbucket Cloud configuration in `app-config.yaml` remains the same. + +```yaml title="app-config.yaml" +catalog: + providers: + bitbucketCloud: + yourProviderId: + # ... + /* highlight-add-start */ + schedule: + frequency: PT30M + timeout: PT3M + /* highlight-add-end */ +``` + +To migrate `BitbucketServerEntityProvider` to the new backend system, add a reference to `@backstage/plugin-catalog-backend-module-bitbucket-server`. + +```ts title="packages/backend/src/index.ts" +backend.add(import('@backstage/plugin-catalog-backend/alpha')); +/* highlight-add-start */ +backend.add( + import('@backstage/plugin-catalog-backend-module-bitbucket-server/alpha'), +); +/* highlight-add-end */ +``` + +If you were providing a `schedule` in code, this now needs to be set via configuration. +All other Bitbucket Server configuration in `app-config.yaml` remains the same. + +```yaml title="app-config.yaml" +catalog: + providers: + bitbucketServer: + yourProviderId: + # ... + /* highlight-add-start */ + schedule: + frequency: PT30M + timeout: PT3M + /* highlight-add-end */ +``` + +#### Google Cloud Platform + +To migrate `GkeEntityProvider` to the new backend system, add a reference to `@backstage/plugin-catalog-backend-module-gcp`. + +```ts title="packages/backend/src/index.ts" +backend.add(import('@backstage/plugin-catalog-backend/alpha')); +/* highlight-add-start */ +backend.add(import('@backstage/plugin-catalog-backend-module-gcp')); +/* highlight-add-end */ +``` + +Configuration in app-config.yaml remains the same. + +#### Gerrit + +To migrate `GerritEntityProvider` to the new backend system, add a reference to `@backstage/plugin-catalog-backend-module-gerrit`. + +```ts title="packages/backend/src/index.ts" +backend.add(import('@backstage/plugin-catalog-backend/alpha')); +/* highlight-add-start */ +backend.add(import('@backstage/plugin-catalog-backend-module-gerrit/alpha')); +/* highlight-add-end */ +``` + +If you were providing a `schedule` in code, this now needs to be set via configuration. +All other Gerrit configuration in `app-config.yaml` remains the same. + +```yaml title="app-config.yaml" +catalog: + providers: + gerrit: + yourProviderId: + # ... + /* highlight-add-start */ + schedule: + frequency: PT30M + timeout: PT3M + /* highlight-add-end */ +``` + +#### Github + +For `GithubDiscoveryProcessor`, `GithubMultiOrgReaderProcessor` and `GithubOrgReaderProcessor`, first migrate to the equivalent Entity Provider. + +To migrate `GithubEntityProvider` to the new backend system, add a reference to `@backstage/plugin-catalog-backend-module-github`. + +```ts title="packages/backend/src/index.ts" +backend.add(import('@backstage/plugin-catalog-backend/alpha')); +/* highlight-add-start */ +backend.add(import('@backstage/plugin-catalog-backend-module-github/alpha')); +/* highlight-add-end */ +``` + +If you were providing a `schedule` in code, this now needs to be set via configuration. +All other Github configuration in `app-config.yaml` remains the same. + +```yaml title="app-config.yaml" +catalog: + providers: + github: + yourProviderId: + # ... + /* highlight-add-start */ + schedule: + frequency: PT30M + timeout: PT3M + /* highlight-add-end */ +``` + +To migrate `GithubMultiOrgEntityProvider` and `GithubOrgEntityProvider` to the new backend system, add a reference to `@backstage/plugin-catalog-backend-module-github-org`. + +```ts title="packages/backend/src/index.ts" +backend.add(import('@backstage/plugin-catalog-backend/alpha')); +/* highlight-add-start */ +backend.add(import('@backstage/plugin-catalog-backend-module-github-org')); +/* highlight-add-end */ +``` + +If you were providing a `schedule` in code, this now needs to be set via configuration. +All other Github configuration in `app-config.yaml` remains the same. + +```yaml title="app-config.yaml" +catalog: + providers: + githubOrg: + yourProviderId: + # ... + /* highlight-add-start */ + schedule: + frequency: PT30M + timeout: PT3M + /* highlight-add-end */ +``` + +If you were providing transformers, these can be configured by extending `githubOrgEntityProviderTransformsExtensionPoint` + +```ts title="packages/backend/src/index.ts" +import { createBackendModule } from '@backstage/backend-plugin-api'; +import { githubOrgEntityProviderTransformsExtensionPoint } from '@backstage/plugin-catalog-backend-module-github-org'; + +backend.add( + createBackendModule({ + pluginId: 'catalog', + moduleId: 'githubOrgTransformers', + register(env) { + env.registerInit({ + deps: { + /* highlight-add-start */ + githubOrgTransformers: + githubOrgEntityProviderTransformsExtensionPoint, + /* highlight-add-end */ + }, + async init({ githubOrgTransformers }) { + /* highlight-add-start */ + githubOrgTransformers.setUserTransformer(myUserTransformer); + githubOrgTransformers.setTeamTransformer(myTeamTransformer); + /* highlight-add-end */ + }, + }); + }, + }), +); +``` + #### Microsoft Graph -Import the Microsoft Graph catalog module +For `MicrosoftGraphOrgReaderProcessor`, first migrate to `MicrosoftGraphOrgEntityProvider` + +To migrate `MicrosoftGraphOrgEntityProvider` to the new backend system, add a reference to `@backstage/plugin-catalog-backend-module-msgraph`. ```ts title="packages/backend/src/index.ts" backend.add(import('@backstage/plugin-catalog-backend/alpha')); @@ -273,7 +520,8 @@ backend.add(import('@backstage/plugin-catalog-backend-module-msgraph/alpha')); /* highlight-add-end */ ``` -If you were providng a `schedule` programtically, this now needs to be set via configuration +If you were providing a `schedule` in code, this now needs to be set via configuration. +All other Microsoft Graph configuration in `app-config.yaml` remains the same. ```yaml title="app-config.yaml" catalog: @@ -285,7 +533,6 @@ catalog: frequency: PT4H timeout: PT30M /* highlight-add-end */ - ``` If you were providing transformers, these can be configured by extending `microsoftGraphOrgEntityProviderTransformExtensionPoint` diff --git a/docs/backend-system/building-plugins-and-modules/01-index.md b/docs/backend-system/building-plugins-and-modules/01-index.md index 0f12e81a8c..168646afab 100644 --- a/docs/backend-system/building-plugins-and-modules/01-index.md +++ b/docs/backend-system/building-plugins-and-modules/01-index.md @@ -6,8 +6,6 @@ sidebar_label: Overview description: Building backend plugins and modules using the new backend system --- -> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.** - > NOTE: If you have an existing backend and/or backend plugins that are not yet > using the new backend system, see [migrating](./08-migrating.md). diff --git a/docs/backend-system/building-plugins-and-modules/02-testing.md b/docs/backend-system/building-plugins-and-modules/02-testing.md index d14f7de09c..f8af2bcabe 100644 --- a/docs/backend-system/building-plugins-and-modules/02-testing.md +++ b/docs/backend-system/building-plugins-and-modules/02-testing.md @@ -6,8 +6,6 @@ sidebar_label: Testing description: Learn how to test your backend plugins and modules --- -> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.** - Utilities for testing backend plugins and modules are available in `@backstage/backend-test-utils`. This section describes those facilities. @@ -120,7 +118,7 @@ describe('MyDatabaseClass', () => { // "physical" databases to test against is much costlier than creating the // "logical" databases within them that the individual tests use. const databases = TestDatabases.create({ - ids: ['POSTGRES_13', 'POSTGRES_9', 'SQLITE_3', 'MYSQL_8'], + ids: ['POSTGRES_16', 'POSTGRES_12', 'SQLITE_3', 'MYSQL_8'], }); // Just an example of how to conveniently bundle up the setup code diff --git a/docs/backend-system/building-plugins-and-modules/08-migrating.md b/docs/backend-system/building-plugins-and-modules/08-migrating.md index cc920c576e..8a31251ee8 100644 --- a/docs/backend-system/building-plugins-and-modules/08-migrating.md +++ b/docs/backend-system/building-plugins-and-modules/08-migrating.md @@ -6,8 +6,6 @@ sidebar_label: Migration Guide description: How to migrate existing backend plugins to the new backend system --- -> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.** - Migrating an existing backend plugin to the new backend system is fairly straightforward. The process is similar across the majority of plugins which just return a `Router` that is then wired up in the `index.ts` file of your backend. The primary thing that we need to do is to make sure that the dependencies that are required by the plugin are available, and then registering the router with the HTTP router service. Let's look at an example of migrating the Kubernetes backend plugin. In the existing (old) system, the kubernetes backend is structured like this: diff --git a/docs/backend-system/core-services/01-index.md b/docs/backend-system/core-services/01-index.md index 0163d45108..9074998719 100644 --- a/docs/backend-system/core-services/01-index.md +++ b/docs/backend-system/core-services/01-index.md @@ -6,8 +6,6 @@ sidebar_label: Overview description: Core backend service APIs --- -> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.** - The default backend provides several [core services](https://github.com/backstage/backstage/blob/master/packages/backend-plugin-api/src/services/definitions/coreServices.ts) out of the box which includes access to configuration, logging, URL Readers, databases and more. All core services are available through the `coreServices` namespace in the `@backstage/backend-plugin-api` package. diff --git a/docs/backend-system/index.md b/docs/backend-system/index.md index c74dd34102..22ea4c6c59 100644 --- a/docs/backend-system/index.md +++ b/docs/backend-system/index.md @@ -6,10 +6,8 @@ sidebar_label: Introduction description: The Backend System --- -> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.** - ## Status -The new backend system is in alpha, but many plugins have already been migrated. We recommend all plugins to migrate to the new system, and you can also try it out in your own production deployments. +The new backend system is released and ready for production use, and many plugins and modules have already been migrated. We recommend all plugins and deployments to migrate to the new system. You can find an example backend setup in [the `backend-next` package](https://github.com/backstage/backstage/tree/master/packages/backend-next). diff --git a/docs/features/search/how-to-guides.md b/docs/features/search/how-to-guides.md index a5662999ae..e49bdb4fa5 100644 --- a/docs/features/search/how-to-guides.md +++ b/docs/features/search/how-to-guides.md @@ -391,8 +391,6 @@ There are other more specific search results layout components that also accept ## How to migrate your backend installation to use Search together with the new backend system -> DISCLAIMER: The new backend system is in alpha, and so are the search backend support for the new backend system. We don't recommend you to migrate your backend installations to the new system yet. But if you want to experiment, this is the guide for you! - Recently, the Backstage maintainers [announced the new Backend System](https://backstage.io/blog/2023/02/15/backend-system-alpha). The search plugins are now migrated to support the new backend system. In this guide you will learn how to update your backend set up. In "packages/backend-next/index.ts", install the search plugin [1], the search engine [2], and the search collators/decorators modules [3]: diff --git a/docs/features/software-catalog/api.md b/docs/features/software-catalog/api.md index 97d43209d6..3ab3c0df96 100644 --- a/docs/features/software-catalog/api.md +++ b/docs/features/software-catalog/api.md @@ -35,9 +35,186 @@ process, not the raw originally ingested entity data. See [The Life of an Entity](./life-of-an-entity.md) for more details about this process and distinction. +### `GET /entities/by-query` + +Query entities. Supports the following query parameters, described in the section below: + +- [`filter`](#filtering), for selecting only a subset of all entities +- [`fields`](#field-selection), for selecting only parts of the full data + structure of each entity +- `limit` for limiting the number of entities returned (20 is the default) +- [`orderField`](#ordering), for deciding the order of the entities +- [`fullTextFilter`](#full-text-filtering), for filtering the entities by text +- [`cursor`](#pagination), for retrieving the next or previous batch of entities + +The return type is JSON, on the following form + +```json +{ + "items": [{ "kind": "Component", "metadata": { "name": "foo" } }], + "totalItems": 4, + "pageInfo": { + "nextCursor": "a-cursor", + "prevCursor": "another-cursor" + } +} +``` + +#### Filtering + +You can pass in one or more filter sets that get matched against each entity. +Each filter set is a number of conditions that all have to match for the +condition to be true (conditions effectively have an AND between them). At least +one filter set has to be true for the entity to be part of the result set +(filter sets effectively have an OR between them). + +Example: + +```text +/entities/by-query?filter=kind=user,metadata.namespace=default&filter=kind=group,spec.type + + Return entities that match + + Filter set 1: + Condition 1: kind = user + AND + Condition 2: metadata.namespace = default + + OR + + Filter set 2: + Condition 1: kind = group + AND + Condition 2: spec.type exists +``` + +Each condition is either on the form ``, or on the form `=`. +The first form asserts on the existence of a certain key (with any value), and +the second asserts that the key exists and has a certain value. All checks are +always case _insensitive_. + +In all cases, the key is a simplified JSON path in a given piece of entity data. +Each part of the path is a key of an object, and the traversal also descends +through arrays. There are two special forms: + +- Array items that are simple value types (such as strings) match on a key-value + pair where the key is the item as a string, and the value is the string `true` +- Relations can be matched on a `relations.=` form + +Let's look at a simplified example to illustrate the concept: + +```json +{ + "a": { + "b": ["c", { "d": 1 }], + "e": 7 + } +} +``` + +This would match any one of the following conditions: + +- `a` +- `a.b` +- `a.b.c` +- `a.b.c=true` +- `a.b.d` +- `a.b.d=1` +- `a.e` +- `a.e=7` + +Some more real world usable examples: + +- Return all orphaned entities: + + `/entities/by-query?filter=metadata.annotations.backstage.io/orphan=true` + +- Return all users and groups: + + `/entities/by-query?filter=kind=user&filter=kind=group` + +- Return all service components: + + `/entities/by-query?filter=kind=component,spec.type=service` + +- Return all entities with the `java` tag: + + `/entities/by-query?filter=metadata.tags.java` + +- Return all users who are members of the `ops` group (note that the full + [reference](references.md) of the group is used): + + `/entities/by-query?filter=kind=user,relations.memberof=group:default/ops` + +#### Full text filtering + +TODO + +#### Field selection + +By default the full entities are returned, but you can pass in a `fields` query +parameter which selects what parts of the entity data to retain. This makes the +response smaller and faster to transfer, and may allow the catalog to perform +more efficient queries. + +The query parameter value is a comma separated list of simplified JSON paths +like above. Each path corresponds to the key of either a value, or of a subtree +root that you want to keep in the output. The rest is pruned away. For example, +specifying `?fields=metadata.name,metadata.annotations,spec` retains only the +`name` and `annotations` fields of the `metadata` of each entity (it'll be an +object with at most two keys), keeps the entire `spec` unchanged, and cuts out +all other roots such as `relations`. + +Some more real world usable examples: + +- Return only enough data to form the full ref of each entity: + + `/entities/by-query?fields=kind,metadata.namespace,metadata.name` + +#### Ordering + +By default the entities are returned ordered by their internal uid. You can +customize the `orderField` query parameters to affect that ordering. + +For example, to return entities by their name: + +`/entities/by-query?orderField=metadata.name,asc` + +Each parameter can be followed by `asc` for ascending lexicographical order or +`desc` for descending (reverse) lexicographical order. + +#### Pagination + +You may pass the `cursor` query parameters to perform cursor based pagination +through the set of entities. The value of `cursor` will be returned in the response, under the `pageInfo` property: + +```json + "pageInfo": { + "nextCursor": "a-cursor", + "prevCursor": "another-cursor" + } +``` + +If `nextCursor` exists, it can be used to retrieve the next batch of entities. Following the same approach, +if `prevCursor` exists, it can be used to retrieve the previous batch of entities. + +- [`filter`](#filtering), for selecting only a subset of all entities +- [`fields`](#field-selection), for selecting only parts of the full data + structure of each entity +- `limit` for limiting the number of entities returned (20 is the default) +- [`orderField`](#ordering), for deciding the order of the entities +- `fullTextFilter` + **NOTE**: [`filter`, `orderField`, `fullTextFilter`] and `cursor` are mutually exclusive. This means that, + it isn't possible to change any of [`filter`, `orderField`, `fullTextFilter`] when passing `cursor` as query parameters, + as changing any of these properties will affect pagination. If any of `filter`, `orderField`, `fullTextFilter` is specified together with `cursor`, only the latter is taken into consideration. + ### `GET /entities` -Lists entities. Supports the following query parameters, described in sections +Lists entities. + +**NOTE**: This endpoint is deprecated in favor of `GET /entities/by-query`, which provides a more efficient implementation and cursor based pagination. + +The endpoint supports the following query parameters, described in sections below: - [`filter`](#filtering), for selecting only a subset of all entities diff --git a/docs/features/software-templates/writing-templates.md b/docs/features/software-templates/writing-templates.md index 7019ecfb28..35458446c2 100644 --- a/docs/features/software-templates/writing-templates.md +++ b/docs/features/software-templates/writing-templates.md @@ -231,8 +231,53 @@ spec: inputType: tel ``` +### Using Secrets + +You may want to mark things as secret and make sure that these values are protected and not available through REST endpoints. You can do this by using the built in `ui:field: Secret`. + +You can define this property as any normal parameter, however the consumption of this parameter will not be available through `${{ parameters.myKey }}` you will instead need to use `${{ secrets.myKey }}` in your `template.yaml`. + +Parameters will be automatically masked in the review step. + +```yaml +apiVersion: scaffolder.backstage.io/v1beta3 +kind: Template +metadata: + name: v1beta3-demo + title: Test Action template + description: scaffolder v1beta3 template demo +spec: + owner: backstage/techdocs-core + type: service + + parameters: + - title: Authenticaion + description: Provide authentication for the resource + required: + - username + - password + properties: + username: + type: string + # use the built in Secret field extension + ui:field: Secret + password: + type: string + ui:field: Secret + + steps: + - id: setupAuthentication + action: auth:create + input: + # make sure to use ${{ secrets.parameterName }} to reference these values + username: ${{ secrets.username }} + password: ${{ secrets.password }} +``` + ### Hide or mask sensitive data on Review step +> Note: this approach is soon to be deprecated, please mark things as secret by using the `Secret` field extension instead as mentioned above. + Sometimes, specially in custom fields, you collect some data on Create form that must not be shown to the user on Review step. To hide or mask this data, you can use `ui:widget: password` or set some properties of `ui:backstage`: diff --git a/docs/frontend-system/architecture/01-index.md b/docs/frontend-system/architecture/01-index.md index 380ebaa335..8585eb76fc 100644 --- a/docs/frontend-system/architecture/01-index.md +++ b/docs/frontend-system/architecture/01-index.md @@ -6,7 +6,7 @@ sidebar_label: Overview description: The structure and architecture of the new Frontend System --- -> **NOTE: The new frontend system is in a highly experimental phase** +> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** ## Building Blocks diff --git a/docs/frontend-system/architecture/02-app.md b/docs/frontend-system/architecture/02-app.md index 52fd20faee..1ffae71981 100644 --- a/docs/frontend-system/architecture/02-app.md +++ b/docs/frontend-system/architecture/02-app.md @@ -1,12 +1,12 @@ --- -id: apps +id: app title: App Instances sidebar_label: App # prettier-ignore description: App instances --- -> **NOTE: The new frontend system is in a highly experimental phase** +> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** ## The App Instance @@ -45,4 +45,35 @@ A common type of data that is shared between extensions is React elements and co ## Feature Discovery -TODO +App feature discovery lets you automatically discover and install features provided by dependencies in your app. In practice, it means that you don't need to manually `import` features in code, but they are instead installed as soon as you add them as a dependency in your `package.json`. + +Because feature discovery needs to interact with the compilation process, it is only available when using the `@backstage/cli` to build your app. It is hooked into the WebPack compilation process by scanning your app package for compatible dependencies, which are then made part of the app compilation bundle. + +Since the `@backstage/cli` is a more stable component than the new frontend system, feature discovery is currently marked as an experimental feature of the CLI and needs to be enabled manually. To enable it, add the following configuration to your `app-config.yaml`: + +```yaml +app: + experimental: + packages: all +``` + +This will cause all dependencies in your app package to be installed automatically. If this is not desired, you can use include or exclude filters to narrow down the set of packages: + +```yaml +app: + experimental: + packages: + # Only the following packages will be included + include: + - '@backstage/plugin-catalog' + - '@backstage/plugin-scaffolder' +--- +app: + experimental: + packages: + # All but the following package will be included + exclude: + - '@backstage/plugin-catalog' +``` + +Note that you do not need to manually exclude packages that you also import explicitly in code, since plugin instances are deduplicated by the app. You will never end up with duplicate plugin installations except if they are in fact two different plugin instances with different IDs. diff --git a/docs/frontend-system/architecture/03-extensions.md b/docs/frontend-system/architecture/03-extensions.md index 7deafbd74f..39e36cbeb2 100644 --- a/docs/frontend-system/architecture/03-extensions.md +++ b/docs/frontend-system/architecture/03-extensions.md @@ -6,7 +6,7 @@ sidebar_label: Extensions description: Frontend extensions --- -> **NOTE: The new frontend system is in a highly experimental phase** +> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** As mentioned in the [previous section](./02-app.md), Backstage apps are built up from a tree of extensions. This section will go into more detail about what extensions are, how to create and use them, and how to create your own extensibility patterns. diff --git a/docs/frontend-system/architecture/04-plugins.md b/docs/frontend-system/architecture/04-plugins.md index a385a309e0..042d4fbc36 100644 --- a/docs/frontend-system/architecture/04-plugins.md +++ b/docs/frontend-system/architecture/04-plugins.md @@ -6,7 +6,7 @@ sidebar_label: Plugins description: Frontend plugins --- -> **NOTE: The new frontend system is in a highly experimental phase** +> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** ## Introduction diff --git a/docs/frontend-system/architecture/05-extension-overrides.md b/docs/frontend-system/architecture/05-extension-overrides.md index 14d15efb74..e722145552 100644 --- a/docs/frontend-system/architecture/05-extension-overrides.md +++ b/docs/frontend-system/architecture/05-extension-overrides.md @@ -1,12 +1,12 @@ --- -id: extension overrides +id: extension-overrides title: Frontend Extension Overrides sidebar_label: Extension Overrides # prettier-ignore description: Frontend extension overrides --- -> **NOTE: The new frontend system is in a highly experimental phase** +> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** ## Introduction diff --git a/docs/frontend-system/architecture/06-utility-apis.md b/docs/frontend-system/architecture/06-utility-apis.md index 135f60744a..fe714793d7 100644 --- a/docs/frontend-system/architecture/06-utility-apis.md +++ b/docs/frontend-system/architecture/06-utility-apis.md @@ -6,6 +6,25 @@ sidebar_label: Utility APIs description: Utility APIs --- -> **NOTE: The new frontend system is in a highly experimental phase** +> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** -See [Utility APIs docs](../../api/utility-apis.md). +## Overview + +Utility APIs are pieces of standalone functionality, interfaces that can be requested by plugins to use. They are defined by a TypeScript interface as well as a reference (an "API ref") used to access its implementation. They can be provided both by plugins and the core framework, and are themselves [extensions](../architecture/03-extensions.md) that can have inputs, be replaced, and be declaratively configured in your app-config. + +A common example of a utility API is a client interface to interact with the backend part of a plugin, such as the catalog client. Any frontend plugin can then request an implementation of that interface to make requests through. + +The following diagram shows a hypothetical application, which depends on two plugins and also provides some extra overrides. Note that both the plugins and the core framework provide utility APIs, and that they depended on each other. The app also chooses to use its overrides mechanism to supply a replacement implementation of one API, which takes precedence over the default one. Thus, all consumers of that API will be sure to get that new implementation provided to them. + +![frontend system utility apis diagram](../../assets/frontend-system/architecture-utility-apis.drawio.svg) + +## Extension structure + +All utility APIs implement the `createApiExtension.factoryDataRef` output data type, and must attach exclusively to the `core` extension's `apis` input no matter who provided them. These defaults are provided out of the box by the `createApiExtension` framework function. + +Since utility APIs are extensions, they can also have inputs in advanced use cases. This is occasionally useful for complex APIs that can themselves be extended with additional programmatic functionality by adopters. + +## Links + +- The [Utility APIs section](../utility-apis/01-index.md) of the plugin docs +- The legacy docs on [utility APIs](../../api/utility-apis.md) diff --git a/docs/frontend-system/architecture/07-routes.md b/docs/frontend-system/architecture/07-routes.md index de099e25ec..1402796077 100644 --- a/docs/frontend-system/architecture/07-routes.md +++ b/docs/frontend-system/architecture/07-routes.md @@ -6,7 +6,7 @@ sidebar_label: Routes description: Frontend routes --- -> **NOTE: The new frontend system is in a highly experimental phase** +> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** See [routing system docs](../../plugins/composability.md#routing-system) @@ -98,7 +98,7 @@ Explain all of create, use and provide --> ```ts -/* +/* Some examples diff --git a/docs/frontend-system/architecture/08-naming-patterns.md b/docs/frontend-system/architecture/08-naming-patterns.md index b57eb2b8f2..0916d9fd51 100644 --- a/docs/frontend-system/architecture/08-naming-patterns.md +++ b/docs/frontend-system/architecture/08-naming-patterns.md @@ -6,7 +6,7 @@ sidebar_label: Naming Patterns description: Naming patterns in the frontend system --- -> **NOTE: The new frontend system is in a highly experimental phase** +> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** These are the naming patterns to adhere to within the frontend system. They help us keep exports and IDs consistent across packages and make it easier to understand the usage and intent of exports and IDs. diff --git a/docs/frontend-system/architecture/08-references.md b/docs/frontend-system/architecture/08-references.md index 30e941c44e..24a9e5df2a 100644 --- a/docs/frontend-system/architecture/08-references.md +++ b/docs/frontend-system/architecture/08-references.md @@ -6,7 +6,7 @@ sidebar_label: Value References description: Value References --- -> **NOTE: The new frontend system is in a highly experimental phase** +> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** + +## Next steps + +See [the Consuming section](./03-consuming.md) to see how to consume this new utility API in various ways. If you wish to configure and add inputs to it, check out [the Configuring section](./04-configuring.md). diff --git a/docs/frontend-system/utility-apis/03-consuming.md b/docs/frontend-system/utility-apis/03-consuming.md new file mode 100644 index 0000000000..5c53c8617e --- /dev/null +++ b/docs/frontend-system/utility-apis/03-consuming.md @@ -0,0 +1,69 @@ +--- +id: consuming +title: Consuming Utility APIs +sidebar_label: Consuming APIs +# prettier-ignore +description: Consuming utility APIs +--- + +> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** + +All of the utility API extensions that were passed into your app through installed plugins, get instantiated and configured in the right order by the framework, and are then made available for consumption. You can interact with these instances in the following ways. + +## Via React hooks + +The most common consumption pattern for utility APIs is to call the `useApi` hook inside React components to get an implementation via its API ref. This applies whether it was originally provided from the core framework or from a plugin. + +```tsx +import { useApi, configApiRef } from '@backstage/frontend-plugin-api'; + +const MyComponent = () => { + const configApi = useApi(configApiRef); + const title = configApi.getString('app.title'); + // ... +}; +``` + +The `useApi` hook always returns a value, or throws an exception if the API ref could not be resolved to a registered implementation. For advanced use cases, where you explicitly want to optionally request a utility API that may or may not have been provided at runtime, you can use the underlying `useApiHolder` hook instead. + +```tsx +import { useApiHolder, configApiRef } from '@backstage/frontend-plugin-api'; + +const MyComponent = () => { + const apis = useApiHolder(); + const configApi = apis.get(configApiRef); // may return undefined + if (configApi) { + const title = configApi.getString('app.title'); + // ... + } +}; +``` + +## Via dependencies + +Your utility APIs can depend on other utility APIs in their factories. You do this by declaring `deps` on your `createApiFactory`, and reading the outcome in your `factory`. + +```tsx +import { + configApiRef, + createApiExtension, + createApiFactory, + discoveryApiRef, +} from '@backstage/frontend-plugin-api'; +import { MyApiImpl } from './MyApiImpl'; + +const myApi = createApiExtension({ + factory: createApiFactory({ + api: myApiRef, + deps: { + configApi: configApiRef, + discoveryApi: discoveryApiRef, + }, + factory: ({ configApi, discoveryApi }) => { + return new MyApiImpl({ configApi, discoveryApi }); + }, + }), +}); +``` + +Note how the `deps` section essentially assigns free-form names that you choose, to API refs. Here we for example map `configApiRef` to the name `configApi`, but that's just a convention. The framework will ensure that all of those deps get instantiated and passed into your `factory` function with the same set of names as your `deps`. At that point, `configApi` refers to an actual functioning instance of that API ref. diff --git a/docs/frontend-system/utility-apis/04-configuring.md b/docs/frontend-system/utility-apis/04-configuring.md new file mode 100644 index 0000000000..7acf23decf --- /dev/null +++ b/docs/frontend-system/utility-apis/04-configuring.md @@ -0,0 +1,76 @@ +--- +id: configuring +title: Configuring Utility APIs +sidebar_label: Configuring +# prettier-ignore +description: Configuring, extending, and overriding utility APIs +--- + +> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** + +Utility APIs are extensions and can therefore optionally be amended with configurability, as well as inputs that other extensions attach themselves to. This section describes how to make use of that as a consumer of such utility APIs. + +## Configuring + +To configure your Utility API extension, first you'll need to know its ID. That ID is formed from the API ref ID; check [the naming patterns docs](../architecture/08-naming-patterns.md) for details. + +Our example work API from [the creating section](./02-creating.md) would have the ID `api:plugin.example.work`. You configure it and all other extensions under the `app.extensions` section of your app-config. + +```yaml title="in e.g. app-config.yaml or app-config.production.yaml" +app: + extensions: + - api:plugin.example.work: + config: + goSlow: false + - # ... other extensions +``` + +It's important to note that the `extensions` are a list (mind the initial `-`), and that the `api:plugin.example.work` entry is an object such that the `config` key needs to be indented below it. If you do not get those two pieces right, the application may not start up correctly. + +The extension config schema will tell you what parameters it supports. Here we override the `goSlow` extension config value, which replaces the default. + +## Attaching extensions to inputs + +Like with other extension types, you add input attachments to a Utility API by declaring the `attachTo` section of that attachment to point to the Utility APIs ID and input name. + +Well written input-enabled extension often have extension creator functions that help you make such attachments. Those functions typically set the `attachTo` section correctly on your behalf so that you don't have to figure them out. + +## Replacing a Utility API implementation + +Like with other extension types, you replace Utility APIs with your own custom implementation using [extension overrides](../architecture/05-extension-overrides.md). + +```tsx title="in your app" +/* highlight-add-start */ +import { createExtensionOverrides } from '@backstage/frontend-plugin-api'; + +class CustomWorkImpl implements WorkApi { + /* ... */ +} + +const myOverrides = createExtensionOverrides({ + extensions: [ + createApiExtension({ + api: workApiRef, + factory: () => + createApiFactory({ + api: workApiRef, + factory: () => new CustomWorkImpl(), + }), + }), + ], +}); +/* highlight-add-end */ + +// Remember to pass the overrides to your createApp +export default createApp({ + features: [ + // ... other features + /* highlight-add-next-line */ + myOverrides, + ], +}); +``` + +In this example the overriding extension is kept minimal, but just like any other extension it can also have `deps`, configurability, and inputs. Check out [the Creating section](./02-creating.md) for more details about that. + +When you create a replacement extension, in general you may want to mimic its extension config schema or input shapes where applicable. This makes it an easier thing to slot in to an app, since it'll be responding to extensibility the same way as the original one did. diff --git a/docs/frontend-system/utility-apis/05-migrating.md b/docs/frontend-system/utility-apis/05-migrating.md new file mode 100644 index 0000000000..a81dc796ac --- /dev/null +++ b/docs/frontend-system/utility-apis/05-migrating.md @@ -0,0 +1,126 @@ +--- +id: migrating +title: Migrating Utility APIs from the old frontend system +sidebar_label: Migrating +# prettier-ignore +description: Migrating Utility APIs from the old frontend system +--- + +> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** + +If you are migrating your plugins or app over from the old frontend system, there are a few things to keep in mind in regards to utility APIs. + +## Overview + +- Migrate your repo overall to the latest release of Backstage +- Follow the plugin migration guide +- Optionally change your package dependencies and code from `core-*-api` to `frontend-*-api` +- Keep the TypeScript interface and API ref exported as they were, except possibly reconsidering the choice of ID of the latter +- Wrap the old API factory call in an extension using `createApiExtension` +- Make sure that this extension is referenced by your migrated plugin + +## Prerequisites + +This guide assumes that you first [upgrade your repo](../../getting-started/keeping-backstage-updated.md) to the latest release of Backstage. This ensures that you do not have to fight several types of incompatibilities and updates at the same time. + +## Dependency changes + +In this article we will discuss some old interfaces that you used to import from the `@backstage/core-plugin-api` package. Those are now generally lifted over to `@backstage/frontend-plugin-api`, next to the new interfaces that are specific to the new frontend system. If you want to, you can already update your `package.json` and code imports to only use the new plugin API, but for the time being you don't have to. The old core exports will continue to work for the foreseeable future. + +To at least get access to the new interfaces, you'll need to run the following command. Note that it's just an example! It refers to `plugins/example`, which you'll have to change to the actual folder name that your package to migrate is in. + +```bash title="from your repo root" +yarn --cwd plugins/example add @backstage/frontend-plugin-api +``` + +## React package interface and ref changes + +Let's begin with [your `-react` package](../../architecture-decisions/adr011-plugin-package-structure.md). The act of exporting TypeScript interfaces and API refs have not changed from the old system. You can typically keep those as-is. For illustrative purposes, this is an example of an interface and its API ref: + +```tsx title="in @internal/plugin-example-react" +import { createApiRef } from '@backstage/frontend-plugin-api'; + +/** + * Performs some work. + * @public + */ +export interface WorkApi { + doWork(): Promise; +} + +/** + * The work interface for the Example plugin. + * @public + */ +export const workApiRef = createApiRef({ + id: 'plugin.example.work', +}); +``` + +In this example, the plugin ID already follows the common naming convention. If it doesn't, you may want to consider renaming that ID at this point. Don't worry, this won't hurt consumers in the old frontend system since the ID is mostly used for debugging purposes there. In the new system, it's much more important and appears in app-config files and similar. + +Note at the top of the file that it uses the updated import from `@backstage/frontend-plugin-api` that we migrated in the previous section, instead of the old `@backstage/core-plugin-api`. + +## Plugin package changes + +Now let's turn to the main plugin package where the plugin itself is exported. You will probably already have a `createPlugin` call in here. Before we changed the `core-plugin-api` imports it'll have looked somewhat similar to the following: + +```tsx title="in @internal/plugin-example, NOTE THIS IS LEGACY CODE" +import { + storageApiRef, + createPlugin, + createApiFactory, +} from '@backstage/core-plugin-api'; +import { workApiRef } from '@internal/plugin-example-react'; +import { WorkImpl } from './WorkImpl'; + +const exampleWorkApi = createApiFactory({ + api: workApiRef, + deps: { storageApi: storageApiRef }, + factory: ({ storageApi }) => new WorkImpl({ storageApi }), +}); + +/** @public */ +export const catalogPlugin = createPlugin({ + id: 'example', + apis: [exampleWorkApi], +}); +``` + +The major changes we'll make are + +- Optionally change the old imports to the new package as per the top section of this guide +- Wrap the existing API factory in a `createApiExtension` +- Change to the new version of `createPlugin` which exports this extension +- Change the plugin export to be the default instead + +The end result, after simplifying imports and cleaning up a bit, might look like this: + +```tsx title="in @internal/plugin-example" +import { + storageApiRef, + createPlugin, + createApiFactory, + createApiExtension, +} from '@backstage/frontend-plugin-api'; +import { workApiRef } from '@internal/plugin-example-react'; +import { WorkImpl } from './WorkImpl'; + +const exampleWorkApi = createApiExtension({ + factory: createApiFactory({ + api: workApiRef, + deps: { storageApi: storageApiRef }, + factory: ({ storageApi }) => new WorkImpl({ storageApi }), + }), +}); + +/** @public */ +export default createPlugin({ + id: 'example', + extensions: [exampleWorkApi], +}); +``` + +## Further work + +Since utility APIs are now complete extensions, you may want to take a bigger look at how they used to be used, and what the new frontend system offers. You may for example consider [adding configurability or inputs](./02-creating.md) to your API, if that makes sense for your current application. diff --git a/docs/getting-started/configuration.md b/docs/getting-started/configuration.md index b7bf7d448d..019ca254bb 100644 --- a/docs/getting-started/configuration.md +++ b/docs/getting-started/configuration.md @@ -134,7 +134,7 @@ links: There are multiple authentication providers available for you to use with Backstage, feel free to follow -[the instructions for adding authentication](../auth/). +[the instructions for adding authentication](../auth/index.md). For this tutorial we choose to use GitHub, a free service most of you might be familiar with. For other options, see @@ -205,7 +205,7 @@ Restart Backstage from the terminal, by stopping it with `Control-C`, and starti To learn more about Authentication in Backstage, here are some docs you could read: -- [Authentication in Backstage](../auth/) +- [Authentication in Backstage](../auth/index.md) - [Using organizational data from GitHub](../integrations/github/org.md) ### Setting up a GitHub Integration @@ -254,7 +254,7 @@ integrations: Some helpful links, for if you want to learn more about: -- [Other available integrations](../integrations/) +- [Other available integrations](../integrations/index.md) - [Using GitHub Apps instead of a Personal Access Token](../integrations/github/github-apps.md#docsNav) ### Explore what we've done so far diff --git a/docs/integrations/aws-s3/discovery.md b/docs/integrations/aws-s3/discovery.md index 4a2b953bc9..ceb780141f 100644 --- a/docs/integrations/aws-s3/discovery.md +++ b/docs/integrations/aws-s3/discovery.md @@ -32,7 +32,7 @@ catalog: bucketName: sample-bucket prefix: prefix/ # optional region: us-east-2 # optional, uses the default region otherwise - schedule: # optional; same options as in TaskScheduleDefinition + schedule: # same options as in TaskScheduleDefinition # supports cron, ISO duration, "human duration" as used in code frequency: { minutes: 30 } # supports ISO duration, "human duration" as used in code @@ -52,7 +52,7 @@ catalog: bucketName: sample-bucket prefix: prefix/ # optional region: us-east-2 # optional, uses the default region otherwise - schedule: # optional; same options as in TaskScheduleDefinition + schedule: # same options as in TaskScheduleDefinition # supports cron, ISO duration, "human duration" as used in code frequency: { minutes: 30 } # supports ISO duration, "human duration" as used in code @@ -79,12 +79,6 @@ const builder = await CatalogBuilder.create(env); builder.addEntityProvider( AwsS3EntityProvider.fromConfig(env.config, { logger: env.logger, - // optional: alternatively, use scheduler with schedule defined in app-config.yaml - schedule: env.scheduler.createScheduledTaskRunner({ - frequency: { minutes: 30 }, - timeout: { minutes: 3 }, - }), - // optional: alternatively, use schedule scheduler: env.scheduler, }), ); diff --git a/docs/integrations/azure/discovery.md b/docs/integrations/azure/discovery.md index 7b91308b56..3b25a9ac75 100644 --- a/docs/integrations/azure/discovery.md +++ b/docs/integrations/azure/discovery.md @@ -71,7 +71,7 @@ The parameters available are: - **`repository:`** _(optional)_ The repository name. Wildcards are supported as show on the examples above. If not set, all repositories will be searched. - **`path:`** _(optional)_ Where to find catalog-info.yaml files. Defaults to /catalog-info.yaml. - **`branch:`** _(optional)_ The branch name to use. -- **`schedule`** _(optional)_: +- **`schedule`**: - **`frequency`**: How often you want the task to run. The system does its best to avoid overlapping invocations. - **`timeout`**: diff --git a/docs/integrations/bitbucketCloud/discovery.md b/docs/integrations/bitbucketCloud/discovery.md index 6e1533dea0..53315a4c48 100644 --- a/docs/integrations/bitbucketCloud/discovery.md +++ b/docs/integrations/bitbucketCloud/discovery.md @@ -49,19 +49,6 @@ export default async function createPlugin( } ``` -Alternatively to the config-based schedule, you can use - -```ts -/* highlight-remove-next-line */ -scheduler: env.scheduler, -/* highlight-add-start */ -schedule: env.scheduler.createScheduledTaskRunner({ - frequency: { minutes: 30 }, - timeout: { minutes: 3 }, -}), -/* highlight-add-end */ -``` - ### Installation with Events Support Please follow the installation instructions at @@ -131,7 +118,7 @@ catalog: filters: # optional projectKey: '^apis-.*$' # optional; RegExp repoSlug: '^service-.*$' # optional; RegExp - schedule: # optional; same options as in TaskScheduleDefinition + schedule: # same options as in TaskScheduleDefinition # supports cron, ISO duration, "human duration" as used in code frequency: { minutes: 30 } # supports ISO duration, "human duration" as used in code @@ -153,7 +140,7 @@ catalog: Regular expression used to filter results based on the project key. - **`repoSlug`** _(optional)_: Regular expression used to filter results based on the repo slug. -- **`schedule`** _(optional)_: +- **`schedule`**: - **`frequency`**: How often you want the task to run. The system does its best to avoid overlapping invocations. - **`timeout`**: diff --git a/docs/integrations/bitbucketServer/discovery.md b/docs/integrations/bitbucketServer/discovery.md index 05d0510553..ad59006ff1 100644 --- a/docs/integrations/bitbucketServer/discovery.md +++ b/docs/integrations/bitbucketServer/discovery.md @@ -38,12 +38,6 @@ export default async function createPlugin( builder.addEntityProvider( BitbucketServerEntityProvider.fromConfig(env.config, { logger: env.logger, - // optional: alternatively, use scheduler with schedule defined in app-config.yaml - schedule: env.scheduler.createScheduledTaskRunner({ - frequency: { minutes: 30 }, - timeout: { minutes: 3 }, - }), - // optional: alternatively, use schedule scheduler: env.scheduler, }), ); @@ -69,7 +63,7 @@ catalog: filters: # optional projectKey: '^apis-.*$' # optional; RegExp repoSlug: '^service-.*$' # optional; RegExp - schedule: # optional; same options as in TaskScheduleDefinition + schedule: # same options as in TaskScheduleDefinition # supports cron, ISO duration, "human duration" as used in code frequency: { minutes: 30 } # supports ISO duration, "human duration" as used in code @@ -87,7 +81,7 @@ catalog: Regular expression used to filter results based on the project key. - **`repoSlug`** _(optional)_: Regular expression used to filter results based on the repo slug. -- **`schedule`** _(optional)_: +- **`schedule`**: - **`frequency`**: How often you want the task to run. The system does its best to avoid overlapping invocations. - **`timeout`**: diff --git a/docs/integrations/gerrit/discovery.md b/docs/integrations/gerrit/discovery.md index 5d822effb5..ee843d2454 100644 --- a/docs/integrations/gerrit/discovery.md +++ b/docs/integrations/gerrit/discovery.md @@ -26,18 +26,11 @@ Then add the plugin to the plugin catalog `packages/backend/src/plugins/catalog. ```ts /* packages/backend/src/plugins/catalog.ts */ import { GerritEntityProvider } from '@backstage/plugin-catalog-backend-module-gerrit'; -import { Duration } from 'luxon'; const builder = await CatalogBuilder.create(env); /** ... other processors and/or providers ... */ builder.addEntityProvider( GerritEntityProvider.fromConfig(env.config, { logger: env.logger, - // optional: alternatively, use scheduler with schedule defined in app-config.yaml - schedule: env.scheduler.createScheduledTaskRunner({ - frequency: { minutes: 30 }, - timeout: { minutes: 3 }, - }), - // optional: alternatively, use schedule scheduler: env.scheduler, }), ); @@ -57,7 +50,7 @@ catalog: host: gerrit-your-company.com branch: master # Optional query: 'state=ACTIVE&prefix=webapps' - schedule: # optional; same options as in TaskScheduleDefinition + schedule: # supports cron, ISO duration, "human duration" as used in code frequency: { minutes: 30 } # supports ISO duration, "human duration" as used in code diff --git a/docs/integrations/github/discovery.md b/docs/integrations/github/discovery.md index 46d59cbf1b..3c3d90d6e9 100644 --- a/docs/integrations/github/discovery.md +++ b/docs/integrations/github/discovery.md @@ -40,12 +40,6 @@ export default async function createPlugin( builder.addEntityProvider( GithubEntityProvider.fromConfig(env.config, { logger: env.logger, - // optional: alternatively, use scheduler with schedule defined in app-config.yaml - schedule: env.scheduler.createScheduledTaskRunner({ - frequency: { minutes: 30 }, - timeout: { minutes: 3 }, - }), - // optional: alternatively, use schedule scheduler: env.scheduler, }), ); @@ -85,12 +79,6 @@ export default async function createPlugin( /* highlight-add-start */ const githubProvider = GithubEntityProvider.fromConfig(env.config, { logger: env.logger, - // optional: alternatively, use scheduler with schedule defined in app-config.yaml - schedule: env.scheduler.createScheduledTaskRunner({ - frequency: { minutes: 30 }, - timeout: { minutes: 3 }, - }), - // optional: alternatively, use schedule scheduler: env.scheduler, }); env.eventBroker.subscribe(githubProvider); @@ -122,7 +110,7 @@ catalog: filters: branch: 'main' # string repository: '.*' # Regex - schedule: # optional; same options as in TaskScheduleDefinition + schedule: # same options as in TaskScheduleDefinition # supports cron, ISO duration, "human duration" as used in code frequency: { minutes: 30 } # supports ISO duration, "human duration" as used in code @@ -213,7 +201,7 @@ This provider supports multiple organizations via unique provider IDs. Defaults to `false`. Due to limitations in the GitHub API's ability to query for repository objects, this option cannot be used in conjunction with wildcards in the `catalogPath`. -- **`schedule`** _(optional)_: +- **`schedule`**: - **`frequency`**: How often you want the task to run. The system does its best to avoid overlapping invocations. - **`timeout`**: @@ -229,13 +217,12 @@ GitHub [rate limits](https://docs.github.com/en/rest/overview/resources-in-the-r accounts). The snippet below refreshes the Backstage catalog data every 35 minutes, which issues an API request for each discovered location. If your requests are too frequent then you may get throttled by -rate limiting. You can change the refresh frequency of the catalog in your `packages/backend/src/plugins/catalog.ts` file: +rate limiting. You can change the refresh frequency of the catalog in your `app-config.yaml` file by controlling the `schedule`. -```typescript -schedule: env.scheduler.createScheduledTaskRunner({ - frequency: { minutes: 35 }, - timeout: { minutes: 30 }, -}), +```yaml +schedule: + frequency: { minutes: 35 } + timeout: { minutes: 3 } ``` More information about scheduling can be found on the [TaskScheduleDefinition](https://backstage.io/docs/reference/backend-tasks.taskscheduledefinition) page. diff --git a/docs/overview/versioning-policy.md b/docs/overview/versioning-policy.md index c38ba404b5..8a23251ebb 100644 --- a/docs/overview/versioning-policy.md +++ b/docs/overview/versioning-policy.md @@ -182,3 +182,11 @@ The TypeScript release cadence is roughly every three months. An important aspec Our policy is to support the last 3 TypeScript versions, for example 4.8, 4.9, and 5.0. Converted to time, this means that we typically support the TypeScript version from the last six to nine months, depending on where in the TypeScript release window we are. This policy applies as a snapshot at the time of any given Backstage release, new TypeScript releases only apply to the following Backstage main-line release, not to the current one. For anyone maintaining their own Backstage project, this means that you should strive to bump to the latest TypeScript version at least every 6 months, or you may encounter breakages as you upgrade Backstage packages. If you encounter any issues in doing so, please [file an issue in the main Backstage repository](https://github.com/backstage/backstage/issues/new/choose), as per this policy we should always support the latest version. In order to ensure that we do not start using new TypeScript features too early, the Backstage project itself uses the version at the beginning of the currently supported window, in the above example that would be version 4.8. + +## PostgreSQL Releases + +The Backstage project recommends and supports using PostgreSQL for persistent storage. + +The PostgreSQL [versioning policy](https://www.postgresql.org/support/versioning/) is to release a new major version every year with new features which is then supported for 5 years after its initial release. + +Our policy mirrors the PostgreSQL versioning policy - we will support the last 5 major versions. We will also test the newest and oldest versions in that range. For example, if the range we support is currently 12 to 16, then we would only test 12 and 16 explicitly. diff --git a/docs/plugins/new-backend-system.md b/docs/plugins/new-backend-system.md index b2c73af33b..0fc44f283f 100644 --- a/docs/plugins/new-backend-system.md +++ b/docs/plugins/new-backend-system.md @@ -6,25 +6,24 @@ description: Details of the new backend system ## Status -The new backend system is in alpha, and some plugins do not yet fully implement it. But do feel free to try it out! We would love to hear back about your impressions. +The new backend system is released and ready for production use, and many plugins and modules have already been migrated. We recommend all plugins and deployments to migrate to the new system. You can find an example backend setup in [the backend-next package](https://github.com/backstage/backstage/tree/master/packages/backend-next). ## Overview -The new Backstage backend system is being built to help make it simpler to install backend plugins and to keep projects up to date. It also changes the foundation to one that makes it a lot easier to evolve plugins and the system itself with minimal disruption or cause for breaking changes. You can read more about the reasoning in the [original RFC](https://github.com/backstage/backstage/issues/11611). +The new Backstage backend system was built to help make it simpler to install backend plugins and to keep projects up to date. It also changed the foundation to one that makes it a lot easier to evolve plugins and the system itself with minimal disruption or cause for breaking changes. You can read more about the reasoning in the [original RFC](https://github.com/backstage/backstage/issues/11611). One of the goals of the new system was to reduce the code needed for setting up a Backstage backend and installing plugins. This is an example of how you create, add features, and start up your backend in the new system: ```ts import { createBackend } from '@backstage/backend-defaults'; -import { catalogPlugin } from '@backstage/plugin-catalog-backend'; // Create your backend instance const backend = createBackend(); // Install all desired features -backend.add(catalogPlugin()); +backend.add(import('@backstage/plugin-catalog-backend')); // Start up the backend await backend.start(); diff --git a/docs/releases/v1.21.0-changelog.md b/docs/releases/v1.21.0-changelog.md new file mode 100644 index 0000000000..2a93c55305 --- /dev/null +++ b/docs/releases/v1.21.0-changelog.md @@ -0,0 +1,3731 @@ +# Release v1.21.0 + +## @backstage/backend-common@0.20.0 + +### Minor Changes + +- 870db76: Implemented `readTree` for Gitea provider to support TechDocs functionality + +### Patch Changes + +- 7f04128: Allow a default cache TTL to be set through the app config +- 1ad8906: Use `Readable.from` to fix some of the stream issues +- d86a007: Fixed the AwsS3UrlReader host regex and host to allow the S3 reading for CN AWS domain +- bc67498: Updated dependency `archiver` to `^6.0.0`. + Updated dependency `@types/archiver` to `^6.0.0`. +- 706fc3a: Updated dependency `@kubernetes/client-node` to `0.20.0`. +- 2666675: Updated dependency `@google-cloud/storage` to `^7.0.0`. +- d15d483: Add command `--runAsDefaultUser` for `@techdocs/cli generate` to bypass running the docker builds as host user for macOS and Linux. +- d1e00aa: Expose an `onAuth` handler for `git` actions to provide custom credentials +- Updated dependencies + - @backstage/config-loader@1.6.0 + - @backstage/backend-app-api@0.5.9 + - @backstage/integration@1.8.0 + - @backstage/backend-dev-utils@0.1.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration-aws-node@0.1.8 + - @backstage/types@1.1.1 + +## @backstage/catalog-client@1.5.0 + +### Minor Changes + +- 3834067: The internals of `CatalogClient` are now auto-generated using the `backstage-repo-tools schema openapi generate-client` command. + +### Patch Changes + +- 82fa88b: Fixes a bug where some query parameters were double URL encoded. +- Updated dependencies + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/cli@0.25.0 + +### Minor Changes + +- 3834067: Updates the ESLint config to ignore issues created by generated files in `**/src/generated/**`. + +### Patch Changes + +- 32018ff: Enable the `tsx` loader to work on Node 18.19 and up +- 0ffee55: Toned down the warning message when git is not found +- c6f3743: Added a warning when starting a standalone backend plugin that hasn't been updated to the new backend system. +- 3e358b0: Added deprecation warning for React Router v6 beta, please make sure you have migrated your apps to use React Router v6 stable as support for the beta version will be removed. See the [migration tutorial](https://backstage.io/docs/tutorials/react-router-stable-migration) for more information. +- 219d7f0: Updating template generation for scaffolder module +- 8cda3c7: Tweaked Node.js version check for when to use the new module register API with the new backend `package start` command. +- a3edc18: Updated dependency `vite-plugin-node-polyfills` to `^0.17.0`. +- 627554e: Updated dependency `@rollup/plugin-node-resolve` to `^15.0.0`. +- c07cee5: Updated dependency `@rollup/plugin-json` to `^6.0.0`. +- bd586a5: Updated dependency `bfj` to `^8.0.0`. +- 8056425: Updated dependency `@typescript-eslint/eslint-plugin` to `6.12.0`. +- 017c425: Updated dependency `@typescript-eslint/eslint-plugin` to `6.11.0`. +- 2565cc8: Updated dependency `@rollup/plugin-commonjs` to `^25.0.0`. +- 33e96e5: Switched the `@typescript-eslint/eslint-plugin` dependency back to using a `^` version range. +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/eslint-plugin@0.1.4 + - @backstage/config-loader@1.6.0 + - @backstage/integration@1.8.0 + - @backstage/cli-node@0.2.1 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/release-manifests@0.0.11 + - @backstage/types@1.1.1 + +## @backstage/config-loader@1.6.0 + +### Minor Changes + +- 24f5a85: Add "path" to `TransformFunc` context + +### Patch Changes + +- Updated dependencies + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/core-compat-api@0.1.0 + +### Minor Changes + +- cf5cc4c: Discover plugins and routes recursively beneath the root routes in `collectLecacyRoutes` +- af7bc3e: Switched all core extensions to instead use the namespace `'app'`. +- f63dd72: The `collectLegacyRoutes` has been removed and is replaced by `convertLegacyApp` now being able to convert a `FlatRoutes` element directly. + +### Patch Changes + +- 03d0b6d: Added `convertLegacyRouteRef` utility to convert existing route refs to be used with the new experimental packages. +- a379243: Leverage the new `FrontendFeature` type to simplify interfaces +- 8226442: Added `compatWrapper`, which can be used to wrap any React element to provide bi-directional interoperability between the `@backstage/core-*-api` and `@backstage/frontend-*-api` APIs. +- 8f5d6c1: Updates to match the new extension input wrapping. +- c219b16: Made package public so it can be published +- b7adf24: Delete alpha DI compatibility helper for components, migrating components should be simple without a helper. +- 046e443: Updates for compatibility with the new extension IDs. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-app-api@1.11.2 + - @backstage/version-bridge@1.0.7 + +## @backstage/frontend-app-api@0.4.0 + +### Minor Changes + +- e539735: Updated core extension structure to make space for the sign-in page by adding `core.router`. +- 44735df: Removed `featureLoader` from `createApp`, `features` instead accepts both `FrontendFeature` and `CreateAppFeatureLoader` +- af7bc3e: Switched all core extensions to instead use the namespace `'app'`. +- ea06590: The app no longer provides the `AppContext` from `@backstage/core-plugin-api`. Components that require this context to be available should use the `compatWrapper` helper from `@backstage/core-compat-api`. + +### Patch Changes + +- 5eb6b8a: Added the nav logo extension for customization of sidebar logo +- aeb8008: Add support for translation extensions. +- 1f12fb7: Create a core components extension that allows adopters to override core app components such as `Progress`, `BootErrorPage`, `NotFoundErrorPage` and `ErrorBoundaryFallback`. +- a379243: Leverage the new `FrontendFeature` type to simplify interfaces +- 60d6eb5: Removed `@backstage/plugin-graphiql` dependency. +- b7adf24: Use the new plugin type for error boundary components. +- 5970928: Collect and register feature flags from plugins and extension overrides. +- 9ad4039: Bringing over apis from core-plugin-api +- 8f5d6c1: Updates to match the new extension input wrapping. +- c35036b: A `configLoader` passed to `createApp` now returns an object, to make room for future expansion +- f27ee7d: Migrate analytics route tracker component. +- b8cb780: Added `createSpecializedApp`, which is a synchronous version of `createApp` where config and features already need to be loaded. +- c36e0b9: Renamed `AppRouteBinder` to `CreateAppRouteBinder` +- cb4197a: Forward ` node`` instead of `extensionId\` to resolved extension inputs. +- 8837a96: Updates to match the introduction of `ExtensionDefinition` and new extension ID naming patterns. +- a5a0473: Updates to provide `node` to extension factories instead of `id` and `source`. +- 5cdf2b3: Updated usage of `Extension` and `ExtensionDefinition` as they are now opaque. +- f9ef632: Updates to match the new `coreExtensionData` structure. +- f1183b7: Renamed the `component` option of `createComponentExtension` to `loader`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/core-app-api@1.11.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/frontend-plugin-api@0.4.0 + +### Minor Changes + +- af7bc3e: Switched all core extensions to instead use the namespace `'app'`. + +- 5cdf2b3: Changed `Extension` and `ExtensionDefinition` to use opaque types. + +- 8f5d6c1: Extension inputs are now wrapped into an additional object when passed to the extension factory, with the previous values being available at the `output` property. The `ExtensionInputValues` type has also been replaced by `ResolvedExtensionInputs`. + +- 8837a96: **BREAKING**: This version changes how extensions are created and how their IDs are determined. The `createExtension` function now accepts `kind`, `namespace` and `name` instead of `id`. All of the new options are optional, and are used to construct the final extension ID. By convention extension creators should set the `kind` to match their own name, for example `createNavItemExtension` sets the kind `nav-item`. + + The `createExtension` function as well as all extension creators now also return an `ExtensionDefinition` rather than an `Extension`, which in turn needs to be passed to `createPlugin` or `createExtensionOverrides` to be used. + +- f9ef632: Moved several extension data references from `coreExtensionData` to their respective extension creators. + +- a5a0473: The extension `factory` function now longer receives `id` or `source`, but instead now provides the extension's `AppNode` as `node`. The `ExtensionBoundary` component has also been updated to receive a `node` prop rather than `id` and `source`. + +### Patch Changes + +- a379243: Add the `FrontendFeature` type, which is the union of `BackstagePlugin` and `ExtensionOverrides` +- b7adf24: Update alpha component ref type to be more specific than any, delete boot page component and use new plugin type for error boundary component extensions. +- 5eb6b8a: Added the nav logo extension for customization of sidebar logo +- 1f12fb7: Create factories for overriding default core components extensions. +- 5970928: Add feature flags to plugins and extension overrides. +- e539735: Added `createSignInPageExtension`. +- 73246ec: Added translation APIs as well as `createTranslationExtension`. +- cb4197a: Forward ` node`` instead of `extensionId\` to resolved extension inputs. +- f27ee7d: Migrate analytics api and context files. +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- f1183b7: Renamed the `component` option of `createComponentExtension` to `loader`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/frontend-test-utils@0.1.0 + +### Minor Changes + +- 59fabd5: New testing utility library for `@backstage/frontend-app-api` and `@backstage/frontend-plugin-api`. +- af7bc3e: Switched all core extensions to instead use the namespace `'app'`. + +### Patch Changes + +- 59fabd5: Added `createExtensionTester` for rendering extensions in tests. +- 7e4b0db: The `createExtensionTester` helper is now able to render more than one route in the test app. +- 818eea4: Updates for compatibility with the new extension IDs. +- b9aa6e4: Migrate `renderInTestApp` to `@backstage/frontend-test-utils` for testing individual React components in an app. +- e539735: Updates for `core.router` addition. +- c21c9cf: Re-export mock API implementations as well as `TestApiProvider`, `TestApiRegistry`, `withLogCollector`, and `setupRequestMockHandlers` from `@backstage/test-utils`. +- Updated dependencies + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/frontend-app-api@0.4.0 + - @backstage/test-utils@1.4.6 + - @backstage/types@1.1.1 + +## @backstage/integration@1.8.0 + +### Minor Changes + +- 870db76: Implemented `readTree` for Gitea provider to support TechDocs functionality + +### Patch Changes + +- 99fb541: Updated dependency `@azure/identity` to `^4.0.0`. +- Updated dependencies + - @backstage/config@1.1.1 + +## @backstage/repo-tools@0.5.0 + +### Minor Changes + +- aea8f8d: **BREAKING**: API Reports generated for sub-path exports now place the name as a suffix rather than prefix, for example `api-report-alpha.md` instead of `alpha-api-report.md`. When upgrading to this version you'll need to re-create any such API reports and delete the old ones. +- 3834067: Adds a new command `schema openapi generate-client` that creates a Typescript client with Backstage flavor, including the discovery API and fetch API. This command doesn't currently generate a complete client and needs to be wrapped or exported manually by a separate Backstage plugin. See `@backstage/catalog-client/src/generated` for example output. + +### Patch Changes + +- f909e9d: Includes templates in @backstage/repo-tools package and use them in the CLI + +- da3c4db: Updates the `schema openapi generate-client` command to export all generated types from the generated directory. + +- 7959f23: The `api-reports` command now checks for api report files that no longer apply. + If it finds such files, it's treated basically the same as report errors do, and + the check fails. + + For example, if you had an `api-report-alpha.md` but then removed the alpha + export, the reports generator would now report that this file needs to be + deleted. + +- f49e237: Fixed a bug where `schema openapi init` created an invalid test command. + +- f91be2c: Updated dependency `@stoplight/types` to `^14.0.0`. + +- 45bfb20: Execute `openapi-generator-cli` from `@backstage/repo-tools` directory to force it to use our openapitools.json config file. + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/cli-node@0.2.1 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + +## @techdocs/cli@1.8.0 + +### Minor Changes + +- d15d483: Add command `--runAsDefaultUser` for `@techdocs/cli generate` to bypass running the docker builds as host user for macOS and Linux. +- b2dccad: Support passing additional `mkdocs-server` CLI parameters (`--dirtyreload`, `--strict` and `--clean`) when run in containerized mode. + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-techdocs-node@1.11.0 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + +## @backstage/theme@0.5.0 + +### Minor Changes + +- 4d9e3b3: Added a global `OverrideComponentNameToClassKeys` for other plugins and packages to populate using module augmentation. This will in turn will provide component style override types for `createUnifiedTheme`. + +### Patch Changes + +- cd0dd4c: Align Material UI v5 `Paper` component background color in dark mode to v4. + +## @backstage/plugin-auth-backend-module-atlassian-provider@0.1.0 + +### Minor Changes + +- 2a5891e: New module for `@backstage/plugin-auth-backend` that adds an atlassian auth provider + +### Patch Changes + +- a62764b: Updated dependency `passport` to `^0.7.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + +## @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.0 + +### Minor Changes + +- 271aa12: Release of `oauth2-proxy-provider` plugin + +### Patch Changes + +- a6be465: Exported the provider as default so it gets discovered when using `featureDiscoveryServiceFactory()` +- 510dab4: Change provider id from `oauth2ProxyProvider` to `oauth2Proxy` +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/errors@1.2.3 + +## @backstage/plugin-auth-backend-module-vmware-cloud-provider@0.1.0 + +### Minor Changes + +- ed02c69: Add VMware Cloud auth backend module provider + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-azure-devops-backend@0.5.0 + +### Minor Changes + +- 844969c: **BREAKING** New `fromConfig` static method must be used now when creating an instance of the `AzureDevOpsApi` + + Added support for using the `AzureDevOpsCredentialsProvider` + +### Patch Changes + +- c70e4f5: Added multi-org support +- 646db72: Updated encoding of Org to use `encodeURIComponent` when building URL used to get credentials from credential provider +- 043b724: Introduced new `AzureDevOpsAnnotatorProcessor` that adds the needed annotations automatically. Also, moved constants to common package so they can be shared more easily +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/plugin-azure-devops-common@0.3.2 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-catalog@1.16.0 + +### Minor Changes + +- e223f22: Properly support both function- and string-form visibility filter expressions in the new extensions exported via `/alpha`. +- b8e1eb2: The `columns` prop can be an array or a function that returns an array in order to override the default columns of the `CatalogIndexPage`. + +### Patch Changes + +- bc7e6d3: Fix copy entity url function in http contexts. + +- 5360097: Ensure that passed-in icons are taken advantage of in the presentation API + +- 4785d05: Add permission check to catalog create and refresh button + +- cd910c4: - Fixes bug where after unregistering an entity you are redirected to `/`. + + - Adds an optional external route `unregisterRedirect` to override this behaviour to another route. + +- 03d0b6d: The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. + +- 2d708d8: Internal naming updates for `/alpha` exports. + +- a5a0473: Internal refactor of alpha exports due to a change in how extension factories are defined. + +- 4d9e3b3: Register component overrides in the global `OverrideComponentNameToClassKeys` provided by `@backstage/theme`. This will in turn will provide component style override types for `createUnifiedTheme`. + +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. + +- 78a10bb: Adding in spec.type chip to search results for clarity + +- 8f5d6c1: Updates to the `/alpha` exports to match the extension input wrapping change. + +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. + +- 8587f06: Added pagination support to `CatalogIndexPage` + + `CatalogIndexPage` now offers an optional pagination feature, designed to accommodate adopters managing extensive catalogs. This new capability allows for better handling of large amounts of data. + + To activate the pagination mode, simply update your `App.tsx` as follows: + + ```diff + const routes = ( + + ... + - } /> + + } /> + ... + ``` + + In case you have a custom catalog page and you want to enable pagination, you need to pass the `pagination` prop to `EntityListProvider` instead. + +- fb8f3bd: Updated alpha translation message keys to use nested format and camel case. + +- 531e1a2: Updated alpha plugin to include the `unregisterRedirect` external route. + +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-search-react@1.7.4 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-scaffolder-common@1.4.4 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-catalog-backend@1.16.0 + +### Minor Changes + +- 7804597: Permission rules can now be added for the Catalog plugin through the `CatalogPermissionExtensionPoint` interface. + +### Patch Changes + +- 3834067: Update the OpenAPI spec to support the use of `openapi-generator`. +- 50ee804: Wrap single `pipelineLoop` of TaskPipeline in a span for better traces +- 7123c58: Updated dependency `@types/glob` to `^8.0.0`. +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- a168507: Deprecated `EntitiesSearchFilter` and `EntityFilter`, which can now be imported from `@backstage/plugin-catalog-node` instead +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-openapi-utils@0.1.1 + - @backstage/backend-tasks@0.5.13 + - @backstage/integration@1.8.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/plugin-search-backend-module-catalog@0.1.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-events-node@0.2.17 + +## @backstage/plugin-catalog-node@1.6.0 + +### Minor Changes + +- a168507: Added `EntitiesSearchFilter` and `EntityFilter` from `@backstage/plugin-catalog-backend`, for reuse +- 7804597: Permission rules can now be added for the Catalog plugin through the `CatalogPermissionExtensionPoint` interface. + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-home@0.6.0 + +### Minor Changes + +- 5a317f5: Added view of entities grouped by kind to make it easier to distinguish entities with different kind but same name + +### Patch Changes + +- 2633d64: Change user settings backend plugin id and fix when using user setting backend home page first will cause edit page loop render +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 8f5d6c1: Updates to the `/alpha` exports to match the extension input wrapping change. +- 2b72591: Updated dependency `@rjsf/utils` to `5.14.3`. + Updated dependency `@rjsf/core` to `5.14.3`. + Updated dependency `@rjsf/material-ui` to `5.14.3`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.3`. +- 6cd12f2: Updated dependency `@rjsf/utils` to `5.14.1`. + Updated dependency `@rjsf/core` to `5.14.1`. + Updated dependency `@rjsf/material-ui` to `5.14.1`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.1`. +- 64301d3: Updated dependency `@rjsf/utils` to `5.15.0`. + Updated dependency `@rjsf/core` to `5.15.0`. + Updated dependency `@rjsf/material-ui` to `5.15.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.15.0`. +- 63c494e: Updated dependency `@rjsf/utils` to `5.14.2`. + Updated dependency `@rjsf/core` to `5.14.2`. + Updated dependency `@rjsf/material-ui` to `5.14.2`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.2`. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- 54cef27: StarredEntities component calls `getEntitiesByRefs` instead of `getEntities` to improve performance since we have the `entityRefs` +- c8908d4: Use new option from RJSF 5.15 +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/core-app-api@1.11.2 + - @backstage/plugin-home-react@0.1.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-kubernetes-backend@0.14.0 + +### Minor Changes + +- 52050ad: You can now select `single` kubernetes cluster that the entity is part-of from all your defined kubernetes clusters, by passing `backstage.io/kubernetes-cluster` annotation with the defined cluster name. + + If you do not specify the annotation by `default it fetches all` defined kubernetes cluster. + + To apply + + catalog-info.yaml + + ```diff + annotations: + 'backstage.io/kubernetes-id': dice-roller + 'backstage.io/kubernetes-namespace': dice-space + + 'backstage.io/kubernetes-cluster': dice-cluster + 'backstage.io/kubernetes-label-selector': 'app=my-app,component=front-end' + ``` + +### Patch Changes + +- 6010564: The `kubernetes-node` plugin has been modified to house a new extension points for Kubernetes backend plugin; + `KubernetesClusterSupplierExtensionPoint` is introduced . + `kubernetesAuthStrategyExtensionPoint` is introduced . + `kubernetesFetcherExtensionPoint` is introduced . + `kubernetesServiceLocatorExtensionPoint` is introduced . + + The `kubernetes-backend` plugin was modified to use this new extension point. + +- 706fc3a: Updated dependency `@kubernetes/client-node` to `0.20.0`. + +- ae94d3c: Updated dependency `@aws-crypto/sha256-js` to `^5.0.0`. + +- 99fb541: Updated dependency `@azure/identity` to `^4.0.0`. + +- 42c1aee: Updated dependency `@google-cloud/container` to `^5.0.0`. + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-kubernetes-node@0.1.2 + - @backstage/plugin-kubernetes-common@0.7.2 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration-aws-node@0.1.8 + - @backstage/types@1.1.1 + +## @backstage/plugin-kubernetes-react@0.2.0 + +### Minor Changes + +- 899d71a: Change `formatClusterLink` to be an API and make it async for further customization possibilities. + + **BREAKING** + If you have a custom k8s page and used `formatClusterLink` directly, you need to migrate to new `kubernetesClusterLinkFormatterApiRef` + +### Patch Changes + +- b5ae2e5: Add ID property to the table displaying kubernetes pods to avoid closing the info sidebar when the data reloads and needs to rerender. +- 706fc3a: Updated dependency `@kubernetes/client-node` to `0.20.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/plugin-kubernetes-common@0.7.2 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-lighthouse-backend@0.4.0 + +### Minor Changes + +- 7f0dbfd: Fixed crashes faced with custom schedule configuration. The configuration schema has been update to leverage the TaskScheduleDefinition interface. It is highly recommended to move the `lighthouse.shedule` and `lighthouse.timeout` respectively to `lighthouse.schedule.frequency` and `lighthouse.schedule.timeout`. + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-lighthouse-common@0.1.4 + +## @backstage/plugin-pagerduty@0.7.0 + +### Minor Changes + +- 5fca16f: This package has been deprecated, consider using [@pagerduty/backstage-plugin](https://github.com/pagerduty/backstage-plugin) instead. + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-home-react@0.1.6 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder@1.17.0 + +### Minor Changes + +- df88d09: Add a new git repository url picker for `gitea`. This `GiteaRepoPicker` can be used in a template to scaffold a project to be cloned using gitea. +- 33edf50: Added support for dealing with user provided secrets using a new field extension `ui:field: Secret` + +### Patch Changes + +- 6806d10: Added `headerOptions` to `TemplateListPage` to optionally override default values. + Changed `themeId` of TemplateListPage from `website` to `home`. +- aaa6fb3: Minor updates for TypeScript 5.2.2+ compatibility +- 2b72591: Updated dependency `@rjsf/utils` to `5.14.3`. + Updated dependency `@rjsf/core` to `5.14.3`. + Updated dependency `@rjsf/material-ui` to `5.14.3`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.3`. +- 6cd12f2: Updated dependency `@rjsf/utils` to `5.14.1`. + Updated dependency `@rjsf/core` to `5.14.1`. + Updated dependency `@rjsf/material-ui` to `5.14.1`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.1`. +- a518c5a: Updated dependency `@react-hookz/web` to `^23.0.0`. +- 64301d3: Updated dependency `@rjsf/utils` to `5.15.0`. + Updated dependency `@rjsf/core` to `5.15.0`. + Updated dependency `@rjsf/material-ui` to `5.15.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.15.0`. +- 63c494e: Updated dependency `@rjsf/utils` to `5.14.2`. + Updated dependency `@rjsf/core` to `5.14.2`. + Updated dependency `@rjsf/material-ui` to `5.14.2`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.2`. +- b5fa691: Fixing `headerOptions` not being passed through the `TemplatePage` component +- c8908d4: Use new option from RJSF 5.15 +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-scaffolder-react@1.7.0 + - @backstage/catalog-client@1.5.0 + - @backstage/integration@1.8.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-scaffolder-common@1.4.4 + +## @backstage/plugin-scaffolder-backend-module-azure@0.1.0 + +### Minor Changes + +- 219d7f0: Create new scaffolder module for external integrations + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-bitbucket@0.1.0 + +### Minor Changes + +- 219d7f0: Create new scaffolder module for external integrations + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-gerrit@0.1.0 + +### Minor Changes + +- 219d7f0: Create new scaffolder module for external integrations + +### Patch Changes + +- d86cd98: Add dry run support for the `publish:gerrit` action. +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-github@0.1.0 + +### Minor Changes + +- 219d7f0: Create new scaffolder module for external integrations + +### Patch Changes + +- cb6a65e: The `scaffolder.defaultCommitMessage` config value is now being used if provided and uses "initial commit" when it is not provided. +- 28949ea: Add a new action for creating github-autolink references for a repository: `github:autolinks:create` +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-react@1.7.0 + +### Minor Changes + +- 33edf50: Added support for dealing with user provided secrets using a new field extension `ui:field: Secret` + +### Patch Changes + +- 670c7cc: Fix bug where `properties` is set to empty object when it should be empty for schema dependencies +- fa66d1b: Fixed bug in `ReviewState` where `enum` value was displayed in step review instead of the corresponding label when using `enumNames` +- e516bf4: Step titles in the Stepper are now clickable and redirect the user to the corresponding step, as an alternative to using the back buttons. +- aaa6fb3: Minor updates for TypeScript 5.2.2+ compatibility +- 2aee53b: Add horizontal slider if stepper overflows +- 2b72591: Updated dependency `@rjsf/utils` to `5.14.3`. + Updated dependency `@rjsf/core` to `5.14.3`. + Updated dependency `@rjsf/material-ui` to `5.14.3`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.3`. +- 6cd12f2: Updated dependency `@rjsf/utils` to `5.14.1`. + Updated dependency `@rjsf/core` to `5.14.1`. + Updated dependency `@rjsf/material-ui` to `5.14.1`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.1`. +- a518c5a: Updated dependency `@react-hookz/web` to `^23.0.0`. +- 64301d3: Updated dependency `@rjsf/utils` to `5.15.0`. + Updated dependency `@rjsf/core` to `5.15.0`. + Updated dependency `@rjsf/material-ui` to `5.15.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.15.0`. +- 63c494e: Updated dependency `@rjsf/utils` to `5.14.2`. + Updated dependency `@rjsf/core` to `5.14.2`. + Updated dependency `@rjsf/material-ui` to `5.14.2`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.2`. +- c8908d4: Use new option from RJSF 5.15 +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- 5bb5240: Fixed issue for showing undefined for hidden form items +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-scaffolder-common@1.4.4 + +## @backstage/plugin-techdocs-node@1.11.0 + +### Minor Changes + +- d15d483: Add command `--runAsDefaultUser` for `@techdocs/cli generate` to bypass running the docker builds as host user for macOS and Linux. + +### Patch Changes + +- 99fb541: Updated dependency `@azure/identity` to `^4.0.0`. +- 2666675: Updated dependency `@google-cloud/storage` to `^7.0.0`. +- 4f773c1: Bumped the default TechDocs docker image version to the latest which was released several month ago +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration-aws-node@0.1.8 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/app-defaults@1.4.6 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/core-app-api@1.11.2 + - @backstage/plugin-permission-react@0.4.18 + +## @backstage/backend-app-api@0.5.9 + +### Patch Changes + +- 1da5f43: Ensure redaction of secrets that have accidental extra whitespace around them +- 9f8f266: Add redacting for secrets in stack traces of logs +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/config-loader@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/cli-node@0.2.1 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/backend-defaults@0.2.8 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-app-api@0.5.9 + - @backstage/backend-plugin-api@0.6.8 + +## @backstage/backend-openapi-utils@0.1.1 + +### Patch Changes + +- aaa6fb3: Minor updates for TypeScript 5.2.2+ compatibility +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/backend-plugin-api@0.6.8 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/backend-tasks@0.5.13 + +### Patch Changes + +- d8f488a: Allow tasks to run more often that the default work check interval, which is 5 seconds. +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/backend-test-utils@0.2.9 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. + +- b7de76a: Added support for PostgreSQL versions 15 and 16 + + Also introduced a new `setDefaults(options: { ids?: TestDatabaseId[] })` static method that can be added to the `setupTests.ts` file to define the default database ids you want to use throughout your package. Usage would look like this: `TestDatabases.setDefaults({ ids: ['POSTGRES_12','POSTGRES_16'] })` and would result in PostgreSQL versions 12 and 16 being used for your tests. + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-app-api@0.5.9 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/cli-node@0.2.1 + +### Patch Changes + +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/core-app-api@1.11.2 + +### Patch Changes + +- 3e358b0: Added deprecation warning for React Router v6 beta, please make sure you have migrated your apps to use React Router v6 stable as support for the beta version will be removed. See the [migration tutorial](https://backstage.io/docs/tutorials/react-router-stable-migration) for more information. +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/core-components@0.13.9 + +### Patch Changes + +- e8f2ace: Added a new `/testUtils` sub-path that initially exports a `mockBreakpoint` helper. +- 381ed86: Add missing export for IconLinkVertical +- 5c8a3e3: Minor improvements to `Table` component. +- 752df93: Fixes a problem where the `LogViewer` was not able to handle very large logs +- 4d9e3b3: Register component overrides in the global `OverrideComponentNameToClassKeys` provided by `@backstage/theme`. This will in turn will provide component style override types for `createUnifiedTheme`. +- 07dfdf3: Updated dependency `linkifyjs` to `4.1.3`. +- a518c5a: Updated dependency `@react-hookz/web` to `^23.0.0`. +- f291757: Update `linkify-react` to version `4.1.3` +- 175d86b: Fixed an issue where the `onChange` prop within `HeaderTabs` was triggering twice upon tab-switching. +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/version-bridge@1.0.7 + +## @backstage/core-plugin-api@1.8.1 + +### Patch Changes + +- 03d0b6d: Removed the alpha `convertLegacyRouteRef` utility, which as been moved to `@backstage/core-compat-api` +- 0c93dc3: The `createTranslationRef` function from the `/alpha` subpath can now also accept a nested object structure of default translation messages, which will be flatted using `.` separators. +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/create-app@0.5.8 + +### Patch Changes + +- 8ece804: Bumped create-app version. +- 0351e09: Bumped create-app version. +- 3f1192f: Bumped create-app version. +- a96c2d4: Include the `` for group entities by default +- 375b6f7: CircelCI plugin moved permanently +- Updated dependencies + - @backstage/cli-common@0.1.13 + +## @backstage/dev-utils@1.0.25 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/core-app-api@1.11.2 + - @backstage/app-defaults@1.4.6 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + +## @backstage/eslint-plugin@0.1.4 + +### Patch Changes + +- 107dc46: The `no-undeclared-imports` rule will now prefer using version queries that already exist en the repo for the same dependency type when installing new packages. + +## @backstage/integration-react@1.1.22 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + +## @backstage/test-utils@1.4.6 + +### Patch Changes + +- e8f2ace: Deprecated `mockBreakpoint`, as it is now available from `@backstage/core-components/testUtils` instead. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/core-app-api@1.11.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-adr@0.6.11 + +### Patch Changes + +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- fb8f3bd: Updated alpha translation message keys to use nested format and camel case. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-search-react@1.7.4 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-adr-common@0.2.18 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-adr-backend@0.4.5 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-adr-common@0.2.18 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-adr-common@0.2.18 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.8.0 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-airbrake@0.3.28 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/test-utils@1.4.6 + - @backstage/dev-utils@1.0.25 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-airbrake-backend@0.3.5 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + +## @backstage/plugin-allure@0.1.44 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-analytics-module-ga@0.1.36 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-analytics-module-ga4@0.1.7 + +### Patch Changes + +- af6f227: Disabled `send_page_view` to get rid of events duplication +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-analytics-module-newrelic-browser@0.0.5 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/config@1.1.1 + +## @backstage/plugin-apache-airflow@0.2.18 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + +## @backstage/plugin-api-docs@0.10.2 + +### Patch Changes + +- 816d331: Add dependency on `graphql-config` to compensate for `graphql-language-service` needing it but not shipping the dep properly +- 615159e: Updated dependency `graphiql` to `3.0.10`. +- e16e7ce: Updated dependency `@asyncapi/react-component` to `1.2.2`. +- 82fb18b: Updated dependency `@asyncapi/react-component` to `1.2.6`. +- 53e2c06: Updated dependency `@asyncapi/react-component` to `1.1.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-catalog@1.16.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-apollo-explorer@0.1.18 + +### Patch Changes + +- e296b94: Updated dependency `@apollo/explorer` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + +## @backstage/plugin-app-backend@0.3.56 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/config-loader@1.6.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-app-node@0.1.8 + +## @backstage/plugin-app-node@0.1.8 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + +## @backstage/plugin-auth-backend@0.20.1 + +### Patch Changes + +- 7ac2575: `oauth2-proxy` auth implementation has been moved to `@backstage/plugin-auth-backend-module-oauth2-proxy-provider` +- 2a5891e: Migrate the atlassian auth provider to be implemented using the new `@backstage/plugin-auth-backend-module-atlassian-provider` module +- 783797a: fix static token issuer not being able to initialize +- e1c189b: The Okta provider implementation is moved to the new module +- a62764b: Updated dependency `passport` to `^0.7.0`. +- bcbbf8e: Updated dependency `@google-cloud/firestore` to `^7.0.0`. +- Updated dependencies + - @backstage/plugin-auth-backend-module-atlassian-provider@0.1.0 + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-auth-backend-module-okta-provider@0.0.1 + - @backstage/plugin-auth-backend-module-gitlab-provider@0.1.5 + - @backstage/plugin-auth-backend-module-oauth2-provider@0.1.5 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.2 + - @backstage/plugin-auth-backend-module-google-provider@0.1.5 + - @backstage/plugin-auth-backend-module-github-provider@0.1.5 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.2 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-auth-backend-module-github-provider@0.1.5 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + +## @backstage/plugin-auth-backend-module-gitlab-provider@0.1.5 + +### Patch Changes + +- a62764b: Updated dependency `passport` to `^0.7.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + +## @backstage/plugin-auth-backend-module-google-provider@0.1.5 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + +## @backstage/plugin-auth-backend-module-microsoft-provider@0.1.3 + +### Patch Changes + +- a62764b: Updated dependency `passport` to `^0.7.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + +## @backstage/plugin-auth-backend-module-oauth2-provider@0.1.5 + +### Patch Changes + +- a62764b: Updated dependency `passport` to `^0.7.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + +## @backstage/plugin-auth-backend-module-okta-provider@0.0.1 + +### Patch Changes + +- e1c189b: Adds okta-provider backend module for the auth plugin +- a62764b: Updated dependency `passport` to `^0.7.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + +## @backstage/plugin-auth-backend-module-pinniped-provider@0.1.2 + +### Patch Changes + +- a62764b: Updated dependency `passport` to `^0.7.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + +## @backstage/plugin-auth-node@0.4.2 + +### Patch Changes + +- a62764b: Updated dependency `passport` to `^0.7.0`. +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-azure-devops@0.3.10 + +### Patch Changes + +- c70e4f5: Added multi-org support +- 7c9af0b: Added support for annotations that use a subpath for the host. Also validated that the annotations have the correct number of slashes. +- 043b724: Introduced new `AzureDevOpsAnnotatorProcessor` that adds the needed annotations automatically. Also, moved constants to common package so they can be shared more easily +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-azure-devops-common@0.3.2 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-azure-devops-common@0.3.2 + +### Patch Changes + +- c70e4f5: Added multi-org support +- 043b724: Introduced new `AzureDevOpsAnnotatorProcessor` that adds the needed annotations automatically. Also, moved constants to common package so they can be shared more easily + +## @backstage/plugin-azure-sites@0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-azure-sites-common@0.1.1 + +## @backstage/plugin-azure-sites-backend@0.1.18 + +### Patch Changes + +- 99fb541: Updated dependency `@azure/identity` to `^4.0.0`. +- b7a13ed: Updated dependency `@azure/arm-appservice` to `^14.0.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/config@1.1.1 + - @backstage/plugin-azure-sites-common@0.1.1 + +## @backstage/plugin-badges@0.2.52 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-badges-backend@0.3.5 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-bazaar@0.2.20 + +### Patch Changes + +- 5d79682: Internalize 'AboutField' to break catalog dependency +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-bazaar-backend@0.3.6 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-bitbucket-cloud-common@0.2.15 + +### Patch Changes + +- acf9390: Updated dependency `ts-morph` to `^20.0.0`. +- Updated dependencies + - @backstage/integration@1.8.0 + +## @backstage/plugin-bitrise@0.1.55 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-catalog-backend-module-aws@0.3.2 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-kubernetes-common@0.7.2 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration-aws-node@0.1.8 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-catalog-backend-module-azure@0.1.27 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.1 + +### Patch Changes + +- eb44e92: Support authenticated backends +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-openapi-utils@0.1.1 + - @backstage/backend-tasks@0.5.13 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-catalog-backend-module-bitbucket@0.2.23 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.15 + - @backstage/integration@1.8.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.1.23 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-bitbucket-cloud-common@0.2.15 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-events-node@0.2.17 + +## @backstage/plugin-catalog-backend-module-bitbucket-server@0.1.21 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-catalog-backend-module-gcp@0.1.8 + +### Patch Changes + +- 42c1aee: Updated dependency `@google-cloud/container` to `^5.0.0`. +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-kubernetes-common@0.7.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-catalog-backend-module-gerrit@0.1.24 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-catalog-backend-module-github@0.4.6 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/plugin-catalog-backend@1.16.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-events-node@0.2.17 + +## @backstage/plugin-catalog-backend-module-github-org@0.1.2 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-catalog-backend-module-github@0.4.6 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + +## @backstage/plugin-catalog-backend-module-gitlab@0.3.5 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-catalog-backend-module-incremental-ingestion@0.4.12 + +### Patch Changes + +- 43b2eb8: Ensure that cursors always come back as JSON on sqlite too +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/plugin-catalog-backend@1.16.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-events-node@0.2.17 + +## @backstage/plugin-catalog-backend-module-ldap@0.5.23 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-catalog-backend-module-msgraph@0.5.15 + +### Patch Changes + +- 99fb541: Updated dependency `@azure/identity` to `^4.0.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-catalog-backend-module-openapi@0.1.25 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/plugin-catalog-backend@1.16.0 + - @backstage/integration@1.8.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-catalog-backend-module-puppetdb@0.1.13 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.5 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-scaffolder-common@1.4.4 + +## @backstage/plugin-catalog-backend-module-unprocessed@0.3.5 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-catalog-common@1.0.19 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-catalog-graph@0.3.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-import@0.10.4 + +### Patch Changes + +- 03d0b6d: The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/catalog-client@1.5.0 + - @backstage/integration@1.8.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-catalog-react@1.9.2 + +### Patch Changes + +- 8587f06: Added pagination support to `EntityListProvider`. + +- 5360097: Ensure that passed-in icons are taken advantage of in the presentation API + +- fd9863c: Grouped all `/alpha` extension data reference exports under `catalogExtensionData`. + +- 08d9e67: Add default icon for kind resource. + +- aaa6fb3: Minor updates for TypeScript 5.2.2+ compatibility + +- a5a0473: Internal refactor of alpha exports due to a change in how extension factories are defined. + +- 4d9e3b3: Register component overrides in the global `OverrideComponentNameToClassKeys` provided by `@backstage/theme`. This will in turn will provide component style override types for `createUnifiedTheme`. + +- 8f5d6c1: Updates to the `/alpha` exports to match the extension input wrapping change. + +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. + +- e223f22: Breaking alpha-API change to entity visibility filter functions to accept a bare entity as their first argument, instead of an object with an entity property. + + Functions that accept such filters now also support the string expression form of filters. + +- eee0ff2: Fixed a issue where `CatalogPage` wasn't using the chosen `initiallySelectedFilter` as intended. + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-catalog-unprocessed-entities@0.1.6 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-cicd-statistics@0.1.30 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-cicd-statistics-module-gitlab@0.1.24 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-cicd-statistics@0.1.30 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-circleci@0.3.28 + +### Patch Changes + +- 375b6f7: CircelCI plugin moved permanently +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-cloudbuild@0.3.28 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-code-climate@0.1.28 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-code-coverage@0.2.21 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-code-coverage-backend@0.2.22 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/integration@1.8.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-codescene@0.1.20 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-config-schema@0.1.48 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-cost-insights@0.12.17 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-cost-insights-common@0.1.2 + +## @backstage/plugin-devtools@0.1.7 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-devtools-common@0.1.7 + +## @backstage/plugin-devtools-backend@0.2.5 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/config-loader@1.6.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-devtools-common@0.1.7 + +## @backstage/plugin-devtools-common@0.1.7 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + - @backstage/types@1.1.1 + +## @backstage/plugin-dynatrace@8.0.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-entity-feedback@0.2.11 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-entity-feedback-common@0.1.3 + +## @backstage/plugin-entity-feedback-backend@0.2.5 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-entity-feedback-common@0.1.3 + +## @backstage/plugin-entity-validation@0.1.13 + +### Patch Changes + +- a518c5a: Updated dependency `@react-hookz/web` to `^23.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-events-backend@0.2.17 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.17 + +## @backstage/plugin-events-backend-module-aws-sqs@0.2.11 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.17 + +## @backstage/plugin-events-backend-module-azure@0.1.18 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + - @backstage/plugin-events-node@0.2.17 + +## @backstage/plugin-events-backend-module-bitbucket-cloud@0.1.18 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + - @backstage/plugin-events-node@0.2.17 + +## @backstage/plugin-events-backend-module-gerrit@0.1.18 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + - @backstage/plugin-events-node@0.2.17 + +## @backstage/plugin-events-backend-module-github@0.1.18 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.17 + +## @backstage/plugin-events-backend-module-gitlab@0.1.18 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.17 + +## @backstage/plugin-events-backend-test-utils@0.1.18 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.17 + +## @backstage/plugin-events-node@0.2.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + +## @backstage/plugin-explore@0.4.14 + +### Patch Changes + +- aac659e: Added option to set `Direction` for the graph in the `GroupsDiagram` +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-search-react@1.7.4 + - @backstage/plugin-explore-react@0.0.34 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-explore-backend@0.0.18 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-search-backend-module-explore@0.1.12 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-explore-react@0.0.34 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-explore-common@0.0.2 + +## @backstage/plugin-firehydrant@0.2.12 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-fossa@0.2.60 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-gcalendar@0.3.21 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-gcp-projects@0.3.44 + +### Patch Changes + +- a518c5a: Updated dependency `@react-hookz/web` to `^23.0.0`. +- d2f5662: Fix query parameter for project details page which should point to projectId rather than project name +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + +## @backstage/plugin-git-release-manager@0.3.40 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/integration@1.8.0 + +## @backstage/plugin-github-actions@0.6.9 + +### Patch Changes + +- 08d7e46: Github Workflow Runs UI is modified to show in optional Card view instead of table, with branch selection option +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/integration@1.8.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-github-deployments@0.1.59 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/integration@1.8.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-github-issues@0.2.17 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/integration@1.8.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-github-pull-requests-board@0.1.22 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/integration@1.8.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-gitops-profiles@0.3.43 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-gocd@0.1.34 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-graphiql@0.3.1 + +### Patch Changes + +- 03d0b6d: The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 8f5d6c1: Updates to the `/alpha` exports to match the extension input wrapping change. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + +## @backstage/plugin-graphql-voyager@0.1.10 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + +## @backstage/plugin-home-react@0.1.6 + +### Patch Changes + +- 2b72591: Updated dependency `@rjsf/utils` to `5.14.3`. + Updated dependency `@rjsf/core` to `5.14.3`. + Updated dependency `@rjsf/material-ui` to `5.14.3`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.3`. +- 6cd12f2: Updated dependency `@rjsf/utils` to `5.14.1`. + Updated dependency `@rjsf/core` to `5.14.1`. + Updated dependency `@rjsf/material-ui` to `5.14.1`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.1`. +- 64301d3: Updated dependency `@rjsf/utils` to `5.15.0`. + Updated dependency `@rjsf/core` to `5.15.0`. + Updated dependency `@rjsf/material-ui` to `5.15.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.15.0`. +- 63c494e: Updated dependency `@rjsf/utils` to `5.14.2`. + Updated dependency `@rjsf/core` to `5.14.2`. + Updated dependency `@rjsf/material-ui` to `5.14.2`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.2`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + +## @backstage/plugin-ilert@0.2.17 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-jenkins@0.9.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-jenkins-common@0.1.22 + +## @backstage/plugin-jenkins-backend@0.3.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-jenkins-common@0.1.22 + +## @backstage/plugin-jenkins-common@0.1.22 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-kafka@0.3.28 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-kafka-backend@0.3.6 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-kubernetes@0.11.3 + +### Patch Changes + +- 899d71a: Change `formatClusterLink` to be an API and make it async for further customization possibilities. + + **BREAKING** + If you have a custom k8s page and used `formatClusterLink` directly, you need to migrate to new `kubernetesClusterLinkFormatterApiRef` + +- 706fc3a: Updated dependency `@kubernetes/client-node` to `0.20.0`. + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-kubernetes-react@0.2.0 + - @backstage/plugin-kubernetes-common@0.7.2 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-kubernetes-cluster@0.0.4 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-kubernetes-react@0.2.0 + - @backstage/plugin-kubernetes-common@0.7.2 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-kubernetes-common@0.7.2 + +### Patch Changes + +- 706fc3a: Updated dependency `@kubernetes/client-node` to `0.20.0`. +- 5d79682: Remove unused dependency +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-kubernetes-node@0.1.2 + +### Patch Changes + +- 6010564: The `kubernetes-node` plugin has been modified to house a new extension points for Kubernetes backend plugin; + `KubernetesClusterSupplierExtensionPoint` is introduced . + `kubernetesAuthStrategyExtensionPoint` is introduced . + `kubernetesFetcherExtensionPoint` is introduced . + `kubernetesServiceLocatorExtensionPoint` is introduced . + + The `kubernetes-backend` plugin was modified to use this new extension point. + +- Updated dependencies + - @backstage/plugin-kubernetes-common@0.7.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-lighthouse@0.4.13 + +### Patch Changes + +- ffbf656: Updated README +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-lighthouse-common@0.1.4 + +## @backstage/plugin-linguist@0.1.13 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-linguist-common@0.1.2 + +## @backstage/plugin-linguist-backend@0.5.5 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-linguist-common@0.1.2 + +## @backstage/plugin-microsoft-calendar@0.1.10 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-newrelic@0.3.43 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + +## @backstage/plugin-newrelic-dashboard@0.3.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-nomad@0.1.9 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-nomad-backend@0.1.10 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-octopus-deploy@0.2.10 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-opencost@0.2.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + +## @backstage/plugin-org@0.6.18 + +### Patch Changes + +- 59c24b9: Fix issue where members inside of `` would be rendered as squished when the card itself was shrunk down. +- 3a65d9c: Support member list scrollable when parent has specified height +- 4785d05: Add permission check to catalog create and refresh button +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-org-react@0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-periskop@0.1.26 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-periskop-backend@0.2.6 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + +## @backstage/plugin-permission-backend@0.5.31 + +### Patch Changes + +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-permission-backend-module-allow-all-policy@0.1.5 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/backend-plugin-api@0.6.8 + +## @backstage/plugin-permission-common@0.7.11 + +### Patch Changes + +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-permission-node@0.7.19 + +### Patch Changes + +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-permission-react@0.4.18 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/config@1.1.1 + +## @backstage/plugin-playlist@0.2.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-search-react@1.7.4 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-playlist-common@0.1.13 + +## @backstage/plugin-playlist-backend@0.3.12 + +### Patch Changes + +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-playlist-common@0.1.13 + +## @backstage/plugin-playlist-common@0.1.13 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + +## @backstage/plugin-proxy-backend@0.4.6 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + +## @backstage/plugin-puppetdb@0.1.11 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-rollbar@0.4.28 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-rollbar-backend@0.1.53 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-scaffolder-backend@1.19.2 + +### Patch Changes + +- 219d7f0: Refactor some methods to `-node` instead and use the new external modules +- aff34fc: Fix issue with Circular JSON dependencies in templating +- 48667b4: Fix creating env secret in github:environment:create action +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- 28949ea: Add a new action for creating github-autolink references for a repository: `github:autolinks:create` +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-backend-module-github@0.1.0 + - @backstage/plugin-scaffolder-backend-module-gitlab@0.2.11 + - @backstage/plugin-scaffolder-backend-module-gerrit@0.1.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/backend-tasks@0.5.13 + - @backstage/integration@1.8.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-scaffolder-backend-module-bitbucket@0.1.0 + - @backstage/plugin-scaffolder-backend-module-azure@0.1.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.5 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-scaffolder-common@1.4.4 + +## @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.9 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.32 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-gitlab@0.2.11 + +### Patch Changes + +- 219d7f0: Extract some more actions to this library +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-rails@0.4.25 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-sentry@0.1.16 + +### Patch Changes + +- 7f8a801: Added examples for `sentry:project:create` scaffolder action and unit tests. +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-yeoman@0.2.29 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-common@1.4.4 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + - @backstage/catalog-model@1.4.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-node@0.2.9 + +### Patch Changes + +- 219d7f0: Refactor some methods to `-node` instead and use the new external modules +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-scaffolder-common@1.4.4 + +## @backstage/plugin-search@1.4.4 + +### Patch Changes + +- 03d0b6d: The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 8f5d6c1: Updates to the `/alpha` exports to match the extension input wrapping change. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-search-react@1.7.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend@1.4.8 + +### Patch Changes + +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-openapi-utils@0.1.1 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend-module-catalog@0.1.12 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend-module-elasticsearch@1.3.11 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/integration-aws-node@0.1.8 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend-module-explore@0.1.12 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend-module-pg@0.5.17 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.1 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend-module-techdocs@0.1.12 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-techdocs-node@1.11.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend-node@1.2.12 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-common@1.2.9 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + - @backstage/types@1.1.1 + +## @backstage/plugin-search-react@1.7.4 + +### Patch Changes + +- a5a0473: Internal refactor of alpha exports due to a change in how extension factories are defined. +- 84dabc5: Removed `@backstage/frontend-app-api` dependency. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 6f280fa: Capture analytics even when number of results is not available, since the total result count is not something that is always available for all search engines and configurations. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-sentry@0.5.13 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-shortcuts@0.3.17 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-sonarqube@0.7.10 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-sonarqube-react@0.1.11 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-sonarqube-backend@0.2.10 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-sonarqube-react@0.1.11 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-splunk-on-call@0.4.17 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-stack-overflow@0.1.23 + +### Patch Changes + +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-search-react@1.7.4 + - @backstage/plugin-home-react@0.1.6 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-stack-overflow-backend@0.2.12 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.1 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-stackstorm@0.1.9 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-tech-insights@0.3.20 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-backend@0.5.22 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-tech-insights-node@0.4.14 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.40 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-tech-insights-node@0.4.14 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-node@0.4.14 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-radar@0.6.11 + +### Patch Changes + +- 03d0b6d: The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + +## @backstage/plugin-techdocs@1.9.2 + +### Patch Changes + +- 03d0b6d: The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-search-react@1.7.4 + - @backstage/integration@1.8.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-techdocs-react@1.1.14 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-techdocs-addons-test-utils@1.0.25 + +### Patch Changes + +- 3f354e6: Move `@testing-library/react` to be a `peerDependency` +- 5d79682: Remove unnecessary catalog dependency +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-catalog@1.16.0 + - @backstage/core-app-api@1.11.2 + - @backstage/test-utils@1.4.6 + - @backstage/plugin-techdocs@1.9.2 + - @backstage/plugin-search-react@1.7.4 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-techdocs-react@1.1.14 + +## @backstage/plugin-techdocs-backend@1.9.1 + +### Patch Changes + +- a402644: Regenerates a fresh token for each call to the search index when collating techdocs. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/integration@1.8.0 + - @backstage/plugin-techdocs-node@1.11.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-search-backend-module-techdocs@0.1.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-techdocs-module-addons-contrib@1.1.3 + +### Patch Changes + +- a518c5a: Updated dependency `@react-hookz/web` to `^23.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/integration@1.8.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-techdocs-react@1.1.14 + +## @backstage/plugin-techdocs-react@1.1.14 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/plugin-todo@0.2.32 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-todo-backend@0.3.6 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-openapi-utils@0.1.1 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-user-settings@0.7.14 + +### Patch Changes + +- 03d0b6d: The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 8f5d6c1: Updates to the `/alpha` exports to match the extension input wrapping change. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- fb8f3bd: Updated alpha translation message keys to use nested format and camel case. +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/core-app-api@1.11.2 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-user-settings-backend@0.2.7 + +### Patch Changes + +- 2633d64: Change user settings backend plugin id and fix when using user setting backend home page first will cause edit page loop render +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-vault@0.1.23 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-vault-backend@0.4.1 + +### Patch Changes + +- b7de76a: Updated to test using PostgreSQL 12 and 16 +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-vault-node@0.1.1 + +## @backstage/plugin-vault-node@0.1.1 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + +## @backstage/plugin-xcmetrics@0.2.46 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/errors@1.2.3 + +## example-app@0.2.90 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-app-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/plugin-api-docs@0.10.2 + - @backstage/core-components@0.13.9 + - @backstage/cli@0.25.0 + - @backstage/theme@0.5.0 + - @backstage/plugin-scaffolder@1.17.0 + - @backstage/plugin-home@0.6.0 + - @backstage/plugin-catalog@1.16.0 + - @backstage/plugin-scaffolder-react@1.7.0 + - @backstage/plugin-kubernetes@0.11.3 + - @backstage/plugin-org@0.6.18 + - @backstage/plugin-github-actions@0.6.9 + - @backstage/plugin-azure-devops@0.3.10 + - @backstage/core-app-api@1.11.2 + - @backstage/plugin-lighthouse@0.4.13 + - @backstage/plugin-explore@0.4.14 + - @backstage/plugin-catalog-import@0.10.4 + - @backstage/plugin-user-settings@0.7.14 + - @backstage/plugin-tech-radar@0.6.11 + - @backstage/plugin-graphiql@0.3.1 + - @backstage/plugin-techdocs@1.9.2 + - @backstage/plugin-search@1.4.4 + - @backstage/plugin-search-react@1.7.4 + - @backstage/plugin-stack-overflow@0.1.23 + - @backstage/plugin-adr@0.6.11 + - @backstage/plugin-gcp-projects@0.3.44 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.3 + - @backstage/plugin-pagerduty@0.7.0 + - @backstage/app-defaults@1.4.6 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-airbrake@0.3.28 + - @backstage/plugin-apache-airflow@0.2.18 + - @backstage/plugin-azure-sites@0.1.17 + - @backstage/plugin-badges@0.2.52 + - @backstage/plugin-catalog-graph@0.3.2 + - @backstage/plugin-catalog-unprocessed-entities@0.1.6 + - @backstage/plugin-cloudbuild@0.3.28 + - @backstage/plugin-code-coverage@0.2.21 + - @backstage/plugin-cost-insights@0.12.17 + - @backstage/plugin-devtools@0.1.7 + - @backstage/plugin-dynatrace@8.0.2 + - @backstage/plugin-entity-feedback@0.2.11 + - @backstage/plugin-gcalendar@0.3.21 + - @backstage/plugin-gocd@0.1.34 + - @backstage/plugin-jenkins@0.9.3 + - @backstage/plugin-kafka@0.3.28 + - @backstage/plugin-kubernetes-cluster@0.0.4 + - @backstage/plugin-linguist@0.1.13 + - @backstage/plugin-microsoft-calendar@0.1.10 + - @backstage/plugin-newrelic@0.3.43 + - @backstage/plugin-newrelic-dashboard@0.3.3 + - @backstage/plugin-nomad@0.1.9 + - @backstage/plugin-octopus-deploy@0.2.10 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/plugin-playlist@0.2.2 + - @backstage/plugin-puppetdb@0.1.11 + - @backstage/plugin-rollbar@0.4.28 + - @backstage/plugin-sentry@0.5.13 + - @backstage/plugin-shortcuts@0.3.17 + - @backstage/plugin-stackstorm@0.1.9 + - @backstage/plugin-tech-insights@0.3.20 + - @backstage/plugin-techdocs-react@1.1.14 + - @backstage/plugin-todo@0.2.32 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.9 + +## example-app-next@0.0.4 + +### Patch Changes + +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/frontend-app-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/plugin-api-docs@0.10.2 + - @backstage/core-components@0.13.9 + - @backstage/cli@0.25.0 + - @backstage/theme@0.5.0 + - @backstage/plugin-scaffolder@1.17.0 + - @backstage/plugin-home@0.6.0 + - @backstage/plugin-catalog@1.16.0 + - @backstage/plugin-scaffolder-react@1.7.0 + - @backstage/plugin-kubernetes@0.11.3 + - @backstage/plugin-org@0.6.18 + - @backstage/plugin-github-actions@0.6.9 + - @backstage/plugin-azure-devops@0.3.10 + - @backstage/core-app-api@1.11.2 + - @backstage/plugin-lighthouse@0.4.13 + - @backstage/plugin-explore@0.4.14 + - @backstage/plugin-catalog-import@0.10.4 + - @backstage/plugin-user-settings@0.7.14 + - @backstage/plugin-tech-radar@0.6.11 + - @backstage/plugin-graphiql@0.3.1 + - @backstage/plugin-techdocs@1.9.2 + - @backstage/plugin-search@1.4.4 + - @backstage/plugin-search-react@1.7.4 + - @backstage/plugin-adr@0.6.11 + - @backstage/plugin-gcp-projects@0.3.44 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.3 + - @backstage/plugin-pagerduty@0.7.0 + - @backstage/app-defaults@1.4.6 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-airbrake@0.3.28 + - @backstage/plugin-apache-airflow@0.2.18 + - @backstage/plugin-azure-sites@0.1.17 + - @backstage/plugin-badges@0.2.52 + - @backstage/plugin-catalog-graph@0.3.2 + - @backstage/plugin-catalog-unprocessed-entities@0.1.6 + - @backstage/plugin-cloudbuild@0.3.28 + - @backstage/plugin-code-coverage@0.2.21 + - @backstage/plugin-cost-insights@0.12.17 + - @backstage/plugin-devtools@0.1.7 + - @backstage/plugin-dynatrace@8.0.2 + - @backstage/plugin-entity-feedback@0.2.11 + - @backstage/plugin-gcalendar@0.3.21 + - @backstage/plugin-gocd@0.1.34 + - @backstage/plugin-jenkins@0.9.3 + - @backstage/plugin-kafka@0.3.28 + - @backstage/plugin-linguist@0.1.13 + - @backstage/plugin-microsoft-calendar@0.1.10 + - @backstage/plugin-newrelic@0.3.43 + - @backstage/plugin-newrelic-dashboard@0.3.3 + - @backstage/plugin-octopus-deploy@0.2.10 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/plugin-playlist@0.2.2 + - @backstage/plugin-puppetdb@0.1.11 + - @backstage/plugin-rollbar@0.4.28 + - @backstage/plugin-sentry@0.5.13 + - @backstage/plugin-shortcuts@0.3.17 + - @backstage/plugin-stackstorm@0.1.9 + - @backstage/plugin-tech-insights@0.3.20 + - @backstage/plugin-techdocs-react@1.1.14 + - @backstage/plugin-todo@0.2.32 + - @backstage/plugin-visualizer@0.0.1 + - app-next-example-plugin@0.0.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.9 + +## app-next-example-plugin@0.0.4 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + +## example-backend@0.2.90 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-auth-backend@0.20.1 + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/plugin-techdocs-backend@1.9.1 + - @backstage/plugin-catalog-backend@1.16.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-azure-devops-backend@0.5.0 + - @backstage/plugin-scaffolder-backend@1.19.2 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-lighthouse-backend@0.4.0 + - @backstage/plugin-kubernetes-backend@0.14.0 + - @backstage/integration@1.8.0 + - @backstage/plugin-azure-sites-backend@0.1.18 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-backend@0.5.31 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-playlist-backend@0.3.12 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/plugin-search-backend@1.4.8 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.5 + - @backstage/plugin-search-backend-module-elasticsearch@1.3.11 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.5 + - @backstage/plugin-search-backend-module-techdocs@0.1.12 + - @backstage/plugin-search-backend-module-catalog@0.1.12 + - @backstage/plugin-search-backend-module-explore@0.1.12 + - @backstage/plugin-search-backend-module-pg@0.5.17 + - @backstage/plugin-events-backend@0.2.17 + - example-app@0.2.90 + - @backstage/plugin-adr-backend@0.4.5 + - @backstage/plugin-app-backend@0.3.56 + - @backstage/plugin-badges-backend@0.3.5 + - @backstage/plugin-code-coverage-backend@0.2.22 + - @backstage/plugin-devtools-backend@0.2.5 + - @backstage/plugin-entity-feedback-backend@0.2.5 + - @backstage/plugin-explore-backend@0.0.18 + - @backstage/plugin-jenkins-backend@0.3.2 + - @backstage/plugin-kafka-backend@0.3.6 + - @backstage/plugin-linguist-backend@0.5.5 + - @backstage/plugin-nomad-backend@0.1.10 + - @backstage/plugin-proxy-backend@0.4.6 + - @backstage/plugin-rollbar-backend@0.1.53 + - @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.9 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.25 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/plugin-tech-insights-backend@0.5.22 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.40 + - @backstage/plugin-tech-insights-node@0.4.14 + - @backstage/plugin-todo-backend@0.3.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.17 + - @backstage/plugin-search-common@1.2.9 + +## example-backend-next@0.0.18 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.1 + - @backstage/plugin-techdocs-backend@1.9.1 + - @backstage/plugin-catalog-backend@1.16.0 + - @backstage/plugin-azure-devops-backend@0.5.0 + - @backstage/plugin-scaffolder-backend@1.19.2 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-lighthouse-backend@0.4.0 + - @backstage/plugin-kubernetes-backend@0.14.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-backend@0.5.31 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-playlist-backend@0.3.12 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/plugin-search-backend@1.4.8 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.5 + - @backstage/plugin-permission-backend-module-allow-all-policy@0.1.5 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.5 + - @backstage/plugin-search-backend-module-techdocs@0.1.12 + - @backstage/plugin-search-backend-module-catalog@0.1.12 + - @backstage/plugin-search-backend-module-explore@0.1.12 + - @backstage/backend-defaults@0.2.8 + - @backstage/plugin-adr-backend@0.4.5 + - @backstage/plugin-app-backend@0.3.56 + - @backstage/plugin-badges-backend@0.3.5 + - @backstage/plugin-catalog-backend-module-openapi@0.1.25 + - @backstage/plugin-devtools-backend@0.2.5 + - @backstage/plugin-entity-feedback-backend@0.2.5 + - @backstage/plugin-jenkins-backend@0.3.2 + - @backstage/plugin-linguist-backend@0.5.5 + - @backstage/plugin-nomad-backend@0.1.10 + - @backstage/plugin-proxy-backend@0.4.6 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/plugin-sonarqube-backend@0.2.10 + - @backstage/plugin-todo-backend@0.3.6 + - @backstage/backend-plugin-api@0.6.8 + +## @backstage/backend-plugin-manager@0.0.4 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-backend@1.16.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/cli-node@0.2.1 + - @backstage/plugin-events-backend@0.2.17 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.17 + - @backstage/plugin-search-common@1.2.9 + +## e2e-test@0.2.10 + +### Patch Changes + +- Updated dependencies + - @backstage/create-app@0.5.8 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + +## techdocs-cli-embedded-app@0.2.89 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/cli@0.25.0 + - @backstage/theme@0.5.0 + - @backstage/plugin-catalog@1.16.0 + - @backstage/core-app-api@1.11.2 + - @backstage/test-utils@1.4.6 + - @backstage/plugin-techdocs@1.9.2 + - @backstage/app-defaults@1.4.6 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-techdocs-react@1.1.14 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + +## @internal/plugin-todo-list@1.0.20 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + +## @internal/plugin-todo-list-backend@1.0.20 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @internal/plugin-todo-list-common@1.0.16 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + +## @backstage/plugin-visualizer@0.0.1 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 diff --git a/docs/releases/v1.21.0.md b/docs/releases/v1.21.0.md new file mode 100644 index 0000000000..53e77f0021 --- /dev/null +++ b/docs/releases/v1.21.0.md @@ -0,0 +1,135 @@ +--- +id: v1.21.0 +title: v1.21.0 +description: Backstage Release v1.21.0 +--- + +These are the release notes for the v1.21.0 release of [Backstage](https://backstage.io/). + +A huge thanks to the whole team of maintainers and contributors as well as the amazing Backstage Community for the hard work in getting this release developed and done. + +## Highlights + +### New Frontend System Alpha + +This release marks the alpha release of the new frontend system, which has been in an experimental state since implementation began in the middle of 2023. This new system brings declarative integration of plugins, which is the ability to integrate new features into a Backstage app without writing any TypeScript code. Through this capability it also paves the way for supporting dynamic plugin installation at runtime. + +The alpha release is a point of increased stability following the earlier experimental phase. There is now a complete system that lets you build out a full application, supported by [documentation](https://backstage.io/docs/frontend-system/). From this point on any breaking changes will also be clearly marked in the changelog. + +There is still a long road ahead to a stable release, and this is not the time to migrate existing applications. There are only a few plugins that support this system so far, and if you want to add to a plugin that you own, please do so under an `/alpha` sub-path export. + +Still, we encourage you to explore this new system to see whether you are confident in this path forward. If you have feedback or want to know more you can reach out in the #declarative-integration channel on Discord, or join an [Adoption SIG](https://github.com/backstage/community/blob/main/sigs/sig-adoption/README.md) meeting where the new system is frequently discussed. You can also check out our [maintainer talk at KubeCon NA 2023](https://youtu.be/ONMBYnhxnNU?t=436), where we talk about this new system and show a couple of demos. + +### React Router Beta deprecation + +This release of Backstage officially deprecates, but does _not_ immediately remove, support for old beta versions of [`react-router` 6](https://reactrouter.com/). Actual support for beta versions will be removed entirely in an upcoming release of Backstage. Please upgrade your own Backstage project as soon as possible to a stable version of `react-router`, by [following this guide](https://backstage.io/docs/tutorials/react-router-stable-migration/). + +### New PostgreSQL versioning policy + +The Backstage project has now settled on [a clearer policy](https://backstage.io/docs/overview/versioning-policy/#postgresql-releases) for what versions of PostgreSQL that it supports. In short, we support the last five [released major versions](https://www.postgresql.org/support/versioning/), and actively test against the first and last of those five, in a rolling window over time. + +As part of this, the `TestDatabases` utility class now supports all of the last major versions of PostgreSQL in addition to the ones it supported before. You can also call `TestDatabases.setDefaults` inside your `setupTests.ts` file to configure the set of engines to test against, instead of enumerating them in every individual test. + +Contributed by [@awanlin](https://github.com/awanlin) in [#21510](https://github.com/backstage/backstage/pull/21510) + +### `UnifiedTheme` Now Supports Overrides + +You can now supply overrides for Backstage components when using `createUnifiedTheme`. We've updated the demo site’s Aperture theme to work with this and you can see the code for that [here](https://github.com/backstage/demo/blob/402cbb358cddacd59b339580bef0a4c5c2c7e013/packages/app/src/theme/aperture.ts#L85). + +If you are switching from the old way of defining a theme to `createUnifiedTheme`, note that it uses the MUI v5 overrides format. The style overrides are now nested in a `styleOverrides` key, and if you want access to the theme you’ll need to use a callback: + +```ts +BackstageHeaderTabs: { + styleOverrides: { + defaultTab: { + textTransform: 'none', + }, + }, +}, +MuiChip: { + styleOverrides: { + root: ({ theme }) => ({ + color: theme.palette.primary.dark, + }), + }, +}, +``` + +### Catalog pagination + +`CatalogIndexPage` now offers an optional pagination feature, designed to accommodate adopters managing extensive catalogs. This new capability allows for better handling of large amounts of data. + +To activate the pagination mode, simply update your `App.tsx` as follows: + +```diff + const routes = ( + + ... +- } /> ++ } /> + ... +``` + +In case you have a custom catalog page and you want to enable pagination, you need to pass the `pagination` prop to `EntityListProvider` instead. For now both column sorting and search filtering are still done locally, meaning they only apply to each individual page. This is something we will improve in the future and we still wanted to make this feature available early as it can greatly improve the performance of the catalog page. + +### Azure DevOps Multi-Org Support + +The Azure DevOps plugin now has multi-org support and there is a new processor to help with adding the needed annotations. Contributed by [@awanlin](https://github.com/awanlin) in [#19622](https://github.com/backstage/backstage/issues/19622) + +### New Authentication providers + +A new Atlassian authentication provider has been added to `@backstage/plugin-auth-backend`. Contributed by [@handsamtw](https://github.com/handsamtw) in [#21007](https://github.com/backstage/backstage/pull/21007) + +A new VMware Cloud authentication provider has been added to `@backstage/plugin-auth-backend`. Contributed by [@luchillo17](https://github.com/luchillo17) in [#21337](https://github.com/backstage/backstage/pull/21337) + +### Kubernetes single cluster selection + +You can now select a `single` kubernetes cluster that the entity is part of from all your defined kubernetes clusters, by providing the `backstage.io/kubernetes-cluster` annotation with the defined cluster name. + +If you do not specify the annotation then by default it fetches all defined kubernetes clusters. + +To apply, update your `catalog-info.yaml`as follows: + +```diff + metadata: + annotations: + 'backstage.io/kubernetes-id': dice-roller + 'backstage.io/kubernetes-namespace': dice-space ++ 'backstage.io/kubernetes-cluster': dice-cluster + 'backstage.io/kubernetes-label-selector': 'app=my-app,component=front-end' +``` + +Contributed by [@deepan10](https://github.com/deepan10) in [#20954](https://github.com/backstage/backstage/pull/20954) + +### BREAKING: Repo tools generated API Reports path changes + +API Reports generated for sub-path exports now place the name as a suffix rather than prefix, for example `api-report-alpha.md` instead of `alpha-api-report.md`. When upgrading to this version you'll need to re-create any such API reports and delete the old ones. + +### PagerDuty plugin changes home 🏡 + +The [PagerDuty](https://www.pagerduty.com/) plugin has been marked as deprecated in favor of [pagerduty/backstage-plugin](https://github.com/pagerduty/backstage-plugin) which is maintained by PagerDuty themselves! We encourage you to [migrate to @pagerduty/backstage-plugin](https://pagerduty.github.io/backstage-plugin-docs/migration/) in order to receive future updates. + +Congrats to the PagerDuty folks for taking ownership of the plugin 👏 + +Contributed by [@t1agob](https://github.com/t1agob) in [#21436](https://github.com/backstage/backstage/pull/21436) + +## Security Fixes + +This release does not contain any security fixes. + +## Upgrade path + +We recommend that you keep your Backstage project up to date with this latest release. For more guidance on how to upgrade, check out the documentation for [keeping Backstage updated](https://backstage.io/docs/getting-started/keeping-backstage-updated). + +## Links and References + +Below you can find a list of links and references to help you learn about and start using this new release. + +- [Backstage official website](https://backstage.io/), [documentation](https://backstage.io/docs/), and [getting started guide](https://backstage.io/docs/getting-started/) +- [GitHub repository](https://github.com/backstage/backstage) +- Backstage's [versioning and support policy](https://backstage.io/docs/overview/versioning-policy) +- [Community Discord](https://discord.gg/backstage-687207715902193673) for discussions and support +- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.21.0-changelog.md) +- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins) + +Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage. diff --git a/docs/releases/v1.22.0-next.0-changelog.md b/docs/releases/v1.22.0-next.0-changelog.md new file mode 100644 index 0000000000..2505b29d9d --- /dev/null +++ b/docs/releases/v1.22.0-next.0-changelog.md @@ -0,0 +1,2974 @@ +# Release v1.22.0-next.0 + +## @backstage/app-defaults@1.4.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + +## @backstage/backend-app-api@0.5.10-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/cli-node@0.2.1 + - @backstage/config@1.1.1 + - @backstage/config-loader@1.6.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## @backstage/backend-common@0.20.1-next.0 + +### Patch Changes + +- b6b15b2: Use sha256 instead of md5 for hash key calculation in caches + + This can have a side effect of invalidating caches (when cache key was >250 characters) + This improves compliance with FIPS nodejs + +- Updated dependencies + - @backstage/backend-app-api@0.5.10-next.0 + - @backstage/backend-dev-utils@0.1.2 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/config-loader@1.6.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/integration-aws-node@0.1.8 + - @backstage/types@1.1.1 + +## @backstage/backend-defaults@0.2.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-app-api@0.5.10-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + +## @backstage/backend-openapi-utils@0.1.2-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/errors@1.2.3 + +## @backstage/backend-plugin-api@0.6.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + +## @backstage/backend-tasks@0.5.14-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/backend-test-utils@0.2.10-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-app-api@0.5.10-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/catalog-client@1.5.2-next.0 + +### Patch Changes + +- 883782e: Fix a bug in `getLocationByRef` that led to invalid backend calls +- Updated dependencies + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/cli@0.25.1-next.0 + +### Patch Changes + +- b6b15b2: Use sha256 instead of md5 in build script cache key calculation + + Makes it possible to build on FIPS nodejs. + +- Updated dependencies + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/cli-node@0.2.1 + - @backstage/config@1.1.1 + - @backstage/config-loader@1.6.0 + - @backstage/errors@1.2.3 + - @backstage/eslint-plugin@0.1.4 + - @backstage/integration@1.8.0 + - @backstage/release-manifests@0.0.11 + - @backstage/types@1.1.1 + +## @backstage/core-compat-api@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/core-components@0.13.10-next.0 + +### Patch Changes + +- d625f66: Fixed bug in Link where it was possible to select and copy a hidden element into clipboard +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/theme@0.5.0 + - @backstage/version-bridge@1.0.7 + +## @backstage/create-app@0.5.9-next.0 + +### Patch Changes + +- Bumped create-app version. +- Updated dependencies + - @backstage/cli-common@0.1.13 + +## @backstage/dev-utils@1.0.26-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/app-defaults@1.4.7-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + +## @backstage/frontend-app-api@0.4.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/config@1.1.1 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/frontend-plugin-api@0.4.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/frontend-test-utils@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/frontend-app-api@0.4.1-next.0 + - @backstage/test-utils@1.4.7-next.0 + - @backstage/types@1.1.1 + +## @backstage/repo-tools@0.5.2-next.0 + +### Patch Changes + +- 883782e: Updated the OpenAPI template to export the `TypedResponse` interface so that client code can leverage it +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/cli-node@0.2.1 + - @backstage/errors@1.2.3 + +## @techdocs/cli@1.8.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/plugin-techdocs-node@1.11.1-next.0 + +## @backstage/test-utils@1.4.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/config@1.1.1 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.11 + +## @backstage/plugin-adr@0.6.12-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-adr-common@0.2.18 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-adr-backend@0.4.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-adr-common@0.2.18 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-airbrake@0.3.29-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/dev-utils@1.0.26-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/test-utils@1.4.7-next.0 + +## @backstage/plugin-airbrake-backend@0.3.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-allure@0.1.45-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-analytics-module-ga@0.1.37-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-analytics-module-ga4@0.1.8-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-analytics-module-newrelic-browser@0.0.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-apache-airflow@0.2.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-api-docs@0.10.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-catalog@1.16.1-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-apollo-explorer@0.1.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-app-backend@0.3.57-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/config-loader@1.6.0 + - @backstage/types@1.1.1 + - @backstage/plugin-app-node@0.1.9-next.0 + +## @backstage/plugin-app-node@0.1.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + +## @backstage/plugin-auth-backend@0.20.3-next.0 + +### Patch Changes + +- 004499c: Fixed an issue where some Okta's resolvers were missing +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.1-next.0 + - @backstage/plugin-auth-backend-module-atlassian-provider@0.1.1-next.0 + - @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.3-next.0 + - @backstage/plugin-auth-backend-module-github-provider@0.1.6-next.0 + - @backstage/plugin-auth-backend-module-gitlab-provider@0.1.6-next.0 + - @backstage/plugin-auth-backend-module-google-provider@0.1.6-next.0 + - @backstage/plugin-auth-backend-module-oauth2-provider@0.1.6-next.0 + - @backstage/plugin-auth-backend-module-okta-provider@0.0.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-auth-backend-module-atlassian-provider@0.1.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-auth-backend-module-github-provider@0.1.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-auth-backend-module-gitlab-provider@0.1.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-auth-backend-module-google-provider@0.1.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-auth-backend-module-microsoft-provider@0.1.4-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-auth-backend-module-oauth2-provider@0.1.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-auth-backend-module-okta-provider@0.0.2-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-auth-backend-module-pinniped-provider@0.1.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-auth-backend-module-vmware-cloud-provider@0.1.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-auth-node@0.4.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-azure-devops@0.3.11-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-azure-devops-common@0.3.2 + +## @backstage/plugin-azure-devops-backend@0.5.1-next.0 + +### Patch Changes + +- d076ee4: Updated dependency `azure-devops-node-api` to `^12.0.0`. +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + - @backstage/plugin-azure-devops-common@0.3.2 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-azure-sites@0.1.18-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-azure-sites-common@0.1.1 + +## @backstage/plugin-azure-sites-backend@0.1.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-azure-sites-common@0.1.1 + +## @backstage/plugin-badges@0.2.53-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-badges-backend@0.3.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-bazaar@0.2.21-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-bazaar-backend@0.3.7-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-bitrise@0.1.56-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-catalog@1.16.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-scaffolder-common@1.4.4 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-catalog-backend@1.16.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-search-backend-module-catalog@0.1.13-next.0 + - @backstage/backend-openapi-utils@0.1.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-events-node@0.2.18-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## @backstage/plugin-catalog-backend-module-aws@0.3.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-kubernetes-common@0.7.3-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/integration-aws-node@0.1.8 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-catalog-backend-module-azure@0.1.28-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.2-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-openapi-utils@0.1.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-catalog-backend-module-bitbucket@0.2.24-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.15 + +## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.1.24-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.15 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-events-node@0.2.18-next.0 + +## @backstage/plugin-catalog-backend-module-bitbucket-server@0.1.22-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + +## @backstage/plugin-catalog-backend-module-gcp@0.1.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-kubernetes-common@0.7.3-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-catalog-backend-module-gerrit@0.1.25-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + +## @backstage/plugin-catalog-backend-module-github@0.4.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + - @backstage/plugin-catalog-backend@1.16.1-next.0 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-events-node@0.2.18-next.0 + +## @backstage/plugin-catalog-backend-module-github-org@0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-backend-module-github@0.4.7-next.0 + +## @backstage/plugin-catalog-backend-module-gitlab@0.3.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + +## @backstage/plugin-catalog-backend-module-incremental-ingestion@0.4.13-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-backend@1.16.1-next.0 + - @backstage/plugin-events-node@0.2.18-next.0 + - @backstage/plugin-permission-common@0.7.11 + +## @backstage/plugin-catalog-backend-module-ldap@0.5.24-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-catalog-backend-module-msgraph@0.5.16-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-catalog-backend-module-openapi@0.1.26-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-backend@1.16.1-next.0 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-catalog-backend-module-puppetdb@0.1.14-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-scaffolder-common@1.4.4 + +## @backstage/plugin-catalog-backend-module-unprocessed@0.3.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-catalog-graph@0.3.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-import@0.10.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-catalog-node@1.6.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## @backstage/plugin-catalog-react@1.9.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-permission-common@0.7.11 + +## @backstage/plugin-catalog-unprocessed-entities@0.1.7-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-cicd-statistics@0.1.31-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-cicd-statistics-module-gitlab@0.1.25-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-cicd-statistics@0.1.31-next.0 + +## @backstage/plugin-circleci@0.3.29-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-cloudbuild@0.3.29-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-code-climate@0.1.29-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-code-coverage@0.2.22-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-code-coverage-backend@0.2.23-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-codescene@0.1.21-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-config-schema@0.1.49-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-cost-insights@0.12.18-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/plugin-cost-insights-common@0.1.2 + +## @backstage/plugin-devtools@0.1.8-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-devtools-common@0.1.7 + +## @backstage/plugin-devtools-backend@0.2.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/config-loader@1.6.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-devtools-common@0.1.7 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## @backstage/plugin-dynatrace@8.0.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-entity-feedback@0.2.12-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-entity-feedback-common@0.1.3 + +## @backstage/plugin-entity-feedback-backend@0.2.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-entity-feedback-common@0.1.3 + +## @backstage/plugin-entity-validation@0.1.14-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-events-backend@0.2.18-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.18-next.0 + +## @backstage/plugin-events-backend-module-aws-sqs@0.2.12-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.18-next.0 + +## @backstage/plugin-events-backend-module-azure@0.1.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-events-node@0.2.18-next.0 + +## @backstage/plugin-events-backend-module-bitbucket-cloud@0.1.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-events-node@0.2.18-next.0 + +## @backstage/plugin-events-backend-module-gerrit@0.1.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-events-node@0.2.18-next.0 + +## @backstage/plugin-events-backend-module-github@0.1.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.18-next.0 + +## @backstage/plugin-events-backend-module-gitlab@0.1.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.18-next.0 + +## @backstage/plugin-events-backend-test-utils@0.1.19-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.18-next.0 + +## @backstage/plugin-events-node@0.2.18-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + +## @backstage/plugin-explore@0.4.15-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-explore-react@0.0.35-next.0 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-explore-backend@0.0.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-search-backend-module-explore@0.1.13-next.0 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + +## @backstage/plugin-explore-react@0.0.35-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-explore-common@0.0.2 + +## @backstage/plugin-firehydrant@0.2.13-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-fossa@0.2.61-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-gcalendar@0.3.22-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-gcp-projects@0.3.45-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-git-release-manager@0.3.41-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/integration@1.8.0 + +## @backstage/plugin-github-actions@0.6.10-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/integration@1.8.0 + +## @backstage/plugin-github-deployments@0.1.60-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + +## @backstage/plugin-github-issues@0.2.18-next.0 + +### Patch Changes + +- bf92ae3: Updated dependency `octokit` to `^3.0.0`. +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + +## @backstage/plugin-github-pull-requests-board@0.1.23-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/integration@1.8.0 + +## @backstage/plugin-gitops-profiles@0.3.44-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-gocd@0.1.35-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-graphiql@0.3.2-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-graphql-voyager@0.1.11-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-home@0.6.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-home-react@0.1.7-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-app-api@1.11.2 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + +## @backstage/plugin-home-react@0.1.7-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-ilert@0.2.18-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-jenkins@0.9.4-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-jenkins-common@0.1.22 + +## @backstage/plugin-jenkins-backend@0.3.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-jenkins-common@0.1.22 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## @backstage/plugin-kafka@0.3.29-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-kafka-backend@0.3.7-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-kubernetes@0.11.4-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-kubernetes-common@0.7.3-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-kubernetes-react@0.2.1-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-kubernetes-backend@0.14.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-kubernetes-common@0.7.3-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration-aws-node@0.1.8 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-kubernetes-node@0.1.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## @backstage/plugin-kubernetes-cluster@0.0.5-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-kubernetes-common@0.7.3-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-kubernetes-react@0.2.1-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-kubernetes-common@0.7.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/catalog-model@1.4.3 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.11 + +## @backstage/plugin-kubernetes-node@0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-kubernetes-common@0.7.3-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-kubernetes-react@0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-kubernetes-common@0.7.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-lighthouse@0.4.14-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-lighthouse-common@0.1.4 + +## @backstage/plugin-lighthouse-backend@0.4.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-lighthouse-common@0.1.4 + +## @backstage/plugin-linguist@0.1.14-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-linguist-common@0.1.2 + +## @backstage/plugin-linguist-backend@0.5.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-linguist-common@0.1.2 + +## @backstage/plugin-microsoft-calendar@0.1.11-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-newrelic@0.3.44-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-newrelic-dashboard@0.3.4-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-nomad@0.1.10-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-nomad-backend@0.1.11-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-octopus-deploy@0.2.11-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-opencost@0.2.4-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-org@0.6.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-common@1.0.19 + +## @backstage/plugin-org-react@0.1.18-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-pagerduty@0.7.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-home-react@0.1.7-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-periskop@0.1.27-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-periskop-backend@0.2.7-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-permission-backend@0.5.32-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## @backstage/plugin-permission-backend-module-allow-all-policy@0.1.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## @backstage/plugin-permission-node@0.7.20-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + +## @backstage/plugin-permission-react@0.4.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-permission-common@0.7.11 + +## @backstage/plugin-playlist@0.2.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-playlist-common@0.1.13 + +## @backstage/plugin-playlist-backend@0.3.13-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + - @backstage/plugin-playlist-common@0.1.13 + +## @backstage/plugin-proxy-backend@0.4.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-puppetdb@0.1.12-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-rollbar@0.4.29-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-rollbar-backend@0.1.54-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-scaffolder@1.17.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/plugin-scaffolder-react@1.7.1-next.0 + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-scaffolder-common@1.4.4 + +## @backstage/plugin-scaffolder-backend@1.19.3-next.0 + +### Patch Changes + +- e9ab1c4: Fixed an issue where not passing a `value` to any of the action's permission conditions caused an error. +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-scaffolder-backend-module-github@0.1.1-next.0 + - @backstage/plugin-scaffolder-backend-module-azure@0.1.1-next.0 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.6-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + - @backstage/plugin-scaffolder-backend-module-bitbucket@0.1.1-next.0 + - @backstage/plugin-scaffolder-backend-module-gerrit@0.1.1-next.0 + - @backstage/plugin-scaffolder-backend-module-gitlab@0.2.12-next.0 + - @backstage/plugin-scaffolder-common@1.4.4 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## @backstage/plugin-scaffolder-backend-module-azure@0.1.1-next.0 + +### Patch Changes + +- d076ee4: Updated dependency `azure-devops-node-api` to `^12.0.0`. +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## @backstage/plugin-scaffolder-backend-module-bitbucket@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.10-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.33-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/types@1.1.1 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## @backstage/plugin-scaffolder-backend-module-gerrit@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## @backstage/plugin-scaffolder-backend-module-github@0.1.1-next.0 + +### Patch Changes + +- bf92ae3: Updated dependency `octokit` to `^3.0.0`. +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## @backstage/plugin-scaffolder-backend-module-gitlab@0.2.12-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## @backstage/plugin-scaffolder-backend-module-rails@0.4.26-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/types@1.1.1 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## @backstage/plugin-scaffolder-backend-module-sentry@0.1.17-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## @backstage/plugin-scaffolder-backend-module-yeoman@0.2.30-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/types@1.1.1 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## @backstage/plugin-scaffolder-node@0.2.10-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/types@1.1.1 + - @backstage/plugin-scaffolder-common@1.4.4 + +## @backstage/plugin-scaffolder-react@1.7.1-next.0 + +### Patch Changes + +- c28f281: Scaffolder form now shows a list of errors at the top of the form. +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-scaffolder-common@1.4.4 + +## @backstage/plugin-search@1.4.5-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend@1.4.9-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-openapi-utils@0.1.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend-module-catalog@0.1.13-next.0 + +### Patch Changes + +- 2e6c56b: Update wording to show that the backend system no longer is in alpha +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend-module-elasticsearch@1.3.12-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/integration-aws-node@0.1.8 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend-module-explore@0.1.13-next.0 + +### Patch Changes + +- 2e6c56b: Update wording to show that the backend system no longer is in alpha +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend-module-pg@0.5.18-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.2-next.0 + +### Patch Changes + +- 2e6c56b: Update wording to show that the backend system no longer is in alpha +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-backend-module-techdocs@0.1.13-next.0 + +### Patch Changes + +- 2e6c56b: Update wording to show that the backend system no longer is in alpha +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + - @backstage/plugin-techdocs-node@1.11.1-next.0 + +## @backstage/plugin-search-backend-node@1.2.13-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-search-react@1.7.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-sentry@0.5.14-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-shortcuts@0.3.18-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-sonarqube@0.7.11-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-sonarqube-react@0.1.11 + +## @backstage/plugin-sonarqube-backend@0.2.11-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-splunk-on-call@0.4.18-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-stack-overflow@0.1.24-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-home-react@0.1.7-next.0 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-stack-overflow-backend@0.2.13-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.2-next.0 + +## @backstage/plugin-stackstorm@0.1.10-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-tech-insights@0.3.21-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-backend@0.5.23-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-tech-insights-node@0.4.15-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.41-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-tech-insights-node@0.4.15-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-node@0.4.15-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-radar@0.6.12-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + +## @backstage/plugin-techdocs@1.9.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-techdocs-react@1.1.15-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/theme@0.5.0 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-techdocs-addons-test-utils@1.0.26-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/plugin-techdocs-react@1.1.15-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-techdocs@1.9.3-next.0 + - @backstage/plugin-catalog@1.16.1-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/test-utils@1.4.7-next.0 + +## @backstage/plugin-techdocs-backend@1.9.2-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-search-backend-module-techdocs@0.1.13-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-techdocs-node@1.11.1-next.0 + +## @backstage/plugin-techdocs-module-addons-contrib@1.1.4-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-techdocs-react@1.1.15-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/core-plugin-api@1.8.1 + - @backstage/integration@1.8.0 + +## @backstage/plugin-techdocs-node@1.11.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/integration-aws-node@0.1.8 + - @backstage/plugin-search-common@1.2.9 + +## @backstage/plugin-techdocs-react@1.1.15-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/plugin-todo@0.2.33-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-todo-backend@0.3.7-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-openapi-utils@0.1.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + +## @backstage/plugin-user-settings@0.7.15-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/core-app-api@1.11.2 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-user-settings-backend@0.2.8-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-vault@0.1.24-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-vault-backend@0.4.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-vault-node@0.1.2-next.0 + +## @backstage/plugin-vault-node@0.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + +## @backstage/plugin-xcmetrics@0.2.47-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## example-app@0.2.91-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-react@1.7.1-next.0 + - @backstage/core-components@0.13.10-next.0 + - @backstage/cli@0.25.1-next.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.4-next.0 + - @backstage/plugin-catalog-unprocessed-entities@0.1.7-next.0 + - @backstage/plugin-kubernetes-cluster@0.0.5-next.0 + - @backstage/plugin-microsoft-calendar@0.1.11-next.0 + - @backstage/plugin-newrelic-dashboard@0.3.4-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/plugin-entity-feedback@0.2.12-next.0 + - @backstage/plugin-apache-airflow@0.2.19-next.0 + - @backstage/plugin-github-actions@0.6.10-next.0 + - @backstage/plugin-octopus-deploy@0.2.11-next.0 + - @backstage/plugin-stack-overflow@0.1.24-next.0 + - @backstage/plugin-techdocs-react@1.1.15-next.0 + - @backstage/plugin-catalog-graph@0.3.3-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-code-coverage@0.2.22-next.0 + - @backstage/plugin-cost-insights@0.12.18-next.0 + - @backstage/plugin-tech-insights@0.3.21-next.0 + - @backstage/plugin-user-settings@0.7.15-next.0 + - @backstage/plugin-azure-devops@0.3.11-next.0 + - @backstage/plugin-gcp-projects@0.3.45-next.0 + - @backstage/plugin-azure-sites@0.1.18-next.0 + - @backstage/plugin-cloudbuild@0.3.29-next.0 + - @backstage/plugin-kubernetes@0.11.4-next.0 + - @backstage/plugin-lighthouse@0.4.14-next.0 + - @backstage/plugin-scaffolder@1.17.1-next.0 + - @backstage/plugin-stackstorm@0.1.10-next.0 + - @backstage/plugin-tech-radar@0.6.12-next.0 + - @backstage/plugin-dynatrace@8.0.3-next.0 + - @backstage/plugin-gcalendar@0.3.22-next.0 + - @backstage/plugin-pagerduty@0.7.1-next.0 + - @backstage/plugin-shortcuts@0.3.18-next.0 + - @backstage/plugin-airbrake@0.3.29-next.0 + - @backstage/plugin-api-docs@0.10.3-next.0 + - @backstage/plugin-devtools@0.1.8-next.0 + - @backstage/plugin-graphiql@0.3.2-next.0 + - @backstage/plugin-linguist@0.1.14-next.0 + - @backstage/plugin-newrelic@0.3.44-next.0 + - @backstage/plugin-playlist@0.2.3-next.0 + - @backstage/plugin-puppetdb@0.1.12-next.0 + - @backstage/plugin-techdocs@1.9.3-next.0 + - @backstage/plugin-catalog@1.16.1-next.0 + - @backstage/plugin-explore@0.4.15-next.0 + - @backstage/plugin-jenkins@0.9.4-next.0 + - @backstage/plugin-rollbar@0.4.29-next.0 + - @backstage/plugin-badges@0.2.53-next.0 + - @backstage/plugin-search@1.4.5-next.0 + - @backstage/plugin-sentry@0.5.14-next.0 + - @backstage/plugin-kafka@0.3.29-next.0 + - @backstage/plugin-nomad@0.1.10-next.0 + - @backstage/plugin-gocd@0.1.35-next.0 + - @backstage/plugin-home@0.6.1-next.0 + - @backstage/plugin-todo@0.2.33-next.0 + - @backstage/plugin-adr@0.6.12-next.0 + - @backstage/plugin-org@0.6.19-next.0 + - @backstage/app-defaults@1.4.7-next.0 + - @backstage/frontend-app-api@0.4.1-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-catalog-import@0.10.5-next.0 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.9 + +## example-app-next@0.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-react@1.7.1-next.0 + - @backstage/core-components@0.13.10-next.0 + - @backstage/cli@0.25.1-next.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.4-next.0 + - @backstage/plugin-catalog-unprocessed-entities@0.1.7-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-microsoft-calendar@0.1.11-next.0 + - @backstage/plugin-newrelic-dashboard@0.3.4-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/plugin-entity-feedback@0.2.12-next.0 + - @backstage/plugin-apache-airflow@0.2.19-next.0 + - @backstage/plugin-github-actions@0.6.10-next.0 + - @backstage/plugin-octopus-deploy@0.2.11-next.0 + - @backstage/plugin-techdocs-react@1.1.15-next.0 + - @backstage/plugin-catalog-graph@0.3.3-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-code-coverage@0.2.22-next.0 + - @backstage/plugin-cost-insights@0.12.18-next.0 + - @backstage/plugin-tech-insights@0.3.21-next.0 + - @backstage/plugin-user-settings@0.7.15-next.0 + - @backstage/plugin-azure-devops@0.3.11-next.0 + - @backstage/plugin-gcp-projects@0.3.45-next.0 + - @backstage/plugin-azure-sites@0.1.18-next.0 + - @backstage/plugin-cloudbuild@0.3.29-next.0 + - @backstage/plugin-kubernetes@0.11.4-next.0 + - @backstage/plugin-lighthouse@0.4.14-next.0 + - @backstage/plugin-scaffolder@1.17.1-next.0 + - @backstage/plugin-stackstorm@0.1.10-next.0 + - @backstage/plugin-tech-radar@0.6.12-next.0 + - @backstage/plugin-dynatrace@8.0.3-next.0 + - @backstage/plugin-gcalendar@0.3.22-next.0 + - @backstage/plugin-pagerduty@0.7.1-next.0 + - @backstage/plugin-shortcuts@0.3.18-next.0 + - @backstage/plugin-airbrake@0.3.29-next.0 + - @backstage/plugin-api-docs@0.10.3-next.0 + - @backstage/plugin-devtools@0.1.8-next.0 + - @backstage/plugin-graphiql@0.3.2-next.0 + - @backstage/plugin-linguist@0.1.14-next.0 + - @backstage/plugin-newrelic@0.3.44-next.0 + - @backstage/plugin-playlist@0.2.3-next.0 + - @backstage/plugin-puppetdb@0.1.12-next.0 + - @backstage/plugin-techdocs@1.9.3-next.0 + - @backstage/plugin-catalog@1.16.1-next.0 + - @backstage/plugin-explore@0.4.15-next.0 + - @backstage/plugin-jenkins@0.9.4-next.0 + - @backstage/plugin-rollbar@0.4.29-next.0 + - @backstage/plugin-badges@0.2.53-next.0 + - @backstage/plugin-search@1.4.5-next.0 + - @backstage/plugin-sentry@0.5.14-next.0 + - @backstage/plugin-kafka@0.3.29-next.0 + - @backstage/plugin-gocd@0.1.35-next.0 + - @backstage/plugin-home@0.6.1-next.0 + - @backstage/plugin-todo@0.2.33-next.0 + - @backstage/plugin-adr@0.6.12-next.0 + - @backstage/plugin-org@0.6.19-next.0 + - @backstage/app-defaults@1.4.7-next.0 + - app-next-example-plugin@0.0.5-next.0 + - @backstage/frontend-app-api@0.4.1-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-catalog-import@0.10.5-next.0 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/plugin-visualizer@0.0.2-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-app-api@1.11.2 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.9 + +## app-next-example-plugin@0.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + +## example-backend@0.2.91-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-auth-backend@0.20.3-next.0 + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-scaffolder-backend@1.19.3-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-search-backend-module-techdocs@0.1.13-next.0 + - @backstage/plugin-search-backend-module-catalog@0.1.13-next.0 + - @backstage/plugin-search-backend-module-explore@0.1.13-next.0 + - @backstage/plugin-azure-devops-backend@0.5.1-next.0 + - @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.10-next.0 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.6-next.0 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.41-next.0 + - @backstage/plugin-entity-feedback-backend@0.2.6-next.0 + - @backstage/plugin-code-coverage-backend@0.2.23-next.0 + - @backstage/plugin-azure-sites-backend@0.1.19-next.0 + - @backstage/plugin-tech-insights-node@0.4.15-next.0 + - @backstage/plugin-devtools-backend@0.2.6-next.0 + - @backstage/plugin-linguist-backend@0.5.6-next.0 + - @backstage/plugin-playlist-backend@0.3.13-next.0 + - @backstage/plugin-techdocs-backend@1.9.2-next.0 + - @backstage/plugin-explore-backend@0.0.19-next.0 + - @backstage/plugin-jenkins-backend@0.3.3-next.0 + - @backstage/plugin-badges-backend@0.3.6-next.0 + - @backstage/plugin-search-backend@1.4.9-next.0 + - @backstage/plugin-kafka-backend@0.3.7-next.0 + - @backstage/plugin-nomad-backend@0.1.11-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/plugin-todo-backend@0.3.7-next.0 + - @backstage/plugin-adr-backend@0.4.6-next.0 + - @backstage/plugin-app-backend@0.3.57-next.0 + - example-app@0.2.91-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-catalog-backend@1.16.1-next.0 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.6-next.0 + - @backstage/plugin-events-backend@0.2.18-next.0 + - @backstage/plugin-events-node@0.2.18-next.0 + - @backstage/plugin-kubernetes-backend@0.14.1-next.0 + - @backstage/plugin-lighthouse-backend@0.4.1-next.0 + - @backstage/plugin-permission-backend@0.5.32-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + - @backstage/plugin-proxy-backend@0.4.7-next.0 + - @backstage/plugin-rollbar-backend@0.1.54-next.0 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.26-next.0 + - @backstage/plugin-search-backend-module-elasticsearch@1.3.12-next.0 + - @backstage/plugin-search-backend-module-pg@0.5.18-next.0 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + - @backstage/plugin-tech-insights-backend@0.5.23-next.0 + +## example-backend-next@0.0.19-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.19.3-next.0 + - @backstage/plugin-search-backend-module-techdocs@0.1.13-next.0 + - @backstage/plugin-search-backend-module-catalog@0.1.13-next.0 + - @backstage/plugin-search-backend-module-explore@0.1.13-next.0 + - @backstage/plugin-azure-devops-backend@0.5.1-next.0 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.6-next.0 + - @backstage/plugin-permission-backend-module-allow-all-policy@0.1.6-next.0 + - @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.2-next.0 + - @backstage/plugin-entity-feedback-backend@0.2.6-next.0 + - @backstage/plugin-devtools-backend@0.2.6-next.0 + - @backstage/plugin-linguist-backend@0.5.6-next.0 + - @backstage/plugin-playlist-backend@0.3.13-next.0 + - @backstage/plugin-techdocs-backend@1.9.2-next.0 + - @backstage/plugin-jenkins-backend@0.3.3-next.0 + - @backstage/plugin-badges-backend@0.3.6-next.0 + - @backstage/plugin-search-backend@1.4.9-next.0 + - @backstage/plugin-nomad-backend@0.1.11-next.0 + - @backstage/plugin-todo-backend@0.3.7-next.0 + - @backstage/plugin-adr-backend@0.4.6-next.0 + - @backstage/plugin-app-backend@0.3.57-next.0 + - @backstage/backend-defaults@0.2.9-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-catalog-backend@1.16.1-next.0 + - @backstage/plugin-catalog-backend-module-openapi@0.1.26-next.0 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.6-next.0 + - @backstage/plugin-kubernetes-backend@0.14.1-next.0 + - @backstage/plugin-lighthouse-backend@0.4.1-next.0 + - @backstage/plugin-permission-backend@0.5.32-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + - @backstage/plugin-proxy-backend@0.4.7-next.0 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-sonarqube-backend@0.2.11-next.0 + +## @backstage/backend-plugin-manager@0.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/cli-node@0.2.1 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-catalog-backend@1.16.1-next.0 + - @backstage/plugin-events-backend@0.2.18-next.0 + - @backstage/plugin-events-node@0.2.18-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + +## e2e-test@0.2.11-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/create-app@0.5.9-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + +## techdocs-cli-embedded-app@0.2.90-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/cli@0.25.1-next.0 + - @backstage/plugin-techdocs-react@1.1.15-next.0 + - @backstage/plugin-techdocs@1.9.3-next.0 + - @backstage/plugin-catalog@1.16.1-next.0 + - @backstage/app-defaults@1.4.7-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/test-utils@1.4.7-next.0 + - @backstage/theme@0.5.0 + +## @internal/plugin-todo-list@1.0.21-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## @internal/plugin-todo-list-backend@1.0.21-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## @backstage/plugin-visualizer@0.0.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/core-plugin-api@1.8.1 diff --git a/microsite/blog/2023-02-15-backend-system-alpha.mdx b/microsite/blog/2023-02-15-backend-system-alpha.mdx index 28ff7bdf6b..24004d00b6 100644 --- a/microsite/blog/2023-02-15-backend-system-alpha.mdx +++ b/microsite/blog/2023-02-15-backend-system-alpha.mdx @@ -7,6 +7,8 @@ authorImageURL: https://avatars.githubusercontent.com/u/4984472?v=4 ![backend system alpha header image](assets/2023-02-15/backend-system-alpha.gif) +> UPDATE: The backend system is now released! See [the v1.18 release notes](https://backstage.io/docs/releases/v1.18.0). + For the past year, the Backstage maintainer team has been spending time to give the [old Backstage backend system](https://backstage.io/docs/plugins/backend-plugin) a much needed revamp. Our goal was not to build something completely new from scratch, but rather to solidify the existing foundations that have grown organically. We wanted to make plugin installation a lot simpler, while maintaining and even improving the ways in which you can customize your backend setups. We’re happy to announce that the [v1.11](https://backstage.io/docs/releases/v1.11.0) release includes the public alpha of the [new Backstage backend system](https://backstage.io/docs/backend-system/)! The system has already been available to use for some time, as some of you have already found, but this alpha release marks the point where we are finally ready to encourage widespread adoption by plugin builders. We still don’t recommend that you use this new system in your production setups just yet, more on that later. diff --git a/microsite/data/plugins/announcements.yaml b/microsite/data/plugins/announcements.yaml index d03c1a1bd7..4d53f4157a 100644 --- a/microsite/data/plugins/announcements.yaml +++ b/microsite/data/plugins/announcements.yaml @@ -1,10 +1,10 @@ --- title: Announcements -author: K-Phoen -authorUrl: https://github.com/K-Phoen +author: procore-oss +authorUrl: https://github.com/procore-oss category: Discovery description: Write and share announcements within Backstage. -documentation: https://github.com/K-Phoen/backstage-plugin-announcements/ +documentation: https://github.com/procore-oss/backstage-plugin-announcements/ iconUrl: /img/plugin-announcements-logo.png -npmPackageName: '@k-phoen/backstage-plugin-announcements' +npmPackageName: '@procore-oss/backstage-plugin-announcements' addedDate: '2022-11-09' diff --git a/microsite/data/plugins/azure-storage.yaml b/microsite/data/plugins/azure-storage.yaml new file mode 100644 index 0000000000..655a6421ed --- /dev/null +++ b/microsite/data/plugins/azure-storage.yaml @@ -0,0 +1,14 @@ +--- +title: Azure Storage Explorer +author: Deepankumar +authorUrl: https://github.com/deepan10 +category: Infrastructure +description: Explore Azure Storage Blobs in Backstage. +documentation: https://github.com/deepan10/backstage-plugins/tree/main/plugins/azure-storage +iconUrl: /img/azure-storage-folder.png +npmPackageName: 'backstage-plugin-azure-storage' +tags: + - Azure + - Azure Storage + - Infrastructure +addedDate: '2023-12-01' diff --git a/microsite/data/plugins/dev-quotes.yaml b/microsite/data/plugins/dev-quotes.yaml new file mode 100644 index 0000000000..ad2ac91e4c --- /dev/null +++ b/microsite/data/plugins/dev-quotes.yaml @@ -0,0 +1,10 @@ +--- +title: Dev Quotes +author: Peter Macdonald +authorUrl: https://github.com/Parsifal-M +category: Humor +description: Displays a coding/progamming related quote designed as a footer for the Homepage, although to be honest it can be used anywhere you like! +documentation: https://github.com/Parsifal-M/backstage-dev-quotes?tab=readme-ov-file#dev-quotes-homepage +iconUrl: /img/dqicon.png +npmPackageName: '@parsifal-m/plugin-dev-quotes-homepage' +addedDate: '2023-12-13' diff --git a/microsite/data/plugins/nobl9.yaml b/microsite/data/plugins/nobl9.yaml new file mode 100644 index 0000000000..ee447fd626 --- /dev/null +++ b/microsite/data/plugins/nobl9.yaml @@ -0,0 +1,10 @@ +--- +title: Nobl9 +author: Nobl9 +authorUrl: https://nobl9.com +category: Reliability +description: View and drill down into the reliability of your services via Nobl9 SLOs and error budgets. +documentation: https://github.com/nobl9/nobl9-backstage-plugin/blob/main/README.MD +iconUrl: /img/nobl9.svg +npmPackageName: '@nobl9/nobl9-backstage-plugin' +addedDate: '2023-12-15' diff --git a/microsite/data/plugins/pager-duty.yaml b/microsite/data/plugins/pager-duty.yaml index a4e6e42d47..7d603a37c1 100644 --- a/microsite/data/plugins/pager-duty.yaml +++ b/microsite/data/plugins/pager-duty.yaml @@ -1,12 +1,12 @@ --- title: PagerDuty -author: Spotify -authorUrl: https://github.com/spotify +author: PagerDuty +authorUrl: https://github.com/pagerduty category: Monitoring -description: PagerDuty offers a simple way to identify any active incidents for an entity and the escalation policy. -documentation: https://github.com/backstage/backstage/tree/master/plugins/pagerduty +description: Bring the power of PagerDuty to Backstage, reduce cognitive load, improve service visibility and enforce incident management best practices. +documentation: https://pagerduty.github.io/backstage-plugin-docs/index.html iconUrl: https://avatars2.githubusercontent.com/u/766800?s=200&v=4 -npmPackageName: '@backstage/plugin-pagerduty' +npmPackageName: '@pagerduty/backstage-plugin' tags: - monitoring - errors diff --git a/microsite/data/plugins/scaffolder-frontend-devfile-field.yaml b/microsite/data/plugins/scaffolder-frontend-devfile-field.yaml new file mode 100644 index 0000000000..3215c63795 --- /dev/null +++ b/microsite/data/plugins/scaffolder-frontend-devfile-field.yaml @@ -0,0 +1,10 @@ +--- +title: Devfile Selector Field Extension +author: Red Hat +authorUrl: https://developers.redhat.com +category: Scaffolder +description: Devfile Selector Field Extension to use in your Software Templates. Devfile is an open standard defining containerized development environments. +documentation: https://github.com/redhat-developer/backstage-odo-devfile-plugin/blob/main/packages/devfile-field-extension/README.md +iconUrl: https://landscape.cncf.io/logos/devfile.svg +npmPackageName: '@redhat-developer/plugin-scaffolder-frontend-module-devfile-field' +addedDate: '2023-12-08' diff --git a/microsite/docusaurus.config.js b/microsite/docusaurus.config.js index 99f58d29cb..a12e7ba9a7 100644 --- a/microsite/docusaurus.config.js +++ b/microsite/docusaurus.config.js @@ -182,7 +182,7 @@ module.exports = { position: 'left', }, { - to: 'docs/releases/v1.20.0', + to: 'docs/releases/v1.21.0', label: 'Releases', position: 'left', }, diff --git a/microsite/sidebars.json b/microsite/sidebars.json index fd0f57d55b..d325487a7c 100644 --- a/microsite/sidebars.json +++ b/microsite/sidebars.json @@ -1,6 +1,7 @@ { "releases": { "Release Notes": [ + "releases/v1.21.0", "releases/v1.20.0", "releases/v1.19.0", "releases/v1.18.0", @@ -380,6 +381,40 @@ "items": ["backend-system/core-services/index"] } ], + "New Frontend System": [ + "frontend-system/index", + { + "type": "category", + "label": "Architecture", + "items": [ + "frontend-system/architecture/index", + "frontend-system/architecture/app", + "frontend-system/architecture/extensions", + "frontend-system/architecture/plugins", + "frontend-system/architecture/extension-overrides", + "frontend-system/architecture/utility-apis", + "frontend-system/architecture/routes", + "frontend-system/architecture/naming-patterns", + "frontend-system/architecture/references" + ] + }, + { + "type": "category", + "label": "Building Plugins", + "items": ["frontend-system/building-plugins/testing"] + }, + { + "type": "category", + "label": "Utility APIs", + "items": [ + "frontend-system/utility-apis/index", + "frontend-system/utility-apis/creating", + "frontend-system/utility-apis/consuming", + "frontend-system/utility-apis/configuring", + "frontend-system/utility-apis/migrating" + ] + } + ], "Designing for Backstage": [ "dls/design", "dls/component-design-guidelines", diff --git a/microsite/src/pages/community/index.tsx b/microsite/src/pages/community/index.tsx index 82dd69d1a0..9b10183ea4 100644 --- a/microsite/src/pages/community/index.tsx +++ b/microsite/src/pages/community/index.tsx @@ -110,6 +110,11 @@ const Community = () => { url: 'https://frontside.com/backstage/', logo: 'img/partner-logo-frontside.png', }, + { + name: 'RedHat', + url: 'https://www.redhat.com/', + logo: 'img/partner-logo-redhat.png', + }, { name: 'Roadie', url: 'https://roadie.io/', diff --git a/microsite/static/img/azure-storage-folder.png b/microsite/static/img/azure-storage-folder.png new file mode 100644 index 0000000000..479340c5b3 Binary files /dev/null and b/microsite/static/img/azure-storage-folder.png differ diff --git a/microsite/static/img/dqicon.png b/microsite/static/img/dqicon.png new file mode 100644 index 0000000000..3746841cd8 Binary files /dev/null and b/microsite/static/img/dqicon.png differ diff --git a/microsite/static/img/nobl9.svg b/microsite/static/img/nobl9.svg new file mode 100644 index 0000000000..a4065df602 --- /dev/null +++ b/microsite/static/img/nobl9.svg @@ -0,0 +1,4 @@ + + + + diff --git a/microsite/static/img/partner-logo-redhat.png b/microsite/static/img/partner-logo-redhat.png new file mode 100644 index 0000000000..ad9bc9ceba Binary files /dev/null and b/microsite/static/img/partner-logo-redhat.png differ diff --git a/package.json b/package.json index 15c6213855..8329362a87 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "@material-ui/pickers@^3.3.10": "patch:@material-ui/pickers@npm%3A3.3.11#./.yarn/patches/@material-ui-pickers-npm-3.3.11-1c8f68ea20.patch", "@material-ui/pickers@^3.2.10": "patch:@material-ui/pickers@npm%3A3.3.11#./.yarn/patches/@material-ui-pickers-npm-3.3.11-1c8f68ea20.patch" }, - "version": "1.21.0-next.4", + "version": "1.22.0-next.0", "dependencies": { "@backstage/errors": "workspace:^", "@manypkg/get-packages": "^1.1.3", diff --git a/packages/app-defaults/CHANGELOG.md b/packages/app-defaults/CHANGELOG.md index 8c51ca137a..9ccb0b03a6 100644 --- a/packages/app-defaults/CHANGELOG.md +++ b/packages/app-defaults/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/app-defaults +## 1.4.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + +## 1.4.6 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/core-app-api@1.11.2 + - @backstage/plugin-permission-react@0.4.18 + ## 1.4.6-next.3 ### Patch Changes diff --git a/packages/app-defaults/package.json b/packages/app-defaults/package.json index 1eb863a58f..8823365bb6 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.4.6-next.3", + "version": "1.4.7-next.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/packages/app-next-example-plugin/CHANGELOG.md b/packages/app-next-example-plugin/CHANGELOG.md index b0f193c479..045d51e1b3 100644 --- a/packages/app-next-example-plugin/CHANGELOG.md +++ b/packages/app-next-example-plugin/CHANGELOG.md @@ -1,5 +1,21 @@ # app-next-example-plugin +## 0.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + +## 0.0.4 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + ## 0.0.4-next.3 ### Patch Changes diff --git a/packages/app-next-example-plugin/package.json b/packages/app-next-example-plugin/package.json index b6a71087d7..06852f0568 100644 --- a/packages/app-next-example-plugin/package.json +++ b/packages/app-next-example-plugin/package.json @@ -1,7 +1,7 @@ { "name": "app-next-example-plugin", "description": "Backstage internal example plugin", - "version": "0.0.4-next.3", + "version": "0.0.5-next.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/packages/app-next/CHANGELOG.md b/packages/app-next/CHANGELOG.md index 6f9a723d98..d888921411 100644 --- a/packages/app-next/CHANGELOG.md +++ b/packages/app-next/CHANGELOG.md @@ -1,5 +1,158 @@ # example-app-next +## 0.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-react@1.7.1-next.0 + - @backstage/core-components@0.13.10-next.0 + - @backstage/cli@0.25.1-next.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.4-next.0 + - @backstage/plugin-catalog-unprocessed-entities@0.1.7-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-microsoft-calendar@0.1.11-next.0 + - @backstage/plugin-newrelic-dashboard@0.3.4-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/plugin-entity-feedback@0.2.12-next.0 + - @backstage/plugin-apache-airflow@0.2.19-next.0 + - @backstage/plugin-github-actions@0.6.10-next.0 + - @backstage/plugin-octopus-deploy@0.2.11-next.0 + - @backstage/plugin-techdocs-react@1.1.15-next.0 + - @backstage/plugin-catalog-graph@0.3.3-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-code-coverage@0.2.22-next.0 + - @backstage/plugin-cost-insights@0.12.18-next.0 + - @backstage/plugin-tech-insights@0.3.21-next.0 + - @backstage/plugin-user-settings@0.7.15-next.0 + - @backstage/plugin-azure-devops@0.3.11-next.0 + - @backstage/plugin-gcp-projects@0.3.45-next.0 + - @backstage/plugin-azure-sites@0.1.18-next.0 + - @backstage/plugin-cloudbuild@0.3.29-next.0 + - @backstage/plugin-kubernetes@0.11.4-next.0 + - @backstage/plugin-lighthouse@0.4.14-next.0 + - @backstage/plugin-scaffolder@1.17.1-next.0 + - @backstage/plugin-stackstorm@0.1.10-next.0 + - @backstage/plugin-tech-radar@0.6.12-next.0 + - @backstage/plugin-dynatrace@8.0.3-next.0 + - @backstage/plugin-gcalendar@0.3.22-next.0 + - @backstage/plugin-pagerduty@0.7.1-next.0 + - @backstage/plugin-shortcuts@0.3.18-next.0 + - @backstage/plugin-airbrake@0.3.29-next.0 + - @backstage/plugin-api-docs@0.10.3-next.0 + - @backstage/plugin-devtools@0.1.8-next.0 + - @backstage/plugin-graphiql@0.3.2-next.0 + - @backstage/plugin-linguist@0.1.14-next.0 + - @backstage/plugin-newrelic@0.3.44-next.0 + - @backstage/plugin-playlist@0.2.3-next.0 + - @backstage/plugin-puppetdb@0.1.12-next.0 + - @backstage/plugin-techdocs@1.9.3-next.0 + - @backstage/plugin-catalog@1.16.1-next.0 + - @backstage/plugin-explore@0.4.15-next.0 + - @backstage/plugin-jenkins@0.9.4-next.0 + - @backstage/plugin-rollbar@0.4.29-next.0 + - @backstage/plugin-badges@0.2.53-next.0 + - @backstage/plugin-search@1.4.5-next.0 + - @backstage/plugin-sentry@0.5.14-next.0 + - @backstage/plugin-kafka@0.3.29-next.0 + - @backstage/plugin-gocd@0.1.35-next.0 + - @backstage/plugin-home@0.6.1-next.0 + - @backstage/plugin-todo@0.2.33-next.0 + - @backstage/plugin-adr@0.6.12-next.0 + - @backstage/plugin-org@0.6.19-next.0 + - @backstage/app-defaults@1.4.7-next.0 + - app-next-example-plugin@0.0.5-next.0 + - @backstage/frontend-app-api@0.4.1-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-catalog-import@0.10.5-next.0 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/plugin-visualizer@0.0.2-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-app-api@1.11.2 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.9 + +## 0.0.4 + +### Patch Changes + +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/frontend-app-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/plugin-api-docs@0.10.2 + - @backstage/core-components@0.13.9 + - @backstage/cli@0.25.0 + - @backstage/theme@0.5.0 + - @backstage/plugin-scaffolder@1.17.0 + - @backstage/plugin-home@0.6.0 + - @backstage/plugin-catalog@1.16.0 + - @backstage/plugin-scaffolder-react@1.7.0 + - @backstage/plugin-kubernetes@0.11.3 + - @backstage/plugin-org@0.6.18 + - @backstage/plugin-github-actions@0.6.9 + - @backstage/plugin-azure-devops@0.3.10 + - @backstage/core-app-api@1.11.2 + - @backstage/plugin-lighthouse@0.4.13 + - @backstage/plugin-explore@0.4.14 + - @backstage/plugin-catalog-import@0.10.4 + - @backstage/plugin-user-settings@0.7.14 + - @backstage/plugin-tech-radar@0.6.11 + - @backstage/plugin-graphiql@0.3.1 + - @backstage/plugin-techdocs@1.9.2 + - @backstage/plugin-search@1.4.4 + - @backstage/plugin-search-react@1.7.4 + - @backstage/plugin-adr@0.6.11 + - @backstage/plugin-gcp-projects@0.3.44 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.3 + - @backstage/plugin-pagerduty@0.7.0 + - @backstage/app-defaults@1.4.6 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-airbrake@0.3.28 + - @backstage/plugin-apache-airflow@0.2.18 + - @backstage/plugin-azure-sites@0.1.17 + - @backstage/plugin-badges@0.2.52 + - @backstage/plugin-catalog-graph@0.3.2 + - @backstage/plugin-catalog-unprocessed-entities@0.1.6 + - @backstage/plugin-cloudbuild@0.3.28 + - @backstage/plugin-code-coverage@0.2.21 + - @backstage/plugin-cost-insights@0.12.17 + - @backstage/plugin-devtools@0.1.7 + - @backstage/plugin-dynatrace@8.0.2 + - @backstage/plugin-entity-feedback@0.2.11 + - @backstage/plugin-gcalendar@0.3.21 + - @backstage/plugin-gocd@0.1.34 + - @backstage/plugin-jenkins@0.9.3 + - @backstage/plugin-kafka@0.3.28 + - @backstage/plugin-linguist@0.1.13 + - @backstage/plugin-microsoft-calendar@0.1.10 + - @backstage/plugin-newrelic@0.3.43 + - @backstage/plugin-newrelic-dashboard@0.3.3 + - @backstage/plugin-octopus-deploy@0.2.10 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/plugin-playlist@0.2.2 + - @backstage/plugin-puppetdb@0.1.11 + - @backstage/plugin-rollbar@0.4.28 + - @backstage/plugin-sentry@0.5.13 + - @backstage/plugin-shortcuts@0.3.17 + - @backstage/plugin-stackstorm@0.1.9 + - @backstage/plugin-tech-insights@0.3.20 + - @backstage/plugin-techdocs-react@1.1.14 + - @backstage/plugin-todo@0.2.32 + - @backstage/plugin-visualizer@0.0.1 + - app-next-example-plugin@0.0.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.9 + ## 0.0.4-next.4 ### Patch Changes diff --git a/packages/app-next/package.json b/packages/app-next/package.json index 4bbc4fe5be..dcf4be7061 100644 --- a/packages/app-next/package.json +++ b/packages/app-next/package.json @@ -1,6 +1,6 @@ { "name": "example-app-next", - "version": "0.0.4-next.4", + "version": "0.0.5-next.0", "private": true, "backstage": { "role": "frontend" @@ -10,7 +10,6 @@ "@backstage/app-defaults": "workspace:^", "@backstage/catalog-model": "workspace:^", "@backstage/cli": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/core-app-api": "workspace:^", "@backstage/core-compat-api": "workspace:^", "@backstage/core-components": "workspace:^", @@ -75,6 +74,7 @@ "@backstage/plugin-techdocs-react": "workspace:^", "@backstage/plugin-todo": "workspace:^", "@backstage/plugin-user-settings": "workspace:^", + "@backstage/plugin-visualizer": "workspace:^", "@backstage/theme": "workspace:^", "@circleci/backstage-plugin": "^0.1.1", "@material-ui/core": "^4.12.2", diff --git a/packages/app-next/src/App.tsx b/packages/app-next/src/App.tsx index 0eca65fdda..112532cee2 100644 --- a/packages/app-next/src/App.tsx +++ b/packages/app-next/src/App.tsx @@ -32,6 +32,7 @@ import { createExtensionOverrides, } from '@backstage/frontend-plugin-api'; import techdocsPlugin from '@backstage/plugin-techdocs/alpha'; +import appVisualizerPlugin from '@backstage/plugin-visualizer'; import { homePage } from './HomePage'; import { convertLegacyApp } from '@backstage/core-compat-api'; import { FlatRoutes } from '@backstage/core-app-api'; @@ -123,6 +124,7 @@ const app = createApp({ techdocsPlugin, userSettingsPlugin, homePlugin, + appVisualizerPlugin, ...collectedLegacyPlugins, createExtensionOverrides({ extensions: [ diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md index 600a529b6b..46d3b5d8ce 100644 --- a/packages/app/CHANGELOG.md +++ b/packages/app/CHANGELOG.md @@ -1,5 +1,157 @@ # example-app +## 0.2.91-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-react@1.7.1-next.0 + - @backstage/core-components@0.13.10-next.0 + - @backstage/cli@0.25.1-next.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.4-next.0 + - @backstage/plugin-catalog-unprocessed-entities@0.1.7-next.0 + - @backstage/plugin-kubernetes-cluster@0.0.5-next.0 + - @backstage/plugin-microsoft-calendar@0.1.11-next.0 + - @backstage/plugin-newrelic-dashboard@0.3.4-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/plugin-entity-feedback@0.2.12-next.0 + - @backstage/plugin-apache-airflow@0.2.19-next.0 + - @backstage/plugin-github-actions@0.6.10-next.0 + - @backstage/plugin-octopus-deploy@0.2.11-next.0 + - @backstage/plugin-stack-overflow@0.1.24-next.0 + - @backstage/plugin-techdocs-react@1.1.15-next.0 + - @backstage/plugin-catalog-graph@0.3.3-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-code-coverage@0.2.22-next.0 + - @backstage/plugin-cost-insights@0.12.18-next.0 + - @backstage/plugin-tech-insights@0.3.21-next.0 + - @backstage/plugin-user-settings@0.7.15-next.0 + - @backstage/plugin-azure-devops@0.3.11-next.0 + - @backstage/plugin-gcp-projects@0.3.45-next.0 + - @backstage/plugin-azure-sites@0.1.18-next.0 + - @backstage/plugin-cloudbuild@0.3.29-next.0 + - @backstage/plugin-kubernetes@0.11.4-next.0 + - @backstage/plugin-lighthouse@0.4.14-next.0 + - @backstage/plugin-scaffolder@1.17.1-next.0 + - @backstage/plugin-stackstorm@0.1.10-next.0 + - @backstage/plugin-tech-radar@0.6.12-next.0 + - @backstage/plugin-dynatrace@8.0.3-next.0 + - @backstage/plugin-gcalendar@0.3.22-next.0 + - @backstage/plugin-pagerduty@0.7.1-next.0 + - @backstage/plugin-shortcuts@0.3.18-next.0 + - @backstage/plugin-airbrake@0.3.29-next.0 + - @backstage/plugin-api-docs@0.10.3-next.0 + - @backstage/plugin-devtools@0.1.8-next.0 + - @backstage/plugin-graphiql@0.3.2-next.0 + - @backstage/plugin-linguist@0.1.14-next.0 + - @backstage/plugin-newrelic@0.3.44-next.0 + - @backstage/plugin-playlist@0.2.3-next.0 + - @backstage/plugin-puppetdb@0.1.12-next.0 + - @backstage/plugin-techdocs@1.9.3-next.0 + - @backstage/plugin-catalog@1.16.1-next.0 + - @backstage/plugin-explore@0.4.15-next.0 + - @backstage/plugin-jenkins@0.9.4-next.0 + - @backstage/plugin-rollbar@0.4.29-next.0 + - @backstage/plugin-badges@0.2.53-next.0 + - @backstage/plugin-search@1.4.5-next.0 + - @backstage/plugin-sentry@0.5.14-next.0 + - @backstage/plugin-kafka@0.3.29-next.0 + - @backstage/plugin-nomad@0.1.10-next.0 + - @backstage/plugin-gocd@0.1.35-next.0 + - @backstage/plugin-home@0.6.1-next.0 + - @backstage/plugin-todo@0.2.33-next.0 + - @backstage/plugin-adr@0.6.12-next.0 + - @backstage/plugin-org@0.6.19-next.0 + - @backstage/app-defaults@1.4.7-next.0 + - @backstage/frontend-app-api@0.4.1-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-catalog-import@0.10.5-next.0 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.9 + +## 0.2.90 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-app-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/plugin-api-docs@0.10.2 + - @backstage/core-components@0.13.9 + - @backstage/cli@0.25.0 + - @backstage/theme@0.5.0 + - @backstage/plugin-scaffolder@1.17.0 + - @backstage/plugin-home@0.6.0 + - @backstage/plugin-catalog@1.16.0 + - @backstage/plugin-scaffolder-react@1.7.0 + - @backstage/plugin-kubernetes@0.11.3 + - @backstage/plugin-org@0.6.18 + - @backstage/plugin-github-actions@0.6.9 + - @backstage/plugin-azure-devops@0.3.10 + - @backstage/core-app-api@1.11.2 + - @backstage/plugin-lighthouse@0.4.13 + - @backstage/plugin-explore@0.4.14 + - @backstage/plugin-catalog-import@0.10.4 + - @backstage/plugin-user-settings@0.7.14 + - @backstage/plugin-tech-radar@0.6.11 + - @backstage/plugin-graphiql@0.3.1 + - @backstage/plugin-techdocs@1.9.2 + - @backstage/plugin-search@1.4.4 + - @backstage/plugin-search-react@1.7.4 + - @backstage/plugin-stack-overflow@0.1.23 + - @backstage/plugin-adr@0.6.11 + - @backstage/plugin-gcp-projects@0.3.44 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.3 + - @backstage/plugin-pagerduty@0.7.0 + - @backstage/app-defaults@1.4.6 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-airbrake@0.3.28 + - @backstage/plugin-apache-airflow@0.2.18 + - @backstage/plugin-azure-sites@0.1.17 + - @backstage/plugin-badges@0.2.52 + - @backstage/plugin-catalog-graph@0.3.2 + - @backstage/plugin-catalog-unprocessed-entities@0.1.6 + - @backstage/plugin-cloudbuild@0.3.28 + - @backstage/plugin-code-coverage@0.2.21 + - @backstage/plugin-cost-insights@0.12.17 + - @backstage/plugin-devtools@0.1.7 + - @backstage/plugin-dynatrace@8.0.2 + - @backstage/plugin-entity-feedback@0.2.11 + - @backstage/plugin-gcalendar@0.3.21 + - @backstage/plugin-gocd@0.1.34 + - @backstage/plugin-jenkins@0.9.3 + - @backstage/plugin-kafka@0.3.28 + - @backstage/plugin-kubernetes-cluster@0.0.4 + - @backstage/plugin-linguist@0.1.13 + - @backstage/plugin-microsoft-calendar@0.1.10 + - @backstage/plugin-newrelic@0.3.43 + - @backstage/plugin-newrelic-dashboard@0.3.3 + - @backstage/plugin-nomad@0.1.9 + - @backstage/plugin-octopus-deploy@0.2.10 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/plugin-playlist@0.2.2 + - @backstage/plugin-puppetdb@0.1.11 + - @backstage/plugin-rollbar@0.4.28 + - @backstage/plugin-sentry@0.5.13 + - @backstage/plugin-shortcuts@0.3.17 + - @backstage/plugin-stackstorm@0.1.9 + - @backstage/plugin-tech-insights@0.3.20 + - @backstage/plugin-techdocs-react@1.1.14 + - @backstage/plugin-todo@0.2.32 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.9 + ## 0.2.90-next.4 ### Patch Changes diff --git a/packages/app/package.json b/packages/app/package.json index 885359b45a..c6ceafcf04 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "example-app", - "version": "0.2.90-next.4", + "version": "0.2.91-next.0", "private": true, "backstage": { "role": "frontend" diff --git a/packages/backend-app-api/CHANGELOG.md b/packages/backend-app-api/CHANGELOG.md index 9340f22516..e29ca5f9f9 100644 --- a/packages/backend-app-api/CHANGELOG.md +++ b/packages/backend-app-api/CHANGELOG.md @@ -1,5 +1,41 @@ # @backstage/backend-app-api +## 0.5.10-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/cli-node@0.2.1 + - @backstage/config@1.1.1 + - @backstage/config-loader@1.6.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## 0.5.9 + +### Patch Changes + +- 1da5f43: Ensure redaction of secrets that have accidental extra whitespace around them +- 9f8f266: Add redacting for secrets in stack traces of logs +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/config-loader@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/cli-node@0.2.1 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.5.9-next.3 ### Patch Changes diff --git a/packages/backend-app-api/package.json b/packages/backend-app-api/package.json index f789f478d2..d2be1630a2 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.5.9-next.3", + "version": "0.5.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-common/CHANGELOG.md b/packages/backend-common/CHANGELOG.md index 9de16babe3..96f9e8561a 100644 --- a/packages/backend-common/CHANGELOG.md +++ b/packages/backend-common/CHANGELOG.md @@ -1,5 +1,55 @@ # @backstage/backend-common +## 0.20.1-next.0 + +### Patch Changes + +- b6b15b2: Use sha256 instead of md5 for hash key calculation in caches + + This can have a side effect of invalidating caches (when cache key was >250 characters) + This improves compliance with FIPS nodejs + +- Updated dependencies + - @backstage/backend-app-api@0.5.10-next.0 + - @backstage/backend-dev-utils@0.1.2 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/config-loader@1.6.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/integration-aws-node@0.1.8 + - @backstage/types@1.1.1 + +## 0.20.0 + +### Minor Changes + +- 870db76: Implemented `readTree` for Gitea provider to support TechDocs functionality + +### Patch Changes + +- 7f04128: Allow a default cache TTL to be set through the app config +- 1ad8906: Use `Readable.from` to fix some of the stream issues +- d86a007: Fixed the AwsS3UrlReader host regex and host to allow the S3 reading for CN AWS domain +- bc67498: Updated dependency `archiver` to `^6.0.0`. + Updated dependency `@types/archiver` to `^6.0.0`. +- 706fc3a: Updated dependency `@kubernetes/client-node` to `0.20.0`. +- 2666675: Updated dependency `@google-cloud/storage` to `^7.0.0`. +- d15d483: Add command `--runAsDefaultUser` for `@techdocs/cli generate` to bypass running the docker builds as host user for macOS and Linux. +- d1e00aa: Expose an `onAuth` handler for `git` actions to provide custom credentials +- Updated dependencies + - @backstage/config-loader@1.6.0 + - @backstage/backend-app-api@0.5.9 + - @backstage/integration@1.8.0 + - @backstage/backend-dev-utils@0.1.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration-aws-node@0.1.8 + - @backstage/types@1.1.1 + ## 0.20.0-next.3 ### Patch Changes diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json index e49ed65f21..10b52395dd 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.20.0-next.3", + "version": "0.20.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-common/src/cache/CacheClient.ts b/packages/backend-common/src/cache/CacheClient.ts index 24ee7ac455..aba62558d4 100644 --- a/packages/backend-common/src/cache/CacheClient.ts +++ b/packages/backend-common/src/cache/CacheClient.ts @@ -88,6 +88,6 @@ export class DefaultCacheClient implements CacheService { return wellFormedKey; } - return createHash('md5').update(candidateKey).digest('base64'); + return createHash('sha256').update(candidateKey).digest('base64'); } } diff --git a/packages/backend-defaults/CHANGELOG.md b/packages/backend-defaults/CHANGELOG.md index 97e5e26f6c..07d5d24d86 100644 --- a/packages/backend-defaults/CHANGELOG.md +++ b/packages/backend-defaults/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/backend-defaults +## 0.2.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-app-api@0.5.10-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + +## 0.2.8 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-app-api@0.5.9 + - @backstage/backend-plugin-api@0.6.8 + ## 0.2.8-next.3 ### Patch Changes diff --git a/packages/backend-defaults/package.json b/packages/backend-defaults/package.json index 12d0d49c4e..ed326ead13 100644 --- a/packages/backend-defaults/package.json +++ b/packages/backend-defaults/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-defaults", "description": "Backend defaults used by Backstage backend apps", - "version": "0.2.8-next.3", + "version": "0.2.9-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-next/CHANGELOG.md b/packages/backend-next/CHANGELOG.md index d0b6070b9f..bb0265e2c5 100644 --- a/packages/backend-next/CHANGELOG.md +++ b/packages/backend-next/CHANGELOG.md @@ -1,5 +1,87 @@ # example-backend-next +## 0.0.19-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.19.3-next.0 + - @backstage/plugin-search-backend-module-techdocs@0.1.13-next.0 + - @backstage/plugin-search-backend-module-catalog@0.1.13-next.0 + - @backstage/plugin-search-backend-module-explore@0.1.13-next.0 + - @backstage/plugin-azure-devops-backend@0.5.1-next.0 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.6-next.0 + - @backstage/plugin-permission-backend-module-allow-all-policy@0.1.6-next.0 + - @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.2-next.0 + - @backstage/plugin-entity-feedback-backend@0.2.6-next.0 + - @backstage/plugin-devtools-backend@0.2.6-next.0 + - @backstage/plugin-linguist-backend@0.5.6-next.0 + - @backstage/plugin-playlist-backend@0.3.13-next.0 + - @backstage/plugin-techdocs-backend@1.9.2-next.0 + - @backstage/plugin-jenkins-backend@0.3.3-next.0 + - @backstage/plugin-badges-backend@0.3.6-next.0 + - @backstage/plugin-search-backend@1.4.9-next.0 + - @backstage/plugin-nomad-backend@0.1.11-next.0 + - @backstage/plugin-todo-backend@0.3.7-next.0 + - @backstage/plugin-adr-backend@0.4.6-next.0 + - @backstage/plugin-app-backend@0.3.57-next.0 + - @backstage/backend-defaults@0.2.9-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-catalog-backend@1.16.1-next.0 + - @backstage/plugin-catalog-backend-module-openapi@0.1.26-next.0 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.6-next.0 + - @backstage/plugin-kubernetes-backend@0.14.1-next.0 + - @backstage/plugin-lighthouse-backend@0.4.1-next.0 + - @backstage/plugin-permission-backend@0.5.32-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + - @backstage/plugin-proxy-backend@0.4.7-next.0 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-sonarqube-backend@0.2.11-next.0 + +## 0.0.18 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.1 + - @backstage/plugin-techdocs-backend@1.9.1 + - @backstage/plugin-catalog-backend@1.16.0 + - @backstage/plugin-azure-devops-backend@0.5.0 + - @backstage/plugin-scaffolder-backend@1.19.2 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-lighthouse-backend@0.4.0 + - @backstage/plugin-kubernetes-backend@0.14.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-backend@0.5.31 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-playlist-backend@0.3.12 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/plugin-search-backend@1.4.8 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.5 + - @backstage/plugin-permission-backend-module-allow-all-policy@0.1.5 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.5 + - @backstage/plugin-search-backend-module-techdocs@0.1.12 + - @backstage/plugin-search-backend-module-catalog@0.1.12 + - @backstage/plugin-search-backend-module-explore@0.1.12 + - @backstage/backend-defaults@0.2.8 + - @backstage/plugin-adr-backend@0.4.5 + - @backstage/plugin-app-backend@0.3.56 + - @backstage/plugin-badges-backend@0.3.5 + - @backstage/plugin-catalog-backend-module-openapi@0.1.25 + - @backstage/plugin-devtools-backend@0.2.5 + - @backstage/plugin-entity-feedback-backend@0.2.5 + - @backstage/plugin-jenkins-backend@0.3.2 + - @backstage/plugin-linguist-backend@0.5.5 + - @backstage/plugin-nomad-backend@0.1.10 + - @backstage/plugin-proxy-backend@0.4.6 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/plugin-sonarqube-backend@0.2.10 + - @backstage/plugin-todo-backend@0.3.6 + - @backstage/backend-plugin-api@0.6.8 + ## 0.0.18-next.3 ### Patch Changes diff --git a/packages/backend-next/package.json b/packages/backend-next/package.json index 1032715738..855ebac37a 100644 --- a/packages/backend-next/package.json +++ b/packages/backend-next/package.json @@ -1,6 +1,6 @@ { "name": "example-backend-next", - "version": "0.0.18-next.3", + "version": "0.0.19-next.0", "main": "dist/index.cjs.js", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/backend-openapi-utils/CHANGELOG.md b/packages/backend-openapi-utils/CHANGELOG.md index ccabada1df..10b599e188 100644 --- a/packages/backend-openapi-utils/CHANGELOG.md +++ b/packages/backend-openapi-utils/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/backend-openapi-utils +## 0.1.2-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/errors@1.2.3 + +## 0.1.1 + +### Patch Changes + +- aaa6fb3: Minor updates for TypeScript 5.2.2+ compatibility +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.1-next.3 ### Patch Changes diff --git a/packages/backend-openapi-utils/package.json b/packages/backend-openapi-utils/package.json index 3c05ab12c1..a0f1554e0d 100644 --- a/packages/backend-openapi-utils/package.json +++ b/packages/backend-openapi-utils/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-openapi-utils", "description": "OpenAPI typescript support.", - "version": "0.1.1-next.3", + "version": "0.1.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -38,7 +38,6 @@ ], "dependencies": { "@backstage/backend-plugin-api": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/errors": "workspace:^", "@types/express": "^4.17.6", "@types/express-serve-static-core": "^4.17.5", diff --git a/packages/backend-plugin-api/CHANGELOG.md b/packages/backend-plugin-api/CHANGELOG.md index 50dfab9ad8..21888f4387 100644 --- a/packages/backend-plugin-api/CHANGELOG.md +++ b/packages/backend-plugin-api/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/backend-plugin-api +## 0.6.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + +## 0.6.8 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + ## 0.6.8-next.3 ### Patch Changes diff --git a/packages/backend-plugin-api/package.json b/packages/backend-plugin-api/package.json index 2f329e21e2..77df0993b9 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.6.8-next.3", + "version": "0.6.9-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-plugin-manager/CHANGELOG.md b/packages/backend-plugin-manager/CHANGELOG.md index ff6814bbfb..6d53b7c53c 100644 --- a/packages/backend-plugin-manager/CHANGELOG.md +++ b/packages/backend-plugin-manager/CHANGELOG.md @@ -1,5 +1,51 @@ # @backstage/backend-plugin-manager +## 0.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/cli-node@0.2.1 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-catalog-backend@1.16.1-next.0 + - @backstage/plugin-events-backend@0.2.18-next.0 + - @backstage/plugin-events-node@0.2.18-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + +## 0.0.4 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-backend@1.16.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/cli-node@0.2.1 + - @backstage/plugin-events-backend@0.2.17 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.17 + - @backstage/plugin-search-common@1.2.9 + ## 0.0.4-next.3 ### Patch Changes diff --git a/packages/backend-plugin-manager/api-report.md b/packages/backend-plugin-manager/api-report.md index b4221007ae..dc5973a3ab 100644 --- a/packages/backend-plugin-manager/api-report.md +++ b/packages/backend-plugin-manager/api-report.md @@ -65,6 +65,44 @@ export interface BaseDynamicPlugin { // @public (undocumented) export type DynamicPlugin = FrontendDynamicPlugin | BackendDynamicPlugin; +// @public (undocumented) +export class DynamicPluginManager implements DynamicPluginProvider { + // (undocumented) + addBackendPlugin(plugin: BackendDynamicPlugin): void; + // (undocumented) + get availablePackages(): ScannedPluginPackage[]; + // (undocumented) + backendPlugins(): BackendDynamicPlugin[]; + // (undocumented) + static create( + options: DynamicPluginManagerOptions, + ): Promise; + // (undocumented) + frontendPlugins(): FrontendDynamicPlugin[]; + // (undocumented) + plugins(): DynamicPlugin[]; +} + +// @public (undocumented) +export interface DynamicPluginManagerOptions { + // (undocumented) + config: Config; + // (undocumented) + logger: LoggerService; + // (undocumented) + moduleLoader?: ModuleLoader; + // (undocumented) + preferAlpha?: boolean; +} + +// @public (undocumented) +export interface DynamicPluginProvider + extends FrontendPluginProvider, + BackendPluginProvider { + // (undocumented) + plugins(): DynamicPlugin[]; +} + // @public (undocumented) export interface DynamicPluginsFactoryOptions { // (undocumented) @@ -80,11 +118,11 @@ export const dynamicPluginsFeatureDiscoveryServiceFactory: () => ServiceFactory< // @public (undocumented) export const dynamicPluginsServiceFactory: ( options?: DynamicPluginsFactoryOptions | undefined, -) => ServiceFactory; +) => ServiceFactory; // @public (undocumented) export const dynamicPluginsServiceRef: ServiceRef< - BackendPluginProvider, + DynamicPluginProvider, 'root' >; @@ -94,6 +132,12 @@ export interface FrontendDynamicPlugin extends BaseDynamicPlugin { platform: 'web'; } +// @public (undocumented) +export interface FrontendPluginProvider { + // (undocumented) + frontendPlugins(): FrontendDynamicPlugin[]; +} + // @public (undocumented) export function isBackendDynamicPluginInstaller( obj: any, @@ -161,25 +205,6 @@ export interface NewBackendPluginInstaller { kind: 'new'; } -// @public (undocumented) -export class PluginManager implements BackendPluginProvider { - // (undocumented) - addBackendPlugin(plugin: BackendDynamicPlugin): void; - // (undocumented) - get availablePackages(): ScannedPluginPackage[]; - // (undocumented) - backendPlugins(): BackendDynamicPlugin[]; - // (undocumented) - static fromConfig( - config: Config, - logger: LoggerService, - preferAlpha?: boolean, - moduleLoader?: ModuleLoader, - ): Promise; - // (undocumented) - readonly plugins: DynamicPlugin[]; -} - // @public (undocumented) export type ScannedPluginManifest = BackstagePackageJson & Required> & diff --git a/packages/backend-plugin-manager/package.json b/packages/backend-plugin-manager/package.json index 610bdd203d..327ef0b2cb 100644 --- a/packages/backend-plugin-manager/package.json +++ b/packages/backend-plugin-manager/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-plugin-manager", "description": "Backstage plugin management backend", - "version": "0.0.4-next.3", + "version": "0.0.5-next.0", "private": true, "main": "src/index.ts", "types": "src/index.ts", diff --git a/packages/backend-plugin-manager/src/manager/index.ts b/packages/backend-plugin-manager/src/manager/index.ts index a9cd163617..dd6aaacfe9 100644 --- a/packages/backend-plugin-manager/src/manager/index.ts +++ b/packages/backend-plugin-manager/src/manager/index.ts @@ -25,14 +25,19 @@ export type { NewBackendPluginInstaller, LegacyBackendPluginInstaller, LegacyPluginEnvironment, + DynamicPluginProvider, + FrontendPluginProvider, BackendPluginProvider, } from './types'; export { - PluginManager, + DynamicPluginManager, dynamicPluginsFeatureDiscoveryServiceFactory, dynamicPluginsServiceFactory, dynamicPluginsServiceRef, } from './plugin-manager'; -export type { DynamicPluginsFactoryOptions } from './plugin-manager'; +export type { + DynamicPluginManagerOptions, + DynamicPluginsFactoryOptions, +} from './plugin-manager'; diff --git a/packages/backend-plugin-manager/src/manager/plugin-manager.test.ts b/packages/backend-plugin-manager/src/manager/plugin-manager.test.ts index 5b1e1caf4d..405fd629f2 100644 --- a/packages/backend-plugin-manager/src/manager/plugin-manager.test.ts +++ b/packages/backend-plugin-manager/src/manager/plugin-manager.test.ts @@ -14,7 +14,10 @@ * limitations under the License. */ -import { PluginManager, dynamicPluginsServiceFactory } from './plugin-manager'; +import { + DynamicPluginManager, + dynamicPluginsServiceFactory, +} from './plugin-manager'; import { BackendFeature, coreServices, @@ -462,12 +465,16 @@ describe('backend-plugin-manager', () => { mockDir.setContent(mockedFiles); const logger = new MockedLogger(); - const pluginManager = new (PluginManager as any)(logger, [plugin], { + const pluginManager = new (DynamicPluginManager as any)( logger, - async bootstrap(_: string, __: string[]): Promise {}, - load: async (packagePath: string) => - await require(/* webpackIgnore: true */ packagePath), - }); + [plugin], + { + logger, + async bootstrap(_: string, __: string[]): Promise {}, + load: async (packagePath: string) => + await require(/* webpackIgnore: true */ packagePath), + }, + ); const loadedPlugins: DynamicPlugin[] = await pluginManager.loadPlugins(); @@ -483,7 +490,10 @@ describe('backend-plugin-manager', () => { describe('backendPlugins', () => { it('should return only backend plugins and modules', async () => { const logger = new MockedLogger(); - const pluginManager = new (PluginManager as any)(logger, '', []); + const pluginManager = new (DynamicPluginManager as any)( + logger, + [], + ) as DynamicPluginManager; const plugins: BaseDynamicPlugin[] = [ { name: 'a-frontend-plugin', @@ -504,7 +514,7 @@ describe('backend-plugin-manager', () => { version: '0.0.0', }, ]; - pluginManager.plugins = plugins; + (pluginManager as any)._plugins = plugins; expect(pluginManager.backendPlugins()).toEqual([ { name: 'a-backend-plugin', @@ -522,6 +532,57 @@ describe('backend-plugin-manager', () => { }); }); + describe('frontendPlugins', () => { + it('should return only frontend plugins', async () => { + const logger = new MockedLogger(); + const pluginManager = new (DynamicPluginManager as any)( + logger, + [], + ) as DynamicPluginManager; + const plugins: BaseDynamicPlugin[] = [ + { + name: 'a-frontend-plugin', + platform: 'web', + role: 'frontend-plugin', + version: '0.0.0', + }, + { + name: 'a-frontend-module', + platform: 'web', + role: 'frontend-plugin-module', + version: '0.0.0', + }, + { + name: 'a-backend-plugin', + platform: 'node', + role: 'backend-plugin', + version: '0.0.0', + }, + { + name: 'a-backend-module', + platform: 'node', + role: 'backend-plugin-module', + version: '0.0.0', + }, + ]; + (pluginManager as any)._plugins = plugins; + expect(pluginManager.frontendPlugins()).toEqual([ + { + name: 'a-frontend-plugin', + platform: 'web', + role: 'frontend-plugin', + version: '0.0.0', + }, + { + name: 'a-frontend-module', + platform: 'web', + role: 'frontend-plugin-module', + version: '0.0.0', + }, + ]); + }); + }); + describe('dynamicPluginsServiceFactory', () => { const otherMockDir = createMockDirectory(); @@ -547,27 +608,29 @@ describe('backend-plugin-manager', () => { 'a-dynamic-plugin': {}, }); - const fromConfigSpier = jest.spyOn(PluginManager, 'fromConfig'); + const fromConfigSpier = jest.spyOn(DynamicPluginManager, 'create'); const applyConfigSpier = jest .spyOn(PluginScanner.prototype as any, 'applyConfig') .mockImplementation(() => {}); const scanRootSpier = jest .spyOn(PluginScanner.prototype, 'scanRoot') - .mockImplementation(async () => [ - { - location: url.pathToFileURL( - mockDir.resolve('dynamic-plugins-root/a-dynamic-plugin'), - ), - manifest: { - name: 'test', - version: '0.0.0', - main: 'dist/index.cjs.js', - backstage: { - role: 'backend-plugin', + .mockImplementation(async () => ({ + packages: [ + { + location: url.pathToFileURL( + mockDir.resolve('dynamic-plugins-root/a-dynamic-plugin'), + ), + manifest: { + name: 'test', + version: '0.0.0', + main: 'dist/index.cjs.js', + backstage: { + role: 'backend-plugin', + }, }, }, - }, - ]); + ], + })); const mockedModuleLoader = { logger, bootstrap: jest.fn(), diff --git a/packages/backend-plugin-manager/src/manager/plugin-manager.ts b/packages/backend-plugin-manager/src/manager/plugin-manager.ts index 5a5caa0a89..edc3e20f72 100644 --- a/packages/backend-plugin-manager/src/manager/plugin-manager.ts +++ b/packages/backend-plugin-manager/src/manager/plugin-manager.ts @@ -15,10 +15,11 @@ */ import { Config } from '@backstage/config'; import { - BackendPluginProvider, + DynamicPluginProvider, BackendDynamicPlugin, isBackendDynamicPluginInstaller, DynamicPlugin, + FrontendDynamicPlugin, } from './types'; import { ScannedPluginPackage } from '../scanner'; import { PluginScanner } from '../scanner/plugin-scanner'; @@ -44,24 +45,37 @@ import { /** * @public */ -export class PluginManager implements BackendPluginProvider { - static async fromConfig( - config: Config, - logger: LoggerService, - preferAlpha: boolean = false, - moduleLoader: ModuleLoader = new CommonJSModuleLoader(logger), - ): Promise { +export interface DynamicPluginManagerOptions { + config: Config; + logger: LoggerService; + preferAlpha?: boolean; + moduleLoader?: ModuleLoader; +} + +/** + * @public + */ +export class DynamicPluginManager implements DynamicPluginProvider { + static async create( + options: DynamicPluginManagerOptions, + ): Promise { /* eslint-disable-next-line no-restricted-syntax */ const backstageRoot = findPaths(__dirname).targetRoot; - const scanner = new PluginScanner( - config, - logger, + const scanner = PluginScanner.create({ + config: options.config, + logger: options.logger, backstageRoot, - preferAlpha, - ); - const scannedPlugins = await scanner.scanRoot(); + preferAlpha: options.preferAlpha, + }); + const scannedPlugins = (await scanner.scanRoot()).packages; scanner.trackChanges(); - const manager = new PluginManager(logger, scannedPlugins, moduleLoader); + const moduleLoader = + options.moduleLoader || new CommonJSModuleLoader(options.logger); + const manager = new DynamicPluginManager( + options.logger, + scannedPlugins, + moduleLoader, + ); const dynamicPluginsPaths = scannedPlugins.map(p => fs.realpathSync( @@ -76,15 +90,15 @@ export class PluginManager implements BackendPluginProvider { moduleLoader.bootstrap(backstageRoot, dynamicPluginsPaths); scanner.subscribeToRootDirectoryChange(async () => { - manager._availablePackages = await scanner.scanRoot(); + manager._availablePackages = (await scanner.scanRoot()).packages; // TODO: do not store _scannedPlugins again, but instead store a diff of the changes }); - manager.plugins.push(...(await manager.loadPlugins())); + manager._plugins.push(...(await manager.loadPlugins())); return manager; } - readonly plugins: DynamicPlugin[]; + private readonly _plugins: DynamicPlugin[]; private _availablePackages: ScannedPluginPackage[]; private constructor( @@ -92,7 +106,7 @@ export class PluginManager implements BackendPluginProvider { private packages: ScannedPluginPackage[], private readonly moduleLoader: ModuleLoader, ) { - this.plugins = []; + this._plugins = []; this._availablePackages = packages; } @@ -101,7 +115,7 @@ export class PluginManager implements BackendPluginProvider { } addBackendPlugin(plugin: BackendDynamicPlugin): void { - this.plugins.push(plugin); + this._plugins.push(plugin); } private async loadPlugins(): Promise { @@ -182,16 +196,26 @@ export class PluginManager implements BackendPluginProvider { } backendPlugins(): BackendDynamicPlugin[] { - return this.plugins.filter( + return this._plugins.filter( (p): p is BackendDynamicPlugin => p.platform === 'node', ); } + + frontendPlugins(): FrontendDynamicPlugin[] { + return this._plugins.filter( + (p): p is FrontendDynamicPlugin => p.platform === 'web', + ); + } + + plugins(): DynamicPlugin[] { + return this._plugins; + } } /** * @public */ -export const dynamicPluginsServiceRef = createServiceRef( +export const dynamicPluginsServiceRef = createServiceRef( { id: 'core.dynamicplugins', scope: 'root', @@ -216,15 +240,12 @@ export const dynamicPluginsServiceFactory = createServiceFactory( logger: coreServices.rootLogger, }, async factory({ config, logger }) { - if (options?.moduleLoader) { - return await PluginManager.fromConfig( - config, - logger, - true, - options.moduleLoader(logger), - ); - } - return await PluginManager.fromConfig(config, logger, true); + return await DynamicPluginManager.create({ + config, + logger, + preferAlpha: true, + moduleLoader: options?.moduleLoader?.(logger), + }); }, }), ); @@ -233,7 +254,7 @@ class DynamicPluginsEnabledFeatureDiscoveryService implements FeatureDiscoveryService { constructor( - private readonly dynamicPlugins: BackendPluginProvider, + private readonly dynamicPlugins: DynamicPluginProvider, private readonly featureDiscoveryService?: FeatureDiscoveryService, ) {} diff --git a/packages/backend-plugin-manager/src/manager/types.ts b/packages/backend-plugin-manager/src/manager/types.ts index 201941292d..0038470686 100644 --- a/packages/backend-plugin-manager/src/manager/types.ts +++ b/packages/backend-plugin-manager/src/manager/types.ts @@ -67,6 +67,15 @@ export type LegacyPluginEnvironment = { pluginProvider: BackendPluginProvider; }; +/** + * @public + */ +export interface DynamicPluginProvider + extends FrontendPluginProvider, + BackendPluginProvider { + plugins(): DynamicPlugin[]; +} + /** * @public */ @@ -74,6 +83,13 @@ export interface BackendPluginProvider { backendPlugins(): BackendDynamicPlugin[]; } +/** + * @public + */ +export interface FrontendPluginProvider { + frontendPlugins(): FrontendDynamicPlugin[]; +} + /** * @public */ diff --git a/packages/backend-plugin-manager/src/scanner/plugin-scanner-watcher.test.ts b/packages/backend-plugin-manager/src/scanner/plugin-scanner-watcher.test.ts index 7b795aee4f..2d017d805b 100644 --- a/packages/backend-plugin-manager/src/scanner/plugin-scanner-watcher.test.ts +++ b/packages/backend-plugin-manager/src/scanner/plugin-scanner-watcher.test.ts @@ -64,22 +64,23 @@ describe('plugin-scanner', () => { unsubscribe: configUnsubscribe, }; }; - const pluginScanner = new PluginScanner( + const pluginScanner = PluginScanner.create({ config, logger, - backstageRootDirectory, - false, - ); + backstageRoot: backstageRootDirectory, + preferAlpha: false, + }); await pluginScanner.trackChanges(); expect(onConfigChange).toBeDefined(); - let scannedPlugins: ScannedPluginPackage[] = - await pluginScanner.scanRoot(); + let scannedPlugins: ScannedPluginPackage[] = ( + await pluginScanner.scanRoot() + ).packages; expect(scannedPlugins).toEqual([]); const rootDirectorySubscriber = jest.fn(async () => { - scannedPlugins = await pluginScanner.scanRoot(); + scannedPlugins = (await pluginScanner.scanRoot()).packages; }); pluginScanner.subscribeToRootDirectoryChange(rootDirectorySubscriber); diff --git a/packages/backend-plugin-manager/src/scanner/plugin-scanner.test.ts b/packages/backend-plugin-manager/src/scanner/plugin-scanner.test.ts index d4ab8940c9..e52eee87c4 100644 --- a/packages/backend-plugin-manager/src/scanner/plugin-scanner.test.ts +++ b/packages/backend-plugin-manager/src/scanner/plugin-scanner.test.ts @@ -206,11 +206,11 @@ Please add '${mockDir.resolve( const logger = new MockedLogger(); const backstageRoot = tc.backstageRoot ? tc.backstageRoot : ''; function toTest(): PluginScanner { - return new PluginScanner( - new ConfigReader(tc.config), + return PluginScanner.create({ + config: new ConfigReader(tc.config), logger, backstageRoot, - ); + }); } if (tc.fileSystem) { mockDir.setContent(tc.fileSystem); @@ -609,8 +609,8 @@ Please add '${mockDir.resolve( const logger = new MockedLogger(); const backstageRoot = mockDir.resolve('backstageRoot'); async function toTest(): Promise { - const pluginScanner = new PluginScanner( - new ConfigReader( + const pluginScanner = PluginScanner.create({ + config: new ConfigReader( tc.fileSystem ? { dynamicPlugins: { @@ -621,9 +621,9 @@ Please add '${mockDir.resolve( ), logger, backstageRoot, - tc.preferAlpha === undefined ? false : tc.preferAlpha, - ); - return await pluginScanner.scanRoot(); + preferAlpha: tc.preferAlpha, + }); + return (await pluginScanner.scanRoot()).packages; } if (tc.fileSystem) { mockDir.setContent(tc.fileSystem); diff --git a/packages/backend-plugin-manager/src/scanner/plugin-scanner.ts b/packages/backend-plugin-manager/src/scanner/plugin-scanner.ts index 51e38002e9..25e0d614dd 100644 --- a/packages/backend-plugin-manager/src/scanner/plugin-scanner.ts +++ b/packages/backend-plugin-manager/src/scanner/plugin-scanner.ts @@ -24,28 +24,39 @@ import debounce from 'lodash/debounce'; import { PackagePlatform, PackageRoles } from '@backstage/cli-node'; import { LoggerService } from '@backstage/backend-plugin-api'; +export interface DynamicPluginScannerOptions { + config: Config; + backstageRoot: string; + logger: LoggerService; + preferAlpha?: boolean; +} + +export interface ScanRootResponse { + packages: ScannedPluginPackage[]; +} + export class PluginScanner { - private readonly logger: LoggerService; - private backstageRoot: string; - readonly #config: Config; private _rootDirectory?: string; - private readonly preferAlpha: boolean; private configUnsubscribe?: () => void; private rootDirectoryWatcher?: chokidar.FSWatcher; private subscribers: (() => void)[] = []; - constructor( - config: Config, - logger: LoggerService, - backstageRoot: string, - preferAlpha: boolean = false, - ) { - this.backstageRoot = backstageRoot; - this.logger = logger; - this.preferAlpha = preferAlpha; - this.#config = config; + private constructor( + private readonly config: Config, + private readonly logger: LoggerService, + private readonly backstageRoot: string, + private readonly preferAlpha: boolean, + ) {} - this.applyConfig(); + static create(options: DynamicPluginScannerOptions): PluginScanner { + const scanner = new PluginScanner( + options.config, + options.logger, + options.backstageRoot, + options.preferAlpha || false, + ); + scanner.applyConfig(); + return scanner; } subscribeToRootDirectoryChange(subscriber: () => void) { @@ -57,7 +68,7 @@ export class PluginScanner { } private applyConfig(): void | never { - const dynamicPlugins = this.#config.getOptional('dynamicPlugins'); + const dynamicPlugins = this.config.getOptional('dynamicPlugins'); if (!dynamicPlugins) { this.logger.info("'dynamicPlugins' config entry not found."); this._rootDirectory = undefined; @@ -114,9 +125,9 @@ export class PluginScanner { this._rootDirectory = dynamicPluginsRootPath; } - async scanRoot(): Promise { + async scanRoot(): Promise { if (!this._rootDirectory) { - return []; + return { packages: [] }; } const dynamicPluginsLocation = this._rootDirectory; @@ -189,7 +200,7 @@ export class PluginScanner { scannedPlugins.push(scannedPlugin); } - return scannedPlugins; + return { packages: scannedPlugins }; } private async scanDir(pluginHome: string): Promise { @@ -263,30 +274,28 @@ export class PluginScanner { }; await setupRootDirectoryWatcher(); - if (this.#config.subscribe) { - const { unsubscribe } = this.#config.subscribe( - async (): Promise => { - const oldRootDirectory = this._rootDirectory; - try { - this.applyConfig(); - } catch (e) { - this.logger.error( - 'failed to apply new config for dynamic plugins', - e, - ); + if (this.config.subscribe) { + const { unsubscribe } = this.config.subscribe(async (): Promise => { + const oldRootDirectory = this._rootDirectory; + try { + this.applyConfig(); + } catch (e) { + this.logger.error( + 'failed to apply new config for dynamic plugins', + e, + ); + } + if (oldRootDirectory !== this._rootDirectory) { + this.logger.info( + `rootDirectory changed in Config from '${oldRootDirectory}' to '${this._rootDirectory}'`, + ); + this.subscribers.forEach(s => s()); + if (this.rootDirectoryWatcher) { + await this.rootDirectoryWatcher.close(); } - if (oldRootDirectory !== this._rootDirectory) { - this.logger.info( - `rootDirectory changed in Config from '${oldRootDirectory}' to '${this._rootDirectory}'`, - ); - this.subscribers.forEach(s => s()); - if (this.rootDirectoryWatcher) { - await this.rootDirectoryWatcher.close(); - } - await setupRootDirectoryWatcher(); - } - }, - ); + await setupRootDirectoryWatcher(); + } + }); this.configUnsubscribe = unsubscribe; } } diff --git a/packages/backend-tasks/CHANGELOG.md b/packages/backend-tasks/CHANGELOG.md index 6341a0739d..d6a7d4d39b 100644 --- a/packages/backend-tasks/CHANGELOG.md +++ b/packages/backend-tasks/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/backend-tasks +## 0.5.14-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## 0.5.13 + +### Patch Changes + +- d8f488a: Allow tasks to run more often that the default work check interval, which is 5 seconds. +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.5.13-next.3 ### Patch Changes diff --git a/packages/backend-tasks/package.json b/packages/backend-tasks/package.json index c6d84db132..0a41fa1423 100644 --- a/packages/backend-tasks/package.json +++ b/packages/backend-tasks/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-tasks", "description": "Common distributed task management library for Backstage backends", - "version": "0.5.13-next.3", + "version": "0.5.14-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { @@ -44,7 +44,7 @@ "luxon": "^3.0.0", "uuid": "^8.0.0", "winston": "^3.2.1", - "zod": "^3.21.4" + "zod": "^3.22.4" }, "devDependencies": { "@backstage/backend-test-utils": "workspace:^", diff --git a/packages/backend-tasks/src/migrations.test.ts b/packages/backend-tasks/src/migrations.test.ts index 1d701c971d..82208da975 100644 --- a/packages/backend-tasks/src/migrations.test.ts +++ b/packages/backend-tasks/src/migrations.test.ts @@ -42,9 +42,7 @@ async function migrateUntilBefore(knex: Knex, target: string): Promise { jest.setTimeout(60_000); describe('migrations', () => { - const databases = TestDatabases.create({ - ids: ['POSTGRES_13', 'POSTGRES_9', 'MYSQL_8', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); it.each(databases.eachSupportedId())( '20210928160613_init.js, %p', diff --git a/packages/backend-tasks/src/setupTests.ts b/packages/backend-tasks/src/setupTests.ts index 5245d37c26..76619a2542 100644 --- a/packages/backend-tasks/src/setupTests.ts +++ b/packages/backend-tasks/src/setupTests.ts @@ -14,7 +14,12 @@ * limitations under the License. */ +import { TestDatabases } from '@backstage/backend-test-utils'; import { Settings } from 'luxon'; // TS still thinks that methods can return null / placeholders, but we still want to throw as soon as possible when things go wrong Settings.throwOnInvalid = true; + +TestDatabases.setDefaults({ + ids: ['MYSQL_8', 'POSTGRES_16', 'POSTGRES_12', 'SQLITE_3'], +}); diff --git a/packages/backend-tasks/src/tasks/PluginTaskSchedulerImpl.test.ts b/packages/backend-tasks/src/tasks/PluginTaskSchedulerImpl.test.ts index 6247755bbd..4b40791cb5 100644 --- a/packages/backend-tasks/src/tasks/PluginTaskSchedulerImpl.test.ts +++ b/packages/backend-tasks/src/tasks/PluginTaskSchedulerImpl.test.ts @@ -36,7 +36,7 @@ jest.setTimeout(60_000); describe('PluginTaskManagerImpl', () => { const databases = TestDatabases.create({ - ids: ['POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], + ids: ['POSTGRES_16', 'POSTGRES_12', 'SQLITE_3'], }); beforeAll(async () => { diff --git a/packages/backend-tasks/src/tasks/PluginTaskSchedulerJanitor.test.ts b/packages/backend-tasks/src/tasks/PluginTaskSchedulerJanitor.test.ts index 50bea27d27..1f0363625e 100644 --- a/packages/backend-tasks/src/tasks/PluginTaskSchedulerJanitor.test.ts +++ b/packages/backend-tasks/src/tasks/PluginTaskSchedulerJanitor.test.ts @@ -40,8 +40,8 @@ describe('PluginTaskSchedulerJanitor', () => { const databases = TestDatabases.create({ ids: [ /* 'MYSQL_8' not supported yet */ - 'POSTGRES_13', - 'POSTGRES_9', + 'POSTGRES_16', + 'POSTGRES_12', 'SQLITE_3', 'MYSQL_8', ], diff --git a/packages/backend-tasks/src/tasks/TaskScheduler.test.ts b/packages/backend-tasks/src/tasks/TaskScheduler.test.ts index 8e419437bc..d286eaee38 100644 --- a/packages/backend-tasks/src/tasks/TaskScheduler.test.ts +++ b/packages/backend-tasks/src/tasks/TaskScheduler.test.ts @@ -25,9 +25,7 @@ jest.setTimeout(60_000); describe('TaskScheduler', () => { const logger = getVoidLogger(); - const databases = TestDatabases.create({ - ids: ['POSTGRES_13', 'POSTGRES_9', 'SQLITE_3', 'MYSQL_8'], - }); + const databases = TestDatabases.create(); const testScopedSignal = createTestScopedSignal(); async function createDatabase( diff --git a/packages/backend-tasks/src/tasks/TaskWorker.test.ts b/packages/backend-tasks/src/tasks/TaskWorker.test.ts index 45eb7d1003..a2ecdaa779 100644 --- a/packages/backend-tasks/src/tasks/TaskWorker.test.ts +++ b/packages/backend-tasks/src/tasks/TaskWorker.test.ts @@ -28,9 +28,7 @@ jest.setTimeout(60_000); describe('TaskWorker', () => { const logger = getVoidLogger(); - const databases = TestDatabases.create({ - ids: ['POSTGRES_13', 'POSTGRES_9', 'SQLITE_3', 'MYSQL_8'], - }); + const databases = TestDatabases.create(); const testScopedSignal = createTestScopedSignal(); beforeEach(() => { diff --git a/packages/backend-test-utils/CHANGELOG.md b/packages/backend-test-utils/CHANGELOG.md index f5cf228bd3..7cb7f647c4 100644 --- a/packages/backend-test-utils/CHANGELOG.md +++ b/packages/backend-test-utils/CHANGELOG.md @@ -1,5 +1,36 @@ # @backstage/backend-test-utils +## 0.2.10-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-app-api@0.5.10-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.2.9 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- b7de76a: Added support for PostgreSQL versions 15 and 16 + + Also introduced a new `setDefaults(options: { ids?: TestDatabaseId[] })` static method that can be added to the `setupTests.ts` file to define the default database ids you want to use throughout your package. Usage would look like this: `TestDatabases.setDefaults({ ids: ['POSTGRES_12','POSTGRES_16'] })` and would result in PostgreSQL versions 12 and 16 being used for your tests. + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-app-api@0.5.9 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.2.9-next.3 ### Patch Changes diff --git a/packages/backend-test-utils/api-report.md b/packages/backend-test-utils/api-report.md index ac012e2f69..204e5dc84a 100644 --- a/packages/backend-test-utils/api-report.md +++ b/packages/backend-test-utils/api-report.md @@ -307,6 +307,8 @@ export interface TestBackendOptions { // @public export type TestDatabaseId = + | 'POSTGRES_16' + | 'POSTGRES_15' | 'POSTGRES_14' | 'POSTGRES_13' | 'POSTGRES_12' @@ -325,6 +327,8 @@ export class TestDatabases { eachSupportedId(): [TestDatabaseId][]; init(id: TestDatabaseId): Promise; // (undocumented) + static setDefaults(options: { ids?: TestDatabaseId[] }): void; + // (undocumented) supports(id: TestDatabaseId): boolean; } ``` diff --git a/packages/backend-test-utils/package.json b/packages/backend-test-utils/package.json index 218e6ebe57..b08f2e28af 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.2.9-next.3", + "version": "0.2.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-test-utils/src/database/TestDatabases.test.ts b/packages/backend-test-utils/src/database/TestDatabases.test.ts index d766d38815..64e4d76443 100644 --- a/packages/backend-test-utils/src/database/TestDatabases.test.ts +++ b/packages/backend-test-utils/src/database/TestDatabases.test.ts @@ -59,6 +59,68 @@ describe('TestDatabases', () => { describe('each connect', () => { const dbs = TestDatabases.create(); + itIfDocker( + 'obeys a provided connection string for postgres 16', + async () => { + const { host, port, user, password, stop } = + await startPostgresContainer('postgres:16'); + + try { + // Leave a mark + process.env.BACKSTAGE_TEST_DATABASE_POSTGRES16_CONNECTION_STRING = `postgresql://${user}:${password}@${host}:${port}`; + const input = await dbs.init('POSTGRES_16'); + await input.schema.createTable('a', table => + table.string('x').primary(), + ); + await input.insert({ x: 'y' }).into('a'); + + // Look for the mark + const database = input.client.config.connection.database; + const output = knexFactory({ + client: 'pg', + connection: { host, port, user, password, database }, + }); + // eslint-disable-next-line jest/no-standalone-expect + await expect(output.select('x').from('a')).resolves.toEqual([ + { x: 'y' }, + ]); + } finally { + await stop(); + } + }, + ); + + itIfDocker( + 'obeys a provided connection string for postgres 15', + async () => { + const { host, port, user, password, stop } = + await startPostgresContainer('postgres:15'); + + try { + // Leave a mark + process.env.BACKSTAGE_TEST_DATABASE_POSTGRES15_CONNECTION_STRING = `postgresql://${user}:${password}@${host}:${port}`; + const input = await dbs.init('POSTGRES_15'); + await input.schema.createTable('a', table => + table.string('x').primary(), + ); + await input.insert({ x: 'y' }).into('a'); + + // Look for the mark + const database = input.client.config.connection.database; + const output = knexFactory({ + client: 'pg', + connection: { host, port, user, password, database }, + }); + // eslint-disable-next-line jest/no-standalone-expect + await expect(output.select('x').from('a')).resolves.toEqual([ + { x: 'y' }, + ]); + } finally { + await stop(); + } + }, + ); + itIfDocker( 'obeys a provided connection string for postgres 14', async () => { diff --git a/packages/backend-test-utils/src/database/TestDatabases.ts b/packages/backend-test-utils/src/database/TestDatabases.ts index 45d2899dbb..1913075b1f 100644 --- a/packages/backend-test-utils/src/database/TestDatabases.ts +++ b/packages/backend-test-utils/src/database/TestDatabases.ts @@ -44,6 +44,7 @@ const LARGER_POOL_CONFIG = { export class TestDatabases { private readonly instanceById: Map; private readonly supportedIds: TestDatabaseId[]; + private static defaultIds?: TestDatabaseId[]; /** * Creates an empty `TestDatabases` instance, and sets up Jest to clean up @@ -60,18 +61,19 @@ export class TestDatabases { ids?: TestDatabaseId[]; disableDocker?: boolean; }): TestDatabases { - const defaultOptions = { - ids: Object.keys(allDatabases) as TestDatabaseId[], - disableDocker: isDockerDisabledForTests(), - }; + const ids = options?.ids; + const disableDocker = options?.disableDocker ?? isDockerDisabledForTests(); - const { ids, disableDocker } = Object.assign( - {}, - defaultOptions, - options ?? {}, - ); + let testDatabaseIds: TestDatabaseId[]; + if (ids) { + testDatabaseIds = ids; + } else if (TestDatabases.defaultIds) { + testDatabaseIds = TestDatabases.defaultIds; + } else { + testDatabaseIds = Object.keys(allDatabases) as TestDatabaseId[]; + } - const supportedIds = ids.filter(id => { + const supportedIds = testDatabaseIds.filter(id => { const properties = allDatabases[id]; if (!properties) { return false; @@ -107,6 +109,10 @@ export class TestDatabases { return databases; } + static setDefaults(options: { ids?: TestDatabaseId[] }) { + TestDatabases.defaultIds = options.ids; + } + private constructor(supportedIds: TestDatabaseId[]) { this.instanceById = new Map(); this.supportedIds = supportedIds; diff --git a/packages/backend-test-utils/src/database/types.ts b/packages/backend-test-utils/src/database/types.ts index a7bfdeb12d..75c24dc725 100644 --- a/packages/backend-test-utils/src/database/types.ts +++ b/packages/backend-test-utils/src/database/types.ts @@ -24,6 +24,8 @@ import { getDockerImageForName } from '../util/getDockerImageForName'; * @public */ export type TestDatabaseId = + | 'POSTGRES_16' + | 'POSTGRES_15' | 'POSTGRES_14' | 'POSTGRES_13' | 'POSTGRES_12' @@ -47,6 +49,20 @@ export type Instance = { export const allDatabases: Record = Object.freeze({ + POSTGRES_16: { + name: 'Postgres 16.x', + driver: 'pg', + dockerImageName: getDockerImageForName('postgres:16'), + connectionStringEnvironmentVariableName: + 'BACKSTAGE_TEST_DATABASE_POSTGRES16_CONNECTION_STRING', + }, + POSTGRES_15: { + name: 'Postgres 15.x', + driver: 'pg', + dockerImageName: getDockerImageForName('postgres:15'), + connectionStringEnvironmentVariableName: + 'BACKSTAGE_TEST_DATABASE_POSTGRES15_CONNECTION_STRING', + }, POSTGRES_14: { name: 'Postgres 14.x', driver: 'pg', diff --git a/packages/backend/CHANGELOG.md b/packages/backend/CHANGELOG.md index 003949ff46..3107fee1fa 100644 --- a/packages/backend/CHANGELOG.md +++ b/packages/backend/CHANGELOG.md @@ -1,5 +1,121 @@ # example-backend +## 0.2.91-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-auth-backend@0.20.3-next.0 + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-scaffolder-backend@1.19.3-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-search-backend-module-techdocs@0.1.13-next.0 + - @backstage/plugin-search-backend-module-catalog@0.1.13-next.0 + - @backstage/plugin-search-backend-module-explore@0.1.13-next.0 + - @backstage/plugin-azure-devops-backend@0.5.1-next.0 + - @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.10-next.0 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.6-next.0 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.41-next.0 + - @backstage/plugin-entity-feedback-backend@0.2.6-next.0 + - @backstage/plugin-code-coverage-backend@0.2.23-next.0 + - @backstage/plugin-azure-sites-backend@0.1.19-next.0 + - @backstage/plugin-tech-insights-node@0.4.15-next.0 + - @backstage/plugin-devtools-backend@0.2.6-next.0 + - @backstage/plugin-linguist-backend@0.5.6-next.0 + - @backstage/plugin-playlist-backend@0.3.13-next.0 + - @backstage/plugin-techdocs-backend@1.9.2-next.0 + - @backstage/plugin-explore-backend@0.0.19-next.0 + - @backstage/plugin-jenkins-backend@0.3.3-next.0 + - @backstage/plugin-badges-backend@0.3.6-next.0 + - @backstage/plugin-search-backend@1.4.9-next.0 + - @backstage/plugin-kafka-backend@0.3.7-next.0 + - @backstage/plugin-nomad-backend@0.1.11-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/plugin-todo-backend@0.3.7-next.0 + - @backstage/plugin-adr-backend@0.4.6-next.0 + - @backstage/plugin-app-backend@0.3.57-next.0 + - example-app@0.2.91-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-catalog-backend@1.16.1-next.0 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.6-next.0 + - @backstage/plugin-events-backend@0.2.18-next.0 + - @backstage/plugin-events-node@0.2.18-next.0 + - @backstage/plugin-kubernetes-backend@0.14.1-next.0 + - @backstage/plugin-lighthouse-backend@0.4.1-next.0 + - @backstage/plugin-permission-backend@0.5.32-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + - @backstage/plugin-proxy-backend@0.4.7-next.0 + - @backstage/plugin-rollbar-backend@0.1.54-next.0 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.26-next.0 + - @backstage/plugin-search-backend-module-elasticsearch@1.3.12-next.0 + - @backstage/plugin-search-backend-module-pg@0.5.18-next.0 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + - @backstage/plugin-tech-insights-backend@0.5.23-next.0 + +## 0.2.90 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-auth-backend@0.20.1 + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/plugin-techdocs-backend@1.9.1 + - @backstage/plugin-catalog-backend@1.16.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-azure-devops-backend@0.5.0 + - @backstage/plugin-scaffolder-backend@1.19.2 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-lighthouse-backend@0.4.0 + - @backstage/plugin-kubernetes-backend@0.14.0 + - @backstage/integration@1.8.0 + - @backstage/plugin-azure-sites-backend@0.1.18 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-backend@0.5.31 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-playlist-backend@0.3.12 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/plugin-search-backend@1.4.8 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.5 + - @backstage/plugin-search-backend-module-elasticsearch@1.3.11 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.5 + - @backstage/plugin-search-backend-module-techdocs@0.1.12 + - @backstage/plugin-search-backend-module-catalog@0.1.12 + - @backstage/plugin-search-backend-module-explore@0.1.12 + - @backstage/plugin-search-backend-module-pg@0.5.17 + - @backstage/plugin-events-backend@0.2.17 + - example-app@0.2.90 + - @backstage/plugin-adr-backend@0.4.5 + - @backstage/plugin-app-backend@0.3.56 + - @backstage/plugin-badges-backend@0.3.5 + - @backstage/plugin-code-coverage-backend@0.2.22 + - @backstage/plugin-devtools-backend@0.2.5 + - @backstage/plugin-entity-feedback-backend@0.2.5 + - @backstage/plugin-explore-backend@0.0.18 + - @backstage/plugin-jenkins-backend@0.3.2 + - @backstage/plugin-kafka-backend@0.3.6 + - @backstage/plugin-linguist-backend@0.5.5 + - @backstage/plugin-nomad-backend@0.1.10 + - @backstage/plugin-proxy-backend@0.4.6 + - @backstage/plugin-rollbar-backend@0.1.53 + - @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.9 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.25 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/plugin-tech-insights-backend@0.5.22 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.40 + - @backstage/plugin-tech-insights-node@0.4.14 + - @backstage/plugin-todo-backend@0.3.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.17 + - @backstage/plugin-search-common@1.2.9 + ## 0.2.90-next.3 ### Patch Changes diff --git a/packages/backend/package.json b/packages/backend/package.json index f925299058..a70e5b5d3b 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -1,6 +1,6 @@ { "name": "example-backend", - "version": "0.2.90-next.3", + "version": "0.2.91-next.0", "main": "dist/index.cjs.js", "types": "src/index.ts", "license": "Apache-2.0", @@ -82,7 +82,7 @@ "@opentelemetry/api": "^1.4.1", "@opentelemetry/exporter-prometheus": "^0.45.0", "@opentelemetry/sdk-metrics": "^1.13.0", - "azure-devops-node-api": "^11.0.1", + "azure-devops-node-api": "^12.0.0", "better-sqlite3": "^9.0.0", "dockerode": "^3.3.1", "example-app": "link:../app", diff --git a/packages/catalog-client/CHANGELOG.md b/packages/catalog-client/CHANGELOG.md index d81062fd03..b3e04958f9 100644 --- a/packages/catalog-client/CHANGELOG.md +++ b/packages/catalog-client/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/catalog-client +## 1.5.2-next.0 + +### Patch Changes + +- 883782e: Fix a bug in `getLocationByRef` that led to invalid backend calls +- Updated dependencies + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## 1.5.0 + +### Minor Changes + +- 3834067: The internals of `CatalogClient` are now auto-generated using the `backstage-repo-tools schema openapi generate-client` command. + +### Patch Changes + +- 82fa88b: Fixes a bug where some query parameters were double URL encoded. +- Updated dependencies + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 1.5.0-next.1 ### Patch Changes diff --git a/packages/catalog-client/package.json b/packages/catalog-client/package.json index 24e4f3f4c7..f87d5aa221 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.5.0-next.1", + "version": "1.5.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/catalog-client/src/CatalogClient.ts b/packages/catalog-client/src/CatalogClient.ts index f97360d1d7..0d6bd6b926 100644 --- a/packages/catalog-client/src/CatalogClient.ts +++ b/packages/catalog-client/src/CatalogClient.ts @@ -43,7 +43,7 @@ import { QueryEntitiesResponse, } from './types/api'; import { isQueryEntitiesInitialRequest } from './utils'; -import { DefaultApiClient } from './generated'; +import { DefaultApiClient, TypedResponse } from './generated'; /** * A frontend and backend compatible client for communicating with the Backstage @@ -112,7 +112,7 @@ export class CatalogClient implements CatalogApi { } } - const entities: Entity[] = await this.requestRequired( + const entities = await this.requestRequired( await this.apiClient.getEntities( { query: { @@ -345,8 +345,8 @@ export class CatalogClient implements CatalogApi { locationRef: string, options?: CatalogRequestOptions, ): Promise { - const all: { data: Location }[] = await this.requestRequired( - await this.apiClient.getLocation({ path: { id: locationRef } }, options), + const all = await this.requestRequired( + await this.apiClient.getLocations({}, options), ); return all .map(r => r.data) @@ -418,7 +418,7 @@ export class CatalogClient implements CatalogApi { } } - private async requestRequired(response: Response): Promise { + private async requestRequired(response: TypedResponse): Promise { if (!response.ok) { throw await ResponseError.fromResponse(response); } diff --git a/packages/catalog-client/src/generated/apis/DefaultApi.client.ts b/packages/catalog-client/src/generated/apis/DefaultApi.client.ts index 260f7c9fc8..65b8699370 100644 --- a/packages/catalog-client/src/generated/apis/DefaultApi.client.ts +++ b/packages/catalog-client/src/generated/apis/DefaultApi.client.ts @@ -35,7 +35,12 @@ import { Location } from '../models/Location.model'; import { RefreshEntityRequest } from '../models/RefreshEntityRequest.model'; import { ValidateEntityRequest } from '../models/ValidateEntityRequest.model'; -type TypedResponse = Omit & { +/** + * Wraps the Response type to convey a type on the json call. + * + * @public + */ +export type TypedResponse = Omit & { json: () => Promise; }; diff --git a/packages/catalog-model/examples/acme/backstage-group.yaml b/packages/catalog-model/examples/acme/backstage-group.yaml index f83587532c..0372eedab7 100644 --- a/packages/catalog-model/examples/acme/backstage-group.yaml +++ b/packages/catalog-model/examples/acme/backstage-group.yaml @@ -8,6 +8,6 @@ spec: profile: displayName: Backstage email: backstage@example.com - picture: https://avatars.dicebear.com/api/identicon/backstage@example.com.svg?background=%23fff&margin=25 + picture: https://api.dicebear.com/7.x/identicon/svg?seed=Fluffy&backgroundColor=ffdfbf parent: infrastructure children: [team-a, team-b] diff --git a/packages/catalog-model/examples/acme/org.yaml b/packages/catalog-model/examples/acme/org.yaml index 9a0d690b57..96dd3a4e9e 100644 --- a/packages/catalog-model/examples/acme/org.yaml +++ b/packages/catalog-model/examples/acme/org.yaml @@ -13,7 +13,7 @@ spec: profile: displayName: ACME Corp email: info@example.com - picture: https://avatars.dicebear.com/api/identicon/info@example.com.svg?background=%23fff&margin=25 + picture: https://api.dicebear.com/7.x/identicon/svg?seed=Maggie&flip=true&backgroundColor=ffdfbf children: [infrastructure] --- apiVersion: backstage.io/v1alpha1 diff --git a/packages/catalog-model/examples/acme/team-a-group.yaml b/packages/catalog-model/examples/acme/team-a-group.yaml index e343209d5f..7fe0e7b3f3 100644 --- a/packages/catalog-model/examples/acme/team-a-group.yaml +++ b/packages/catalog-model/examples/acme/team-a-group.yaml @@ -8,7 +8,7 @@ spec: profile: # Intentional no displayName for testing email: team-a@example.com - picture: https://avatars.dicebear.com/api/identicon/team-a@example.com.svg?background=%23fff&margin=25 + picture: https://api.dicebear.com/7.x/identicon/svg?seed=Fluffy&backgroundType=solid,gradientLinear&backgroundColor=ffd5dc,b6e3f4 parent: backstage children: [] --- @@ -20,7 +20,7 @@ spec: profile: # Intentional no displayName for testing email: breanna-davison@example.com - picture: https://avatars.dicebear.com/api/avataaars/breanna-davison@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Luna&backgroundColor=transparent memberOf: [team-a] --- apiVersion: backstage.io/v1alpha1 @@ -31,7 +31,7 @@ spec: profile: displayName: Janelle Dawe email: janelle-dawe@example.com - picture: https://avatars.dicebear.com/api/avataaars/janelle-dawe@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Leo&backgroundColor=transparent memberOf: [team-a] --- apiVersion: backstage.io/v1alpha1 @@ -42,7 +42,7 @@ spec: profile: displayName: Nigel Manning email: nigel-manning@example.com - picture: https://avatars.dicebear.com/api/avataaars/nigel-manning@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Midnight&backgroundColor=transparent memberOf: [team-a] --- # This user is added as an example, to make it more easy for the "Guest" @@ -56,5 +56,4 @@ spec: profile: displayName: Guest User email: guest@example.com - picture: https://avatars.dicebear.com/api/avataaars/guest@example.com.svg?background=%23fff memberOf: [team-a] diff --git a/packages/catalog-model/examples/acme/team-b-group.yaml b/packages/catalog-model/examples/acme/team-b-group.yaml index 20ab8721ea..63dd000fb4 100644 --- a/packages/catalog-model/examples/acme/team-b-group.yaml +++ b/packages/catalog-model/examples/acme/team-b-group.yaml @@ -8,7 +8,7 @@ spec: profile: displayName: Team B email: team-b@example.com - picture: https://avatars.dicebear.com/api/identicon/team-b@example.com.svg?background=%23fff&margin=25 + picture: https://api.dicebear.com/7.x/identicon/svg?seed=Abby&backgroundType=solid,gradientLinear&backgroundColor=ffd5dc,b6e3f4 parent: backstage children: [] --- @@ -20,7 +20,7 @@ spec: profile: displayName: Amelia Park email: amelia-park@example.com - picture: https://avatars.dicebear.com/api/avataaars/amelia-park@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Gizmo&backgroundColor=transparent memberOf: [team-b] --- apiVersion: backstage.io/v1alpha1 @@ -31,7 +31,7 @@ spec: profile: displayName: Colette Brock email: colette-brock@example.com - picture: https://avatars.dicebear.com/api/avataaars/colette-brock@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Bailey&backgroundColor=transparent memberOf: [team-b] --- apiVersion: backstage.io/v1alpha1 @@ -42,7 +42,7 @@ spec: profile: displayName: Jenny Doe email: jenny-doe@example.com - picture: https://avatars.dicebear.com/api/avataaars/jenny-doe@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Mimi&backgroundColor=transparent memberOf: [team-b] --- apiVersion: backstage.io/v1alpha1 @@ -53,7 +53,7 @@ spec: profile: displayName: Jonathon Page email: jonathon-page@example.com - picture: https://avatars.dicebear.com/api/avataaars/jonathon-page@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Baby&backgroundColor=transparent memberOf: [team-b] --- apiVersion: backstage.io/v1alpha1 @@ -64,5 +64,5 @@ spec: profile: displayName: Justine Barrow email: justine-barrow@example.com - picture: https://avatars.dicebear.com/api/avataaars/justine-barrow@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Sassy&backgroundColor=transparent memberOf: [team-b] diff --git a/packages/catalog-model/examples/acme/team-c-group.yaml b/packages/catalog-model/examples/acme/team-c-group.yaml index 639b591d61..2daaa1daba 100644 --- a/packages/catalog-model/examples/acme/team-c-group.yaml +++ b/packages/catalog-model/examples/acme/team-c-group.yaml @@ -8,7 +8,7 @@ spec: profile: displayName: Team C email: team-c@example.com - picture: https://avatars.dicebear.com/api/identicon/team-c@example.com.svg?background=%23fff&margin=25 + picture: https://api.dicebear.com/7.x/identicon/svg?seed=Loki&backgroundType=gradientLinear&backgroundColor=b6e3f4,ffd5dc,ffdfbf,c0aede parent: boxoffice children: [] --- @@ -20,7 +20,7 @@ spec: profile: displayName: Calum Leavy email: calum-leavy@example.com - picture: https://avatars.dicebear.com/api/avataaars/calum-leavy@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Bear&backgroundColor=transparent memberOf: [team-c] --- apiVersion: backstage.io/v1alpha1 @@ -31,7 +31,7 @@ spec: profile: displayName: Frank Tiernan email: frank-tiernan@example.com - picture: https://avatars.dicebear.com/api/avataaars/frank-tiernan@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Bandit&backgroundColor=transparent memberOf: [team-c] --- apiVersion: backstage.io/v1alpha1 @@ -42,7 +42,7 @@ spec: profile: displayName: Peadar MacMahon email: peadar-macmahon@example.com - picture: https://avatars.dicebear.com/api/avataaars/peadar-macmahon@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Sophie memberOf: [team-c] --- apiVersion: backstage.io/v1alpha1 @@ -53,7 +53,7 @@ spec: profile: displayName: Sarah Gilroy email: sarah-gilroy@example.com - picture: https://avatars.dicebear.com/api/avataaars/sarah-gilroy@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Rascal memberOf: [team-c] --- apiVersion: backstage.io/v1alpha1 @@ -64,5 +64,5 @@ spec: profile: displayName: Tara MacGovern email: tara-macgovern@example.com - picture: https://avatars.dicebear.com/api/avataaars/tara-macgovern@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Jasmine memberOf: [team-c] diff --git a/packages/catalog-model/examples/acme/team-d-group.yaml b/packages/catalog-model/examples/acme/team-d-group.yaml index 898ed8be6c..ac6d70772e 100644 --- a/packages/catalog-model/examples/acme/team-d-group.yaml +++ b/packages/catalog-model/examples/acme/team-d-group.yaml @@ -8,7 +8,7 @@ spec: profile: displayName: Team D email: team-d@example.com - picture: https://avatars.dicebear.com/api/identicon/team-d@example.com.svg?background=%23fff&margin=25 + picture: https://api.dicebear.com/7.x/identicon/svg?seed=Bailey&backgroundType=gradientLinear&backgroundColor=b6e3f4,ffd5dc,ffdfbf,c0aede parent: boxoffice children: [] --- @@ -20,7 +20,7 @@ spec: profile: displayName: Eva MacDowell email: eva-macdowell@example.com - picture: https://avatars.dicebear.com/api/avataaars/eva-macdowell@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Cuddles memberOf: [team-d] --- apiVersion: backstage.io/v1alpha1 @@ -31,5 +31,5 @@ spec: profile: displayName: Lucy Sheehan email: lucy-sheehan@example.com - picture: https://avatars.dicebear.com/api/avataaars/lucy-sheehan@example.com.svg?background=%23fff + picture: https://api.dicebear.com/7.x/avataaars/svg?seed=Snickers memberOf: [team-d] diff --git a/packages/cli-node/CHANGELOG.md b/packages/cli-node/CHANGELOG.md index d13b9593cd..97e431cc7d 100644 --- a/packages/cli-node/CHANGELOG.md +++ b/packages/cli-node/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/cli-node +## 0.2.1 + +### Patch Changes + +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.2.0 ### Minor Changes diff --git a/packages/cli-node/package.json b/packages/cli-node/package.json index 36368fd4a9..6e5d5a90fd 100644 --- a/packages/cli-node/package.json +++ b/packages/cli-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/cli-node", "description": "Node.js library for Backstage CLIs", - "version": "0.2.0", + "version": "0.2.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,7 +35,7 @@ "@yarnpkg/parsers": "^3.0.0-rc.4", "fs-extra": "10.1.0", "semver": "^7.5.3", - "zod": "^3.21.4" + "zod": "^3.22.4" }, "devDependencies": { "@backstage/cli": "workspace:^", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 21dd9fbcdc..5cd513afce 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,60 @@ # @backstage/cli +## 0.25.1-next.0 + +### Patch Changes + +- b6b15b2: Use sha256 instead of md5 in build script cache key calculation + + Makes it possible to build on FIPS nodejs. + +- Updated dependencies + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/cli-node@0.2.1 + - @backstage/config@1.1.1 + - @backstage/config-loader@1.6.0 + - @backstage/errors@1.2.3 + - @backstage/eslint-plugin@0.1.4 + - @backstage/integration@1.8.0 + - @backstage/release-manifests@0.0.11 + - @backstage/types@1.1.1 + +## 0.25.0 + +### Minor Changes + +- 3834067: Updates the ESLint config to ignore issues created by generated files in `**/src/generated/**`. + +### Patch Changes + +- 32018ff: Enable the `tsx` loader to work on Node 18.19 and up +- 0ffee55: Toned down the warning message when git is not found +- c6f3743: Added a warning when starting a standalone backend plugin that hasn't been updated to the new backend system. +- 3e358b0: Added deprecation warning for React Router v6 beta, please make sure you have migrated your apps to use React Router v6 stable as support for the beta version will be removed. See the [migration tutorial](https://backstage.io/docs/tutorials/react-router-stable-migration) for more information. +- 219d7f0: Updating template generation for scaffolder module +- 8cda3c7: Tweaked Node.js version check for when to use the new module register API with the new backend `package start` command. +- a3edc18: Updated dependency `vite-plugin-node-polyfills` to `^0.17.0`. +- 627554e: Updated dependency `@rollup/plugin-node-resolve` to `^15.0.0`. +- c07cee5: Updated dependency `@rollup/plugin-json` to `^6.0.0`. +- bd586a5: Updated dependency `bfj` to `^8.0.0`. +- 8056425: Updated dependency `@typescript-eslint/eslint-plugin` to `6.12.0`. +- 017c425: Updated dependency `@typescript-eslint/eslint-plugin` to `6.11.0`. +- 2565cc8: Updated dependency `@rollup/plugin-commonjs` to `^25.0.0`. +- 33e96e5: Switched the `@typescript-eslint/eslint-plugin` dependency back to using a `^` version range. +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/eslint-plugin@0.1.4 + - @backstage/config-loader@1.6.0 + - @backstage/integration@1.8.0 + - @backstage/cli-node@0.2.1 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/release-manifests@0.0.11 + - @backstage/types@1.1.1 + ## 0.25.0-next.3 ### Patch Changes diff --git a/packages/cli/config/jest.js b/packages/cli/config/jest.js index 4a8bf9694f..584a31c672 100644 --- a/packages/cli/config/jest.js +++ b/packages/cli/config/jest.js @@ -219,7 +219,7 @@ async function getProjectConfig(targetPath, extraConfig) { // If no explicit id was configured, generated one based on the configuration. if (!config.id) { const configHash = crypto - .createHash('md5') + .createHash('sha256') .update(version) .update(Buffer.alloc(1)) .update(JSON.stringify(config.transform)) diff --git a/packages/cli/config/jestSucraseTransform.js b/packages/cli/config/jestSucraseTransform.js index 64e7307cab..349b6a1d58 100644 --- a/packages/cli/config/jestSucraseTransform.js +++ b/packages/cli/config/jestSucraseTransform.js @@ -70,7 +70,7 @@ function createTransformer(config) { }; const getCacheKey = sourceText => { - return createHash('md5') + return createHash('sha256') .update(sourceText) .update(Buffer.alloc(1)) .update(sucrasePkg.version) diff --git a/packages/cli/config/jestYamlTransform.js b/packages/cli/config/jestYamlTransform.js index 1235f8a4b7..84d1d9838c 100644 --- a/packages/cli/config/jestYamlTransform.js +++ b/packages/cli/config/jestYamlTransform.js @@ -25,7 +25,7 @@ function createTransformer(config) { const getCacheKey = sourceText => { return crypto - .createHash('md5') + .createHash('sha256') .update(sourceText) .update(Buffer.alloc(1)) .update(JSON.stringify(config)) diff --git a/packages/cli/package.json b/packages/cli/package.json index db457689b0..1ee718a00d 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.25.0-next.3", + "version": "0.25.1-next.0", "publishConfig": { "access": "public" }, @@ -138,7 +138,7 @@ "yaml": "^2.0.0", "yml-loader": "^2.1.0", "yn": "^4.0.0", - "zod": "^3.21.4" + "zod": "^3.22.4" }, "devDependencies": { "@backstage/backend-common": "workspace:^", diff --git a/packages/config-loader/CHANGELOG.md b/packages/config-loader/CHANGELOG.md index d5526dd62e..7e613998ae 100644 --- a/packages/config-loader/CHANGELOG.md +++ b/packages/config-loader/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/config-loader +## 1.6.0 + +### Minor Changes + +- 24f5a85: Add "path" to `TransformFunc` context + +### Patch Changes + +- Updated dependencies + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 1.6.0-next.0 ### Minor Changes diff --git a/packages/config-loader/package.json b/packages/config-loader/package.json index e908afa6a1..4f0c488c9f 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.6.0-next.0", + "version": "1.6.0", "publishConfig": { "access": "public", "main": "dist/index.cjs.js", diff --git a/packages/core-app-api/CHANGELOG.md b/packages/core-app-api/CHANGELOG.md index 2a0e26c1e7..66d807f8aa 100644 --- a/packages/core-app-api/CHANGELOG.md +++ b/packages/core-app-api/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/core-app-api +## 1.11.2 + +### Patch Changes + +- 3e358b0: Added deprecation warning for React Router v6 beta, please make sure you have migrated your apps to use React Router v6 stable as support for the beta version will be removed. See the [migration tutorial](https://backstage.io/docs/tutorials/react-router-stable-migration) for more information. +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + ## 1.11.2-next.1 ### Patch Changes diff --git a/packages/core-app-api/package.json b/packages/core-app-api/package.json index b18f31eb4f..46d604d685 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.11.2-next.1", + "version": "1.11.2", "publishConfig": { "access": "public" }, @@ -54,7 +54,7 @@ "prop-types": "^15.7.2", "react-use": "^17.2.4", "zen-observable": "^0.10.0", - "zod": "^3.21.4" + "zod": "^3.22.4" }, "peerDependencies": { "react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/packages/core-compat-api/CHANGELOG.md b/packages/core-compat-api/CHANGELOG.md index 0b2370aa09..286b580e64 100644 --- a/packages/core-compat-api/CHANGELOG.md +++ b/packages/core-compat-api/CHANGELOG.md @@ -1,5 +1,38 @@ # @backstage/core-compat-api +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/version-bridge@1.0.7 + +## 0.1.0 + +### Minor Changes + +- cf5cc4c: Discover plugins and routes recursively beneath the root routes in `collectLecacyRoutes` +- af7bc3e: Switched all core extensions to instead use the namespace `'app'`. +- f63dd72: The `collectLegacyRoutes` has been removed and is replaced by `convertLegacyApp` now being able to convert a `FlatRoutes` element directly. + +### Patch Changes + +- 03d0b6d: Added `convertLegacyRouteRef` utility to convert existing route refs to be used with the new experimental packages. +- a379243: Leverage the new `FrontendFeature` type to simplify interfaces +- 8226442: Added `compatWrapper`, which can be used to wrap any React element to provide bi-directional interoperability between the `@backstage/core-*-api` and `@backstage/frontend-*-api` APIs. +- 8f5d6c1: Updates to match the new extension input wrapping. +- c219b16: Made package public so it can be published +- b7adf24: Delete alpha DI compatibility helper for components, migrating components should be simple without a helper. +- 046e443: Updates for compatibility with the new extension IDs. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-app-api@1.11.2 + - @backstage/version-bridge@1.0.7 + ## 0.1.0-next.3 ### Patch Changes diff --git a/packages/core-compat-api/package.json b/packages/core-compat-api/package.json index 6c202642cd..6c1671066e 100644 --- a/packages/core-compat-api/package.json +++ b/packages/core-compat-api/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/core-compat-api", - "version": "0.1.0-next.3", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/core-compat-api/src/collectLegacyRoutes.test.tsx b/packages/core-compat-api/src/collectLegacyRoutes.test.tsx index 862ef68bb5..ed6807514d 100644 --- a/packages/core-compat-api/src/collectLegacyRoutes.test.tsx +++ b/packages/core-compat-api/src/collectLegacyRoutes.test.tsx @@ -60,13 +60,13 @@ describe('collectLegacyRoutes', () => { extensions: [ { id: 'page:score-card', - attachTo: { id: 'core/routes', input: 'routes' }, + attachTo: { id: 'app/routes', input: 'routes' }, disabled: false, defaultConfig: { path: 'score-board' }, }, { id: 'api:plugin.scoringdata.service', - attachTo: { id: 'core', input: 'apis' }, + attachTo: { id: 'app', input: 'apis' }, disabled: false, }, ], @@ -76,13 +76,13 @@ describe('collectLegacyRoutes', () => { extensions: [ { id: 'page:stackstorm', - attachTo: { id: 'core/routes', input: 'routes' }, + attachTo: { id: 'app/routes', input: 'routes' }, disabled: false, defaultConfig: { path: 'stackstorm' }, }, { id: 'api:plugin.stackstorm.service', - attachTo: { id: 'core', input: 'apis' }, + attachTo: { id: 'app', input: 'apis' }, disabled: false, }, ], @@ -92,19 +92,19 @@ describe('collectLegacyRoutes', () => { extensions: [ { id: 'page:puppetDb', - attachTo: { id: 'core/routes', input: 'routes' }, + attachTo: { id: 'app/routes', input: 'routes' }, disabled: false, defaultConfig: { path: 'puppetdb' }, }, { id: 'page:puppetDb/1', - attachTo: { id: 'core/routes', input: 'routes' }, + attachTo: { id: 'app/routes', input: 'routes' }, disabled: false, defaultConfig: { path: 'puppetdb' }, }, { id: 'api:plugin.puppetdb.service', - attachTo: { id: 'core', input: 'apis' }, + attachTo: { id: 'app', input: 'apis' }, disabled: false, }, ], @@ -163,13 +163,13 @@ describe('collectLegacyRoutes', () => { extensions: [ { id: 'page:catalog', - attachTo: { id: 'core/routes', input: 'routes' }, + attachTo: { id: 'app/routes', input: 'routes' }, disabled: false, defaultConfig: { path: 'catalog' }, }, { id: 'page:catalog/1', - attachTo: { id: 'core/routes', input: 'routes' }, + attachTo: { id: 'app/routes', input: 'routes' }, defaultConfig: { path: 'catalog/:namespace/:kind/:name' }, disabled: false, }, @@ -203,7 +203,7 @@ describe('collectLegacyRoutes', () => { { id: 'api:plugin.catalog.service', attachTo: { - id: 'core', + id: 'app', input: 'apis', }, defaultConfig: undefined, @@ -212,7 +212,7 @@ describe('collectLegacyRoutes', () => { { id: 'api:catalog-react.starred-entities', attachTo: { - id: 'core', + id: 'app', input: 'apis', }, defaultConfig: undefined, @@ -221,7 +221,7 @@ describe('collectLegacyRoutes', () => { { id: 'api:plugin.catalog.entity-presentation', attachTo: { - id: 'core', + id: 'app', input: 'apis', }, defaultConfig: undefined, @@ -234,7 +234,7 @@ describe('collectLegacyRoutes', () => { extensions: [ { id: 'api:plugin.scoringdata.service', - attachTo: { id: 'core', input: 'apis' }, + attachTo: { id: 'app', input: 'apis' }, disabled: false, }, ], diff --git a/packages/core-compat-api/src/convertLegacyApp.test.tsx b/packages/core-compat-api/src/convertLegacyApp.test.tsx index a8d6cb2dbc..ef65603c85 100644 --- a/packages/core-compat-api/src/convertLegacyApp.test.tsx +++ b/packages/core-compat-api/src/convertLegacyApp.test.tsx @@ -60,13 +60,13 @@ describe('convertLegacyApp', () => { extensions: [ { id: 'page:score-card', - attachTo: { id: 'core/routes', input: 'routes' }, + attachTo: { id: 'app/routes', input: 'routes' }, disabled: false, defaultConfig: { path: 'score-board' }, }, { id: 'api:plugin.scoringdata.service', - attachTo: { id: 'core', input: 'apis' }, + attachTo: { id: 'app', input: 'apis' }, disabled: false, }, ], @@ -76,13 +76,13 @@ describe('convertLegacyApp', () => { extensions: [ { id: 'page:stackstorm', - attachTo: { id: 'core/routes', input: 'routes' }, + attachTo: { id: 'app/routes', input: 'routes' }, disabled: false, defaultConfig: { path: 'stackstorm' }, }, { id: 'api:plugin.stackstorm.service', - attachTo: { id: 'core', input: 'apis' }, + attachTo: { id: 'app', input: 'apis' }, disabled: false, }, ], @@ -92,19 +92,19 @@ describe('convertLegacyApp', () => { extensions: [ { id: 'page:puppetDb', - attachTo: { id: 'core/routes', input: 'routes' }, + attachTo: { id: 'app/routes', input: 'routes' }, disabled: false, defaultConfig: { path: 'puppetdb' }, }, { id: 'page:puppetDb/1', - attachTo: { id: 'core/routes', input: 'routes' }, + attachTo: { id: 'app/routes', input: 'routes' }, disabled: false, defaultConfig: { path: 'puppetdb' }, }, { id: 'api:plugin.puppetdb.service', - attachTo: { id: 'core', input: 'apis' }, + attachTo: { id: 'app', input: 'apis' }, disabled: false, }, ], @@ -113,13 +113,13 @@ describe('convertLegacyApp', () => { id: undefined, extensions: [ { - id: 'core/layout', - attachTo: { id: 'core', input: 'root' }, + id: 'app/layout', + attachTo: { id: 'app', input: 'root' }, disabled: false, }, { - id: 'core/nav', - attachTo: { id: 'core/layout', input: 'nav' }, + id: 'app/nav', + attachTo: { id: 'app/layout', input: 'nav' }, disabled: true, }, ], diff --git a/packages/core-compat-api/src/convertLegacyApp.ts b/packages/core-compat-api/src/convertLegacyApp.ts index 593a159875..72ce4b5e61 100644 --- a/packages/core-compat-api/src/convertLegacyApp.ts +++ b/packages/core-compat-api/src/convertLegacyApp.ts @@ -103,9 +103,9 @@ export function convertLegacyApp( const [routesEl] = routesEls; const CoreLayoutOverride = createExtension({ - namespace: 'core', + namespace: 'app', name: 'layout', - attachTo: { id: 'core', input: 'root' }, + attachTo: { id: 'app', input: 'root' }, inputs: { content: createExtensionInput( { @@ -129,9 +129,9 @@ export function convertLegacyApp( }, }); const CoreNavOverride = createExtension({ - namespace: 'core', + namespace: 'app', name: 'nav', - attachTo: { id: 'core/layout', input: 'nav' }, + attachTo: { id: 'app/layout', input: 'nav' }, output: {}, factory: () => ({}), disabled: true, diff --git a/packages/core-components/CHANGELOG.md b/packages/core-components/CHANGELOG.md index 4a41ad44e8..aeb7067ede 100644 --- a/packages/core-components/CHANGELOG.md +++ b/packages/core-components/CHANGELOG.md @@ -1,5 +1,38 @@ # @backstage/core-components +## 0.13.10-next.0 + +### Patch Changes + +- d625f66: Fixed bug in Link where it was possible to select and copy a hidden element into clipboard +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/theme@0.5.0 + - @backstage/version-bridge@1.0.7 + +## 0.13.9 + +### Patch Changes + +- e8f2ace: Added a new `/testUtils` sub-path that initially exports a `mockBreakpoint` helper. +- 381ed86: Add missing export for IconLinkVertical +- 5c8a3e3: Minor improvements to `Table` component. +- 752df93: Fixes a problem where the `LogViewer` was not able to handle very large logs +- 4d9e3b3: Register component overrides in the global `OverrideComponentNameToClassKeys` provided by `@backstage/theme`. This will in turn will provide component style override types for `createUnifiedTheme`. +- 07dfdf3: Updated dependency `linkifyjs` to `4.1.3`. +- a518c5a: Updated dependency `@react-hookz/web` to `^23.0.0`. +- f291757: Update `linkify-react` to version `4.1.3` +- 175d86b: Fixed an issue where the `onChange` prop within `HeaderTabs` was triggering twice upon tab-switching. +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/version-bridge@1.0.7 + ## 0.13.9-next.3 ### Patch Changes diff --git a/packages/core-components/package.json b/packages/core-components/package.json index 00303a4278..854f815ae5 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.13.9-next.3", + "version": "0.13.10-next.0", "publishConfig": { "access": "public" }, @@ -86,7 +86,7 @@ "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", - "zod": "^3.21.4" + "zod": "^3.22.4" }, "peerDependencies": { "react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/packages/core-components/src/components/Link/Link.tsx b/packages/core-components/src/components/Link/Link.tsx index 4d58fdfa77..e957390da8 100644 --- a/packages/core-components/src/components/Link/Link.tsx +++ b/packages/core-components/src/components/Link/Link.tsx @@ -42,6 +42,7 @@ const useStyles = makeStyles( clipPath: 'inset(50%)', overflow: 'hidden', position: 'absolute', + userSelect: 'none', whiteSpace: 'nowrap', height: 1, width: 1, diff --git a/packages/core-components/src/components/LogViewer/AnsiProcessor.ts b/packages/core-components/src/components/LogViewer/AnsiProcessor.ts index d0f835a70e..bcd5af7ced 100644 --- a/packages/core-components/src/components/LogViewer/AnsiProcessor.ts +++ b/packages/core-components/src/components/LogViewer/AnsiProcessor.ts @@ -117,7 +117,7 @@ export class AnsiProcessor { return this.lines; } - if (text.startsWith(this.text)) { + if (this.text && text.startsWith(this.text)) { const lastLineIndex = this.lines.length > 0 ? this.lines.length - 1 : 0; const lastLine = this.lines[lastLineIndex] ?? new AnsiLine(); const lastChunk = lastLine.lastChunk(); @@ -130,7 +130,7 @@ export class AnsiProcessor { lastLine.replaceLastChunk(newLines[0]?.chunks); this.lines[lastLineIndex] = lastLine; - this.lines.push(...newLines.slice(1)); + this.lines = this.lines.concat(newLines.slice(1)); } else { this.lines = this.processLines(text); } diff --git a/packages/core-plugin-api/CHANGELOG.md b/packages/core-plugin-api/CHANGELOG.md index eab6b0519b..b2e81e6656 100644 --- a/packages/core-plugin-api/CHANGELOG.md +++ b/packages/core-plugin-api/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/core-plugin-api +## 1.8.1 + +### Patch Changes + +- 03d0b6d: Removed the alpha `convertLegacyRouteRef` utility, which as been moved to `@backstage/core-compat-api` +- 0c93dc3: The `createTranslationRef` function from the `/alpha` subpath can now also accept a nested object structure of default translation messages, which will be flatted using `.` separators. +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + ## 1.8.1-next.1 ### Patch Changes diff --git a/packages/core-plugin-api/package.json b/packages/core-plugin-api/package.json index 3b0bc1f34b..71a6b741fc 100644 --- a/packages/core-plugin-api/package.json +++ b/packages/core-plugin-api/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/core-plugin-api", "description": "Core API used by Backstage plugins", - "version": "1.8.1-next.1", + "version": "1.8.1", "publishConfig": { "access": "public" }, diff --git a/packages/create-app/CHANGELOG.md b/packages/create-app/CHANGELOG.md index 21ee7c0d62..5d2c3bd2fc 100644 --- a/packages/create-app/CHANGELOG.md +++ b/packages/create-app/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/create-app +## 0.5.9-next.0 + +### Patch Changes + +- Bumped create-app version. +- Updated dependencies + - @backstage/cli-common@0.1.13 + +## 0.5.8 + +### Patch Changes + +- 8ece804: Bumped create-app version. +- 0351e09: Bumped create-app version. +- 3f1192f: Bumped create-app version. +- a96c2d4: Include the `` for group entities by default +- 375b6f7: CircelCI plugin moved permanently +- Updated dependencies + - @backstage/cli-common@0.1.13 + ## 0.5.8-next.4 ### Patch Changes diff --git a/packages/create-app/package.json b/packages/create-app/package.json index 8b85108c67..e0a379afcf 100644 --- a/packages/create-app/package.json +++ b/packages/create-app/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/create-app", "description": "A CLI that helps you create your own Backstage app", - "version": "0.5.8-next.4", + "version": "0.5.9-next.0", "publishConfig": { "access": "public" }, diff --git a/packages/dev-utils/CHANGELOG.md b/packages/dev-utils/CHANGELOG.md index ead755b1f1..ef3d35de84 100644 --- a/packages/dev-utils/CHANGELOG.md +++ b/packages/dev-utils/CHANGELOG.md @@ -1,5 +1,33 @@ # @backstage/dev-utils +## 1.0.26-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/app-defaults@1.4.7-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + +## 1.0.25 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/core-app-api@1.11.2 + - @backstage/app-defaults@1.4.6 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + ## 1.0.25-next.3 ### Patch Changes diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index aeb13a6576..575b61962c 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.25-next.3", + "version": "1.0.26-next.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/packages/e2e-test/CHANGELOG.md b/packages/e2e-test/CHANGELOG.md index cba3bedfe2..1467ec4a4c 100644 --- a/packages/e2e-test/CHANGELOG.md +++ b/packages/e2e-test/CHANGELOG.md @@ -1,5 +1,23 @@ # e2e-test +## 0.2.11-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/create-app@0.5.9-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + +## 0.2.10 + +### Patch Changes + +- Updated dependencies + - @backstage/create-app@0.5.8 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + ## 0.2.10-next.4 ### Patch Changes diff --git a/packages/e2e-test/package.json b/packages/e2e-test/package.json index f578c0f620..6c16c63a48 100644 --- a/packages/e2e-test/package.json +++ b/packages/e2e-test/package.json @@ -1,7 +1,7 @@ { "name": "e2e-test", "description": "E2E test for verifying Backstage packages", - "version": "0.2.10-next.4", + "version": "0.2.11-next.0", "private": true, "backstage": { "role": "cli" diff --git a/packages/eslint-plugin/CHANGELOG.md b/packages/eslint-plugin/CHANGELOG.md index 6335f22f3c..dd931378ef 100644 --- a/packages/eslint-plugin/CHANGELOG.md +++ b/packages/eslint-plugin/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/eslint-plugin +## 0.1.4 + +### Patch Changes + +- 107dc46: The `no-undeclared-imports` rule will now prefer using version queries that already exist en the repo for the same dependency type when installing new packages. + ## 0.1.4-next.0 ### Patch Changes diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 656ec78580..a0825c8816 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/eslint-plugin", "description": "Backstage ESLint plugin", - "version": "0.1.4-next.0", + "version": "0.1.4", "publishConfig": { "access": "public" }, diff --git a/packages/frontend-app-api/CHANGELOG.md b/packages/frontend-app-api/CHANGELOG.md index 847afe6cc6..3d1405ef1e 100644 --- a/packages/frontend-app-api/CHANGELOG.md +++ b/packages/frontend-app-api/CHANGELOG.md @@ -1,5 +1,61 @@ # @backstage/frontend-app-api +## 0.4.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/config@1.1.1 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## 0.4.0 + +### Minor Changes + +- e539735: Updated core extension structure to make space for the sign-in page by adding `core.router`. +- 44735df: Removed `featureLoader` from `createApp`, `features` instead accepts both `FrontendFeature` and `CreateAppFeatureLoader` +- af7bc3e: Switched all core extensions to instead use the namespace `'app'`. +- ea06590: The app no longer provides the `AppContext` from `@backstage/core-plugin-api`. Components that require this context to be available should use the `compatWrapper` helper from `@backstage/core-compat-api`. + +### Patch Changes + +- 5eb6b8a: Added the nav logo extension for customization of sidebar logo +- aeb8008: Add support for translation extensions. +- 1f12fb7: Create a core components extension that allows adopters to override core app components such as `Progress`, `BootErrorPage`, `NotFoundErrorPage` and `ErrorBoundaryFallback`. +- a379243: Leverage the new `FrontendFeature` type to simplify interfaces +- 60d6eb5: Removed `@backstage/plugin-graphiql` dependency. +- b7adf24: Use the new plugin type for error boundary components. +- 5970928: Collect and register feature flags from plugins and extension overrides. +- 9ad4039: Bringing over apis from core-plugin-api +- 8f5d6c1: Updates to match the new extension input wrapping. +- c35036b: A `configLoader` passed to `createApp` now returns an object, to make room for future expansion +- f27ee7d: Migrate analytics route tracker component. +- b8cb780: Added `createSpecializedApp`, which is a synchronous version of `createApp` where config and features already need to be loaded. +- c36e0b9: Renamed `AppRouteBinder` to `CreateAppRouteBinder` +- cb4197a: Forward ` node`` instead of `extensionId` to resolved extension inputs. +- 8837a96: Updates to match the introduction of `ExtensionDefinition` and new extension ID naming patterns. +- a5a0473: Updates to provide `node` to extension factories instead of `id` and `source`. +- 5cdf2b3: Updated usage of `Extension` and `ExtensionDefinition` as they are now opaque. +- f9ef632: Updates to match the new `coreExtensionData` structure. +- f1183b7: Renamed the `component` option of `createComponentExtension` to `loader`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/core-app-api@1.11.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + ## 0.4.0-next.3 ### Patch Changes diff --git a/packages/frontend-app-api/package.json b/packages/frontend-app-api/package.json index db4dc931f2..e7ab46e885 100644 --- a/packages/frontend-app-api/package.json +++ b/packages/frontend-app-api/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/frontend-app-api", - "version": "0.4.0-next.3", + "version": "0.4.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/frontend-app-api/src/extensions/Core.tsx b/packages/frontend-app-api/src/extensions/Core.tsx index 99780e231c..ea722ce862 100644 --- a/packages/frontend-app-api/src/extensions/Core.tsx +++ b/packages/frontend-app-api/src/extensions/Core.tsx @@ -25,7 +25,7 @@ import { } from '@backstage/frontend-plugin-api'; export const Core = createExtension({ - namespace: 'core', + namespace: 'app', attachTo: { id: 'root', input: 'default' }, // ignored inputs: { apis: createExtensionInput({ diff --git a/packages/frontend-app-api/src/extensions/CoreLayout.tsx b/packages/frontend-app-api/src/extensions/CoreLayout.tsx index e4f86256f2..2d65dff73a 100644 --- a/packages/frontend-app-api/src/extensions/CoreLayout.tsx +++ b/packages/frontend-app-api/src/extensions/CoreLayout.tsx @@ -23,9 +23,9 @@ import { import { SidebarPage } from '@backstage/core-components'; export const CoreLayout = createExtension({ - namespace: 'core', + namespace: 'app', name: 'layout', - attachTo: { id: 'core/router', input: 'children' }, + attachTo: { id: 'app/router', input: 'children' }, inputs: { nav: createExtensionInput( { diff --git a/packages/frontend-app-api/src/extensions/CoreNav.tsx b/packages/frontend-app-api/src/extensions/CoreNav.tsx index 12e6b08989..9c0ac5e85a 100644 --- a/packages/frontend-app-api/src/extensions/CoreNav.tsx +++ b/packages/frontend-app-api/src/extensions/CoreNav.tsx @@ -79,9 +79,9 @@ const SidebarNavItem = ( }; export const CoreNav = createExtension({ - namespace: 'core', + namespace: 'app', name: 'nav', - attachTo: { id: 'core/layout', input: 'nav' }, + attachTo: { id: 'app/layout', input: 'nav' }, inputs: { items: createExtensionInput({ target: createNavItemExtension.targetDataRef, diff --git a/packages/frontend-app-api/src/extensions/CoreRouter.tsx b/packages/frontend-app-api/src/extensions/CoreRouter.tsx index 3abb7756bc..5c823c2e60 100644 --- a/packages/frontend-app-api/src/extensions/CoreRouter.tsx +++ b/packages/frontend-app-api/src/extensions/CoreRouter.tsx @@ -35,9 +35,9 @@ import { BrowserRouter } from 'react-router-dom'; import { RouteTracker } from '../routing/RouteTracker'; export const CoreRouter = createExtension({ - namespace: 'core', + namespace: 'app', name: 'router', - attachTo: { id: 'core', input: 'root' }, + attachTo: { id: 'app', input: 'root' }, inputs: { signInPage: createExtensionInput( { diff --git a/packages/frontend-app-api/src/extensions/CoreRoutes.tsx b/packages/frontend-app-api/src/extensions/CoreRoutes.tsx index 155a5b60fa..d66c857f3b 100644 --- a/packages/frontend-app-api/src/extensions/CoreRoutes.tsx +++ b/packages/frontend-app-api/src/extensions/CoreRoutes.tsx @@ -25,9 +25,9 @@ import { import { useRoutes } from 'react-router-dom'; export const CoreRoutes = createExtension({ - namespace: 'core', + namespace: 'app', name: 'routes', - attachTo: { id: 'core/layout', input: 'content' }, + attachTo: { id: 'app/layout', input: 'content' }, inputs: { routes: createExtensionInput({ path: coreExtensionData.routePath, diff --git a/packages/frontend-app-api/src/routing/extractRouteInfoFromAppNode.test.ts b/packages/frontend-app-api/src/routing/extractRouteInfoFromAppNode.test.ts index f0ce6ac590..1c332b331f 100644 --- a/packages/frontend-app-api/src/routing/extractRouteInfoFromAppNode.test.ts +++ b/packages/frontend-app-api/src/routing/extractRouteInfoFromAppNode.test.ts @@ -49,7 +49,7 @@ function createTestExtension(options: { name: options.name, attachTo: options.parent ? { id: `test/${options.parent}`, input: 'children' } - : { id: 'core/routes', input: 'routes' }, + : { id: 'app/routes', input: 'routes' }, output: { element: coreExtensionData.reactElement, path: coreExtensionData.routePath.optional(), diff --git a/packages/frontend-app-api/src/tree/createAppTree.test.ts b/packages/frontend-app-api/src/tree/createAppTree.test.ts index 15c8ab4750..9ee58fe2d2 100644 --- a/packages/frontend-app-api/src/tree/createAppTree.test.ts +++ b/packages/frontend-app-api/src/tree/createAppTree.test.ts @@ -24,18 +24,18 @@ import { createAppTree } from './createAppTree'; const extBase = { id: 'test', - attachTo: { id: 'core', input: 'root' }, + attachTo: { id: 'app', input: 'root' }, output: {}, factory: () => ({}), }; describe('createAppTree', () => { - it('throws an error when a core extension is parametrized', () => { + it('throws an error when a app extension is parametrized', () => { const config = new MockConfigApi({ app: { extensions: [ { - core: {}, + app: {}, }, ], }, @@ -48,17 +48,17 @@ describe('createAppTree', () => { ]; expect(() => createAppTree({ features, config, builtinExtensions: [] }), - ).toThrow("Configuration of the 'core' extension is forbidden"); + ).toThrow("Configuration of the 'app' extension is forbidden"); }); - it('throws an error when a core extension is overridden', () => { + it('throws an error when a app extension is overridden', () => { const config = new MockConfigApi({}); const features = [ createExtensionOverrides({ extensions: [ createExtension({ - name: 'core', - attachTo: { id: 'core/routes', input: 'route' }, + name: 'app', + attachTo: { id: 'app/routes', input: 'route' }, inputs: {}, output: {}, factory: () => ({}), @@ -69,7 +69,7 @@ describe('createAppTree', () => { expect(() => createAppTree({ features, config, builtinExtensions: [] }), ).toThrow( - "It is forbidden to override the following extension(s): 'core', which is done by one or more extension overrides", + "It is forbidden to override the following extension(s): 'app', which is done by one or more extension overrides", ); }); diff --git a/packages/frontend-app-api/src/tree/createAppTree.ts b/packages/frontend-app-api/src/tree/createAppTree.ts index 0f8ce09138..12c7f7fc3a 100644 --- a/packages/frontend-app-api/src/tree/createAppTree.ts +++ b/packages/frontend-app-api/src/tree/createAppTree.ts @@ -32,12 +32,12 @@ export interface CreateAppTreeOptions { /** @internal */ export function createAppTree(options: CreateAppTreeOptions): AppTree { const tree = resolveAppTree( - 'core', + 'app', resolveAppNodeSpecs({ features: options.features, builtinExtensions: options.builtinExtensions, parameters: readAppExtensionsConfig(options.config), - forbidden: new Set(['core']), + forbidden: new Set(['app']), }), ); instantiateAppNodeTree(tree.root); diff --git a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts index 49f6203ce4..7855b87df2 100644 --- a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts +++ b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts @@ -37,7 +37,7 @@ const inputMirrorDataRef = createExtensionDataRef('mirror'); const simpleExtension = resolveExtensionDefinition( createExtension({ - namespace: 'core', + namespace: 'app', name: 'test', attachTo: { id: 'ignored', input: 'ignored' }, output: { @@ -256,7 +256,7 @@ describe('createAppNodeInstance', () => { node: makeNode( resolveExtensionDefinition( createExtension({ - namespace: 'core', + namespace: 'app', name: 'test', attachTo: { id: 'ignored', input: 'ignored' }, inputs: { @@ -300,17 +300,17 @@ describe('createAppNodeInstance', () => { expect(Array.from(instance.getDataRefs())).toEqual([inputMirrorDataRef]); expect(instance.getData(inputMirrorDataRef)).toMatchObject({ optionalSingletonPresent: { - node: { spec: { id: 'core/test' } }, + node: { spec: { id: 'app/test' } }, output: { test: 'optionalSingletonPresent' }, }, singleton: { - node: { spec: { id: 'core/test' } }, + node: { spec: { id: 'app/test' } }, output: { test: 'singleton', other: 2 }, }, many: [ - { node: { spec: { id: 'core/test' } }, output: { test: 'many1' } }, + { node: { spec: { id: 'app/test' } }, output: { test: 'many1' } }, { - node: { spec: { id: 'core/test' } }, + node: { spec: { id: 'app/test' } }, output: { test: 'many2', other: 3 }, }, ], @@ -324,7 +324,7 @@ describe('createAppNodeInstance', () => { attachments: new Map(), }), ).toThrow( - "Invalid configuration for extension 'core/test'; caused by Error: Expected number, received string at 'other'", + "Invalid configuration for extension 'app/test'; caused by Error: Expected number, received string at 'other'", ); }); @@ -334,7 +334,7 @@ describe('createAppNodeInstance', () => { node: makeNode( resolveExtensionDefinition( createExtension({ - namespace: 'core', + namespace: 'app', name: 'test', attachTo: { id: 'ignored', input: 'ignored' }, output: {}, @@ -349,7 +349,7 @@ describe('createAppNodeInstance', () => { attachments: new Map(), }), ).toThrow( - "Failed to instantiate extension 'core/test'; caused by NopeError: NOPE", + "Failed to instantiate extension 'app/test'; caused by NopeError: NOPE", ); }); @@ -359,7 +359,7 @@ describe('createAppNodeInstance', () => { node: makeNode( resolveExtensionDefinition( createExtension({ - namespace: 'core', + namespace: 'app', name: 'test', attachTo: { id: 'ignored', input: 'ignored' }, output: { @@ -375,7 +375,7 @@ describe('createAppNodeInstance', () => { attachments: new Map(), }), ).toThrow( - "Failed to instantiate extension 'core/test', duplicate extension data 'test' received via output 'test2'", + "Failed to instantiate extension 'app/test', duplicate extension data 'test' received via output 'test2'", ); }); @@ -385,7 +385,7 @@ describe('createAppNodeInstance', () => { node: makeNode( resolveExtensionDefinition( createExtension({ - namespace: 'core', + namespace: 'app', name: 'test', attachTo: { id: 'ignored', input: 'ignored' }, output: { @@ -400,7 +400,7 @@ describe('createAppNodeInstance', () => { attachments: new Map(), }), ).toThrow( - "Failed to instantiate extension 'core/test', unknown output provided via 'nonexistent'", + "Failed to instantiate extension 'app/test', unknown output provided via 'nonexistent'", ); }); @@ -410,7 +410,7 @@ describe('createAppNodeInstance', () => { node: makeNode( resolveExtensionDefinition( createExtension({ - namespace: 'core', + namespace: 'app', name: 'test', attachTo: { id: 'ignored', input: 'ignored' }, inputs: { @@ -429,7 +429,7 @@ describe('createAppNodeInstance', () => { attachments: new Map(), }), ).toThrow( - "Failed to instantiate extension 'core/test', input 'singleton' is required but was not received", + "Failed to instantiate extension 'app/test', input 'singleton' is required but was not received", ); }); @@ -457,7 +457,7 @@ describe('createAppNodeInstance', () => { node: makeNode( resolveExtensionDefinition( createExtension({ - namespace: 'core', + namespace: 'app', name: 'test', attachTo: { id: 'ignored', input: 'ignored' }, inputs: { @@ -472,7 +472,7 @@ describe('createAppNodeInstance', () => { ), }), ).toThrow( - "Failed to instantiate extension 'core/test', received undeclared input 'undeclared' from extension 'core/test'", + "Failed to instantiate extension 'app/test', received undeclared input 'undeclared' from extension 'app/test'", ); }); @@ -495,7 +495,7 @@ describe('createAppNodeInstance', () => { node: makeNode( resolveExtensionDefinition( createExtension({ - namespace: 'core', + namespace: 'app', name: 'test', attachTo: { id: 'ignored', input: 'ignored' }, output: {}, @@ -505,7 +505,7 @@ describe('createAppNodeInstance', () => { ), }), ).toThrow( - "Failed to instantiate extension 'core/test', received undeclared inputs 'undeclared1' from extension 'core/test' and 'undeclared2' from extensions 'core/test', 'core/test'", + "Failed to instantiate extension 'app/test', received undeclared inputs 'undeclared1' from extension 'app/test' and 'undeclared2' from extensions 'app/test', 'app/test'", ); }); @@ -524,7 +524,7 @@ describe('createAppNodeInstance', () => { node: makeNode( resolveExtensionDefinition( createExtension({ - namespace: 'core', + namespace: 'app', name: 'test', attachTo: { id: 'ignored', input: 'ignored' }, inputs: { @@ -542,7 +542,7 @@ describe('createAppNodeInstance', () => { ), }), ).toThrow( - "Failed to instantiate extension 'core/test', expected exactly one 'singleton' input but received multiple: 'core/test', 'core/test'", + "Failed to instantiate extension 'app/test', expected exactly one 'singleton' input but received multiple: 'app/test', 'app/test'", ); }); @@ -561,7 +561,7 @@ describe('createAppNodeInstance', () => { node: makeNode( resolveExtensionDefinition( createExtension({ - namespace: 'core', + namespace: 'app', name: 'test', attachTo: { id: 'ignored', input: 'ignored' }, inputs: { @@ -579,7 +579,7 @@ describe('createAppNodeInstance', () => { ), }), ).toThrow( - "Failed to instantiate extension 'core/test', expected at most one 'singleton' input but received multiple: 'core/test', 'core/test'", + "Failed to instantiate extension 'app/test', expected at most one 'singleton' input but received multiple: 'app/test', 'app/test'", ); }); @@ -592,7 +592,7 @@ describe('createAppNodeInstance', () => { node: makeNode( resolveExtensionDefinition( createExtension({ - namespace: 'core', + namespace: 'app', name: 'test', attachTo: { id: 'ignored', input: 'ignored' }, inputs: { @@ -610,7 +610,7 @@ describe('createAppNodeInstance', () => { ), }), ).toThrow( - "Failed to instantiate extension 'core/test', input 'singleton' did not receive required extension data 'other' from extension 'core/test'", + "Failed to instantiate extension 'app/test', input 'singleton' did not receive required extension data 'other' from extension 'app/test'", ); }); }); diff --git a/packages/frontend-app-api/src/tree/readAppExtensionsConfig.test.ts b/packages/frontend-app-api/src/tree/readAppExtensionsConfig.test.ts index 504d5a6197..4531947f9a 100644 --- a/packages/frontend-app-api/src/tree/readAppExtensionsConfig.test.ts +++ b/packages/frontend-app-api/src/tree/readAppExtensionsConfig.test.ts @@ -25,18 +25,18 @@ describe('readAppExtensionsConfig', () => { it('should disable extension with shorthand notation', () => { expect( readAppExtensionsConfig( - new ConfigReader({ app: { extensions: [{ 'core/router': false }] } }), + new ConfigReader({ app: { extensions: [{ 'app/router': false }] } }), ), ).toEqual([ { - id: 'core/router', + id: 'app/router', disabled: true, }, ]); expect( readAppExtensionsConfig( new ConfigReader({ - app: { extensions: [{ 'core/router': { disabled: true } }] }, + app: { extensions: [{ 'app/router': { disabled: true } }] }, }), ), ).toEqual([ @@ -44,7 +44,7 @@ describe('readAppExtensionsConfig', () => { at: undefined, config: undefined, disabled: true, - id: 'core/router', + id: 'app/router', }, ]); }); @@ -52,33 +52,33 @@ describe('readAppExtensionsConfig', () => { it('should enable extension with shorthand notation', () => { expect( readAppExtensionsConfig( - new ConfigReader({ app: { extensions: ['core/router'] } }), + new ConfigReader({ app: { extensions: ['app/router'] } }), ), ).toEqual([ { - id: 'core/router', + id: 'app/router', disabled: false, }, ]); expect( readAppExtensionsConfig( - new ConfigReader({ app: { extensions: [{ 'core/router': true }] } }), + new ConfigReader({ app: { extensions: [{ 'app/router': true }] } }), ), ).toEqual([ { - id: 'core/router', + id: 'app/router', disabled: false, }, ]); expect( readAppExtensionsConfig( new ConfigReader({ - app: { extensions: [{ 'core/router': { disabled: false } }] }, + app: { extensions: [{ 'app/router': { disabled: false } }] }, }), ), ).toEqual([ { - id: 'core/router', + id: 'app/router', disabled: false, }, ]); @@ -89,12 +89,12 @@ describe('readAppExtensionsConfig', () => { readAppExtensionsConfig( new ConfigReader({ app: { - extensions: [{ 'core/router': 'some-string' }], + extensions: [{ 'app/router': 'some-string' }], }, }), ), ).toThrow( - 'Invalid extension configuration at app.extensions[0][core/router], value must be a boolean or object', + 'Invalid extension configuration at app.extensions[0][app/router], value must be a boolean or object', ); }); @@ -156,8 +156,8 @@ describe('expandShorthandExtensionParameters', () => { }); it('supports string key', () => { - expect(run('core/router')).toEqual({ - id: 'core/router', + expect(run('app/router')).toEqual({ + id: 'app/router', disabled: false, }); expect(() => run('')).toThrowErrorMatchingInlineSnapshot( @@ -170,96 +170,96 @@ describe('expandShorthandExtensionParameters', () => { it('supports null value', () => { // this is the result of typing: - // - core/router: + // - app/router: // The missing value is interpreted as null by the yaml parser so we deal with that - expect(run({ 'core/router': null })).toEqual({ - id: 'core/router', + expect(run({ 'app/router': null })).toEqual({ + id: 'app/router', disabled: false, }); }); it('supports boolean value', () => { - expect(run({ 'core/router': true })).toEqual({ - id: 'core/router', + expect(run({ 'app/router': true })).toEqual({ + id: 'app/router', disabled: false, }); - expect(run({ 'core/router': false })).toEqual({ - id: 'core/router', + expect(run({ 'app/router': false })).toEqual({ + id: 'app/router', disabled: true, }); }); it('should not support string values', () => { expect(() => - run({ 'core/router': 'example-package#MyRouter' }), + run({ 'app/router': 'example-package#MyRouter' }), ).toThrowErrorMatchingInlineSnapshot( - `"Invalid extension configuration at app.extensions[1][core/router], value must be a boolean or object"`, + `"Invalid extension configuration at app.extensions[1][app/router], value must be a boolean or object"`, ); }); it('supports object id only in the key', () => { expect(() => - run({ 'core/router': { id: 'some.id' } }), + run({ 'app/router': { id: 'some.id' } }), ).toThrowErrorMatchingInlineSnapshot( - `"Invalid extension configuration at app.extensions[1][core/router].id, unknown parameter; expected one of 'attachTo', 'disabled', 'config'"`, + `"Invalid extension configuration at app.extensions[1][app/router].id, unknown parameter; expected one of 'attachTo', 'disabled', 'config'"`, ); }); it('supports object attachTo', () => { expect( run({ - 'core/router': { attachTo: { id: 'other.root', input: 'inputs' } }, + 'app/router': { attachTo: { id: 'other.root', input: 'inputs' } }, }), ).toEqual({ - id: 'core/router', + id: 'app/router', attachTo: { id: 'other.root', input: 'inputs' }, }); expect(() => run({ - 'core/router': { + 'app/router': { id: 'other-id', }, }), ).toThrowErrorMatchingInlineSnapshot( - `"Invalid extension configuration at app.extensions[1][core/router].id, unknown parameter; expected one of 'attachTo', 'disabled', 'config'"`, + `"Invalid extension configuration at app.extensions[1][app/router].id, unknown parameter; expected one of 'attachTo', 'disabled', 'config'"`, ); }); it('supports object disabled', () => { - expect(run({ 'core/router': { disabled: true } })).toEqual({ - id: 'core/router', + expect(run({ 'app/router': { disabled: true } })).toEqual({ + id: 'app/router', disabled: true, }); - expect(run({ 'core/router': { disabled: false } })).toEqual({ - id: 'core/router', + expect(run({ 'app/router': { disabled: false } })).toEqual({ + id: 'app/router', disabled: false, }); expect(() => - run({ 'core/router': { disabled: 0 } }), + run({ 'app/router': { disabled: 0 } }), ).toThrowErrorMatchingInlineSnapshot( - `"Invalid extension configuration at app.extensions[1][core/router].disabled, must be a boolean"`, + `"Invalid extension configuration at app.extensions[1][app/router].disabled, must be a boolean"`, ); }); it('supports object config', () => { expect( - run({ 'core/router': { config: { disableRedirects: true } } }), + run({ 'app/router': { config: { disableRedirects: true } } }), ).toEqual({ - id: 'core/router', + id: 'app/router', config: { disableRedirects: true }, }); expect(() => - run({ 'core/router': { config: 0 } }), + run({ 'app/router': { config: 0 } }), ).toThrowErrorMatchingInlineSnapshot( - `"Invalid extension configuration at app.extensions[1][core/router].config, must be an object"`, + `"Invalid extension configuration at app.extensions[1][app/router].config, must be an object"`, ); }); it('rejects unknown object keys', () => { expect(() => - run({ 'core/router': { foo: { settings: true } } }), + run({ 'app/router': { foo: { settings: true } } }), ).toThrowErrorMatchingInlineSnapshot( - `"Invalid extension configuration at app.extensions[1][core/router].foo, unknown parameter; expected one of 'attachTo', 'disabled', 'config'"`, + `"Invalid extension configuration at app.extensions[1][app/router].foo, unknown parameter; expected one of 'attachTo', 'disabled', 'config'"`, ); }); }); diff --git a/packages/frontend-app-api/src/tree/resolveAppTree.test.ts b/packages/frontend-app-api/src/tree/resolveAppTree.test.ts index 4fca671554..f964fceb50 100644 --- a/packages/frontend-app-api/src/tree/resolveAppTree.test.ts +++ b/packages/frontend-app-api/src/tree/resolveAppTree.test.ts @@ -36,19 +36,19 @@ const baseSpec = { describe('buildAppTree', () => { it('should fail to create an empty tree', () => { - expect(() => resolveAppTree('core', [])).toThrow( - "No root node with id 'core' found in app tree", + expect(() => resolveAppTree('app', [])).toThrow( + "No root node with id 'app' found in app tree", ); }); it('should create a tree with only one node', () => { - const tree = resolveAppTree('core', [{ ...baseSpec, id: 'core' }]); + const tree = resolveAppTree('app', [{ ...baseSpec, id: 'app' }]); expect(tree.root).toEqual({ - spec: { ...baseSpec, id: 'core' }, + spec: { ...baseSpec, id: 'app' }, edges: { attachments: new Map() }, }); expect(Array.from(tree.orphans)).toEqual([]); - expect(Array.from(tree.nodes.keys())).toEqual(['core']); + expect(Array.from(tree.nodes.keys())).toEqual(['app']); }); it('should create a tree', () => { @@ -159,7 +159,7 @@ describe('buildAppTree', () => { it('throws an error when duplicated extensions are detected', () => { expect(() => - resolveAppTree('core', [ + resolveAppTree('app', [ { ...baseSpec, id: 'a' }, { ...baseSpec, id: 'a' }, ]), diff --git a/packages/frontend-app-api/src/wiring/createApp.test.tsx b/packages/frontend-app-api/src/wiring/createApp.test.tsx index dc39ab3ae5..d5a206e7fb 100644 --- a/packages/frontend-app-api/src/wiring/createApp.test.tsx +++ b/packages/frontend-app-api/src/wiring/createApp.test.tsx @@ -169,7 +169,7 @@ describe('createApp', () => { extensions: [ createExtension({ name: 'first', - attachTo: { id: 'core', input: 'root' }, + attachTo: { id: 'app', input: 'root' }, output: { element: coreExtensionData.reactElement }, factory() { const Component = () => { @@ -193,9 +193,9 @@ describe('createApp', () => { featureFlags: [{ name: 'test-2' }], extensions: [ createExtension({ - namespace: 'core', + namespace: 'app', name: 'router', - attachTo: { id: 'core', input: 'root' }, + attachTo: { id: 'app', input: 'root' }, disabled: true, output: {}, factory: () => ({}), @@ -242,24 +242,24 @@ describe('createApp', () => { const { tree } = appTreeApi!.getTree(); expect(String(tree.root)).toMatchInlineSnapshot(` - " + " root [ - + children [ - + content [ - + routes [ ] - + ] nav [ - + ] - + ] - + ] components [ @@ -270,7 +270,26 @@ describe('createApp', () => { ] - " + apis [ + + + + + + + + + + + + + + + + + + ] + " `); }); }); diff --git a/packages/frontend-app-api/src/wiring/createApp.tsx b/packages/frontend-app-api/src/wiring/createApp.tsx index 572e88e647..09a7034ffb 100644 --- a/packages/frontend-app-api/src/wiring/createApp.tsx +++ b/packages/frontend-app-api/src/wiring/createApp.tsx @@ -103,6 +103,8 @@ import { toInternalExtensionOverrides } from '../../../frontend-plugin-api/src/w import { DefaultComponentsApi } from '../apis/implementations/ComponentsApi'; import { stringifyError } from '@backstage/errors'; +const DefaultApis = defaultApis.map(factory => createApiExtension({ factory })); + export const builtinExtensions = [ Core, CoreRouter, @@ -114,6 +116,7 @@ export const builtinExtensions = [ DefaultNotFoundErrorPageComponent, LightTheme, DarkTheme, + ...DefaultApis, ].map(def => resolveExtensionDefinition(def)); /** @public */ @@ -169,7 +172,7 @@ export function createExtensionTree(options: { ); }, getRootRoutes(): JSX.Element[] { - return this.getExtensionAttachments('core/routes', 'routes').map(node => { + return this.getExtensionAttachments('app/routes', 'routes').map(node => { const path = node.getData(coreExtensionData.routePath); const element = node.getData(coreExtensionData.reactElement); const routeRef = node.getData(coreExtensionData.routeRef); @@ -196,7 +199,7 @@ export function createExtensionTree(options: { ); }; - return this.getExtensionAttachments('core/nav', 'items') + return this.getExtensionAttachments('app/nav', 'items') .map((node, index) => { const target = node.getData(createNavItemExtension.targetDataRef); if (!target) { @@ -418,7 +421,7 @@ function createApiHolder( (x): x is typeof createTranslationExtension.translationDataRef.T => !!x, ) ?? []; - for (const factory of [...defaultApis, ...pluginApis]) { + for (const factory of pluginApis) { factoryRegistry.register('default', factory); } @@ -496,15 +499,6 @@ function createApiHolder( }), }); - // TODO: ship these as default extensions instead - for (const factory of defaultApis as AnyApiFactory[]) { - if (!factoryRegistry.register('app', factory)) { - throw new Error( - `Duplicate or forbidden API factory for ${factory.api} in app`, - ); - } - } - ApiResolver.validateFactories(factoryRegistry, factoryRegistry.getAllApis()); return new ApiResolver(factoryRegistry); diff --git a/packages/frontend-plugin-api/CHANGELOG.md b/packages/frontend-plugin-api/CHANGELOG.md index 53c7605bed..b19e2880f4 100644 --- a/packages/frontend-plugin-api/CHANGELOG.md +++ b/packages/frontend-plugin-api/CHANGELOG.md @@ -1,5 +1,50 @@ # @backstage/frontend-plugin-api +## 0.4.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## 0.4.0 + +### Minor Changes + +- af7bc3e: Switched all core extensions to instead use the namespace `'app'`. +- 5cdf2b3: Changed `Extension` and `ExtensionDefinition` to use opaque types. +- 8f5d6c1: Extension inputs are now wrapped into an additional object when passed to the extension factory, with the previous values being available at the `output` property. The `ExtensionInputValues` type has also been replaced by `ResolvedExtensionInputs`. +- 8837a96: **BREAKING**: This version changes how extensions are created and how their IDs are determined. The `createExtension` function now accepts `kind`, `namespace` and `name` instead of `id`. All of the new options are optional, and are used to construct the final extension ID. By convention extension creators should set the `kind` to match their own name, for example `createNavItemExtension` sets the kind `nav-item`. + + The `createExtension` function as well as all extension creators now also return an `ExtensionDefinition` rather than an `Extension`, which in turn needs to be passed to `createPlugin` or `createExtensionOverrides` to be used. + +- f9ef632: Moved several extension data references from `coreExtensionData` to their respective extension creators. +- a5a0473: The extension `factory` function now longer receives `id` or `source`, but instead now provides the extension's `AppNode` as `node`. The `ExtensionBoundary` component has also been updated to receive a `node` prop rather than `id` and `source`. + +### Patch Changes + +- a379243: Add the `FrontendFeature` type, which is the union of `BackstagePlugin` and `ExtensionOverrides` +- b7adf24: Update alpha component ref type to be more specific than any, delete boot page component and use new plugin type for error boundary component extensions. +- 5eb6b8a: Added the nav logo extension for customization of sidebar logo +- 1f12fb7: Create factories for overriding default core components extensions. +- 5970928: Add feature flags to plugins and extension overrides. +- e539735: Added `createSignInPageExtension`. +- 73246ec: Added translation APIs as well as `createTranslationExtension`. +- cb4197a: Forward ` node`` instead of `extensionId` to resolved extension inputs. +- f27ee7d: Migrate analytics api and context files. +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- f1183b7: Renamed the `component` option of `createComponentExtension` to `loader`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + ## 0.4.0-next.3 ### Patch Changes diff --git a/packages/frontend-plugin-api/package.json b/packages/frontend-plugin-api/package.json index ce294a4d13..e2a75f32f0 100644 --- a/packages/frontend-plugin-api/package.json +++ b/packages/frontend-plugin-api/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/frontend-plugin-api", - "version": "0.4.0-next.3", + "version": "0.4.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -39,7 +39,6 @@ "react-router-dom": "6.0.0-beta.0 || ^6.3.0" }, "dependencies": { - "@backstage/config": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/types": "workspace:^", @@ -47,7 +46,7 @@ "@material-ui/core": "^4.12.4", "@types/react": "^16.13.1 || ^17.0.0", "lodash": "^4.17.21", - "zod": "^3.21.4", + "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4" } } diff --git a/packages/frontend-plugin-api/src/components/ExtensionBoundary.test.tsx b/packages/frontend-plugin-api/src/components/ExtensionBoundary.test.tsx index 669335d577..66fb3901fc 100644 --- a/packages/frontend-plugin-api/src/components/ExtensionBoundary.test.tsx +++ b/packages/frontend-plugin-api/src/components/ExtensionBoundary.test.tsx @@ -27,7 +27,7 @@ const wrapInBoundaryExtension = (element: JSX.Element) => { const routeRef = createRouteRef(); return createExtension({ name: 'test', - attachTo: { id: 'core/routes', input: 'routes' }, + attachTo: { id: 'app/routes', input: 'routes' }, output: { element: coreExtensionData.reactElement, path: coreExtensionData.routePath, diff --git a/packages/frontend-plugin-api/src/extensions/createApiExtension.test.ts b/packages/frontend-plugin-api/src/extensions/createApiExtension.test.ts index d3bd84bc7f..0636d0d79d 100644 --- a/packages/frontend-plugin-api/src/extensions/createApiExtension.test.ts +++ b/packages/frontend-plugin-api/src/extensions/createApiExtension.test.ts @@ -35,7 +35,7 @@ describe('createApiExtension', () => { version: 'v1', kind: 'api', namespace: 'test', - attachTo: { id: 'core', input: 'apis' }, + attachTo: { id: 'app', input: 'apis' }, disabled: false, configSchema: undefined, inputs: {}, @@ -71,7 +71,7 @@ describe('createApiExtension', () => { version: 'v1', kind: 'api', namespace: 'test', - attachTo: { id: 'core', input: 'apis' }, + attachTo: { id: 'app', input: 'apis' }, disabled: false, configSchema: undefined, inputs: {}, diff --git a/packages/frontend-plugin-api/src/extensions/createApiExtension.ts b/packages/frontend-plugin-api/src/extensions/createApiExtension.ts index e941c4f2a0..1680332960 100644 --- a/packages/frontend-plugin-api/src/extensions/createApiExtension.ts +++ b/packages/frontend-plugin-api/src/extensions/createApiExtension.ts @@ -55,7 +55,7 @@ export function createApiExtension< // Since ApiRef IDs use a global namespace we use the namespace here in order to override // potential plugin IDs and always end up with the format `api:` namespace: apiRef.id, - attachTo: { id: 'core', input: 'apis' }, + attachTo: { id: 'app', input: 'apis' }, inputs: extensionInputs, configSchema, output: { diff --git a/packages/frontend-plugin-api/src/extensions/createComponentExtension.tsx b/packages/frontend-plugin-api/src/extensions/createComponentExtension.tsx index 175b37b144..2efa106750 100644 --- a/packages/frontend-plugin-api/src/extensions/createComponentExtension.tsx +++ b/packages/frontend-plugin-api/src/extensions/createComponentExtension.tsx @@ -54,7 +54,7 @@ export function createComponentExtension< kind: 'component', namespace: options.ref.id, name: options.name, - attachTo: { id: 'core', input: 'components' }, + attachTo: { id: 'app', input: 'components' }, inputs: options.inputs, disabled: options.disabled, configSchema: options.configSchema, diff --git a/packages/frontend-plugin-api/src/extensions/createNavItemExtension.tsx b/packages/frontend-plugin-api/src/extensions/createNavItemExtension.tsx index d2062c74c5..4b92d4dace 100644 --- a/packages/frontend-plugin-api/src/extensions/createNavItemExtension.tsx +++ b/packages/frontend-plugin-api/src/extensions/createNavItemExtension.tsx @@ -35,7 +35,7 @@ export function createNavItemExtension(options: { namespace, name, kind: 'nav-item', - attachTo: { id: 'core/nav', input: 'items' }, + attachTo: { id: 'app/nav', input: 'items' }, configSchema: createSchemaFromZod(z => z.object({ title: z.string().default(title), diff --git a/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.test.tsx b/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.test.tsx index 265b381094..90e1448448 100644 --- a/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.test.tsx +++ b/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.test.tsx @@ -34,7 +34,7 @@ describe('createNavLogoExtension', () => { version: 'v1', kind: 'nav-logo', name: 'test', - attachTo: { id: 'core/nav', input: 'logos' }, + attachTo: { id: 'app/nav', input: 'logos' }, disabled: false, inputs: {}, output: { diff --git a/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.tsx b/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.tsx index 8e2454ddc3..3d66b26d6b 100644 --- a/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.tsx +++ b/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.tsx @@ -31,7 +31,7 @@ export function createNavLogoExtension(options: { kind: 'nav-logo', name: options?.name, namespace: options?.namespace, - attachTo: { id: 'core/nav', input: 'logos' }, + attachTo: { id: 'app/nav', input: 'logos' }, output: { logos: createNavLogoExtension.logoElementsDataRef, }, diff --git a/packages/frontend-plugin-api/src/extensions/createPageExtension.test.tsx b/packages/frontend-plugin-api/src/extensions/createPageExtension.test.tsx index 28f74d544c..2de72296ac 100644 --- a/packages/frontend-plugin-api/src/extensions/createPageExtension.test.tsx +++ b/packages/frontend-plugin-api/src/extensions/createPageExtension.test.tsx @@ -45,7 +45,7 @@ describe('createPageExtension', () => { version: 'v1', name: 'test', kind: 'page', - attachTo: { id: 'core/routes', input: 'routes' }, + attachTo: { id: 'app/routes', input: 'routes' }, configSchema: expect.anything(), disabled: false, inputs: {}, @@ -102,7 +102,7 @@ describe('createPageExtension', () => { version: 'v1', name: 'test', kind: 'page', - attachTo: { id: 'core/routes', input: 'routes' }, + attachTo: { id: 'app/routes', input: 'routes' }, configSchema: expect.anything(), disabled: false, inputs: {}, diff --git a/packages/frontend-plugin-api/src/extensions/createPageExtension.tsx b/packages/frontend-plugin-api/src/extensions/createPageExtension.tsx index 3b936ef210..dfe549f32b 100644 --- a/packages/frontend-plugin-api/src/extensions/createPageExtension.tsx +++ b/packages/frontend-plugin-api/src/extensions/createPageExtension.tsx @@ -67,7 +67,7 @@ export function createPageExtension< kind: 'page', namespace: options.namespace, name: options.name, - attachTo: options.attachTo ?? { id: 'core/routes', input: 'routes' }, + attachTo: options.attachTo ?? { id: 'app/routes', input: 'routes' }, configSchema, inputs: options.inputs, disabled: options.disabled, diff --git a/packages/frontend-plugin-api/src/extensions/createSignInPageExtension.tsx b/packages/frontend-plugin-api/src/extensions/createSignInPageExtension.tsx index ee993b1bc0..543a5447ad 100644 --- a/packages/frontend-plugin-api/src/extensions/createSignInPageExtension.tsx +++ b/packages/frontend-plugin-api/src/extensions/createSignInPageExtension.tsx @@ -50,7 +50,7 @@ export function createSignInPageExtension< kind: 'sign-in-page', namespace: options?.namespace, name: options?.name, - attachTo: options.attachTo ?? { id: 'core/router', input: 'signInPage' }, + attachTo: options.attachTo ?? { id: 'app/router', input: 'signInPage' }, configSchema: options.configSchema, inputs: options.inputs, disabled: options.disabled, diff --git a/packages/frontend-plugin-api/src/extensions/createThemeExtension.ts b/packages/frontend-plugin-api/src/extensions/createThemeExtension.ts index dd6c2f742f..cc6dbdabe9 100644 --- a/packages/frontend-plugin-api/src/extensions/createThemeExtension.ts +++ b/packages/frontend-plugin-api/src/extensions/createThemeExtension.ts @@ -23,7 +23,7 @@ export function createThemeExtension(theme: AppTheme) { kind: 'theme', namespace: 'app', name: theme.id, - attachTo: { id: 'core', input: 'themes' }, + attachTo: { id: 'app', input: 'themes' }, output: { theme: createThemeExtension.themeDataRef, }, diff --git a/packages/frontend-plugin-api/src/extensions/createTranslationExtension.test.ts b/packages/frontend-plugin-api/src/extensions/createTranslationExtension.test.ts index ea57fdbc8f..3712da7185 100644 --- a/packages/frontend-plugin-api/src/extensions/createTranslationExtension.test.ts +++ b/packages/frontend-plugin-api/src/extensions/createTranslationExtension.test.ts @@ -44,7 +44,7 @@ describe('createTranslationExtension', () => { version: 'v1', kind: 'translation', namespace: 'test', - attachTo: { id: 'core', input: 'translations' }, + attachTo: { id: 'app', input: 'translations' }, disabled: false, inputs: {}, output: { @@ -81,7 +81,7 @@ describe('createTranslationExtension', () => { version: 'v1', kind: 'translation', namespace: 'test', - attachTo: { id: 'core', input: 'translations' }, + attachTo: { id: 'app', input: 'translations' }, disabled: false, inputs: {}, output: { @@ -119,7 +119,7 @@ describe('createTranslationExtension', () => { kind: 'translation', namespace: 'test', name: 'sv', - attachTo: { id: 'core', input: 'translations' }, + attachTo: { id: 'app', input: 'translations' }, disabled: false, inputs: {}, output: { diff --git a/packages/frontend-plugin-api/src/extensions/createTranslationExtension.ts b/packages/frontend-plugin-api/src/extensions/createTranslationExtension.ts index 3db29cdeb5..8497a64b88 100644 --- a/packages/frontend-plugin-api/src/extensions/createTranslationExtension.ts +++ b/packages/frontend-plugin-api/src/extensions/createTranslationExtension.ts @@ -26,7 +26,7 @@ export function createTranslationExtension(options: { kind: 'translation', namespace: options.resource.id, name: options.name, - attachTo: { id: 'core', input: 'translations' }, + attachTo: { id: 'app', input: 'translations' }, output: { resource: createTranslationExtension.translationDataRef, }, diff --git a/packages/frontend-plugin-api/src/wiring/createExtensionOverrides.test.ts b/packages/frontend-plugin-api/src/wiring/createExtensionOverrides.test.ts index 6f5f19e29e..de2d2f9a92 100644 --- a/packages/frontend-plugin-api/src/wiring/createExtensionOverrides.test.ts +++ b/packages/frontend-plugin-api/src/wiring/createExtensionOverrides.test.ts @@ -38,13 +38,13 @@ describe('createExtensionOverrides', () => { extensions: [ createExtension({ name: 'a', - attachTo: { id: 'core', input: 'apis' }, + attachTo: { id: 'app', input: 'apis' }, output: {}, factory: () => ({}), }), createExtension({ namespace: 'b', - attachTo: { id: 'core', input: 'apis' }, + attachTo: { id: 'app', input: 'apis' }, output: {}, factory: () => ({}), }), @@ -52,7 +52,7 @@ describe('createExtensionOverrides', () => { kind: 'k', namespace: 'c', name: 'n', - attachTo: { id: 'core', input: 'apis' }, + attachTo: { id: 'app', input: 'apis' }, output: {}, factory: () => ({}), }), @@ -65,7 +65,7 @@ describe('createExtensionOverrides', () => { { "$$type": "@backstage/Extension", "attachTo": { - "id": "core", + "id": "app", "input": "apis", }, "configSchema": undefined, @@ -79,7 +79,7 @@ describe('createExtensionOverrides', () => { { "$$type": "@backstage/Extension", "attachTo": { - "id": "core", + "id": "app", "input": "apis", }, "configSchema": undefined, @@ -93,7 +93,7 @@ describe('createExtensionOverrides', () => { { "$$type": "@backstage/Extension", "attachTo": { - "id": "core", + "id": "app", "input": "apis", }, "configSchema": undefined, @@ -116,7 +116,7 @@ describe('createExtensionOverrides', () => { extensions: [ createExtension({ namespace: 'a', - attachTo: { id: 'core', input: 'apis' }, + attachTo: { id: 'app', input: 'apis' }, output: {}, factory: () => ({}), }), diff --git a/packages/frontend-plugin-api/src/wiring/createPlugin.test.ts b/packages/frontend-plugin-api/src/wiring/createPlugin.test.ts index c7f31eb60d..cb02048bdc 100644 --- a/packages/frontend-plugin-api/src/wiring/createPlugin.test.ts +++ b/packages/frontend-plugin-api/src/wiring/createPlugin.test.ts @@ -102,7 +102,7 @@ const Child2 = createExtension({ const outputExtension = createExtension({ name: 'output', - attachTo: { id: 'core', input: 'root' }, + attachTo: { id: 'app', input: 'root' }, inputs: { names: createExtensionInput({ name: nameExtensionDataRef, @@ -150,7 +150,7 @@ describe('createPlugin', () => { await renderWithEffects( createTestAppRoot({ features: [plugin], - config: { app: { extensions: [{ 'core/router': false }] } }, + config: { app: { extensions: [{ 'app/router': false }] } }, }), ); @@ -172,7 +172,7 @@ describe('createPlugin', () => { config: { app: { extensions: [ - { 'core/router': false }, + { 'app/router': false }, { 'test/2': { config: { name: 'extension-2-renamed' }, @@ -210,7 +210,7 @@ describe('createPlugin', () => { features: [plugin], config: { app: { - extensions: [{ 'core/router': false }], + extensions: [{ 'app/router': false }], }, }, }), diff --git a/packages/frontend-test-utils/CHANGELOG.md b/packages/frontend-test-utils/CHANGELOG.md index 74d48c4a9b..0796bea45e 100644 --- a/packages/frontend-test-utils/CHANGELOG.md +++ b/packages/frontend-test-utils/CHANGELOG.md @@ -1,5 +1,36 @@ # @backstage/frontend-test-utils +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/frontend-app-api@0.4.1-next.0 + - @backstage/test-utils@1.4.7-next.0 + - @backstage/types@1.1.1 + +## 0.1.0 + +### Minor Changes + +- 59fabd5: New testing utility library for `@backstage/frontend-app-api` and `@backstage/frontend-plugin-api`. +- af7bc3e: Switched all core extensions to instead use the namespace `'app'`. + +### Patch Changes + +- 59fabd5: Added `createExtensionTester` for rendering extensions in tests. +- 7e4b0db: The `createExtensionTester` helper is now able to render more than one route in the test app. +- 818eea4: Updates for compatibility with the new extension IDs. +- b9aa6e4: Migrate `renderInTestApp` to `@backstage/frontend-test-utils` for testing individual React components in an app. +- e539735: Updates for `core.router` addition. +- c21c9cf: Re-export mock API implementations as well as `TestApiProvider`, `TestApiRegistry`, `withLogCollector`, and `setupRequestMockHandlers` from `@backstage/test-utils`. +- Updated dependencies + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/frontend-app-api@0.4.0 + - @backstage/test-utils@1.4.6 + - @backstage/types@1.1.1 + ## 0.1.0-next.3 ### Patch Changes diff --git a/packages/frontend-test-utils/api-report.md b/packages/frontend-test-utils/api-report.md index 36fc5e30b6..d67518050d 100644 --- a/packages/frontend-test-utils/api-report.md +++ b/packages/frontend-test-utils/api-report.md @@ -5,10 +5,11 @@ ```ts /// +import { AnalyticsApi } from '@backstage/frontend-plugin-api'; +import { AnalyticsEvent } from '@backstage/frontend-plugin-api'; import { ErrorWithContext } from '@backstage/test-utils'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; import { JsonObject } from '@backstage/types'; -import { MockAnalyticsApi } from '@backstage/test-utils'; import { MockConfigApi } from '@backstage/test-utils'; import { MockErrorApi } from '@backstage/test-utils'; import { MockErrorApiOptions } from '@backstage/test-utils'; @@ -47,7 +48,13 @@ export class ExtensionTester { render(options?: { config?: JsonObject }): RenderResult; } -export { MockAnalyticsApi }; +// @public +export class MockAnalyticsApi implements AnalyticsApi { + // (undocumented) + captureEvent(event: AnalyticsEvent): void; + // (undocumented) + getEvents(): AnalyticsEvent[]; +} export { MockConfigApi }; diff --git a/packages/frontend-test-utils/package.json b/packages/frontend-test-utils/package.json index cdf2bc14a0..1205f2825b 100644 --- a/packages/frontend-test-utils/package.json +++ b/packages/frontend-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/frontend-test-utils", - "version": "0.1.0-next.3", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -24,7 +24,8 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@testing-library/jest-dom": "^6.0.0" + "@testing-library/jest-dom": "^6.0.0", + "@types/react": "*" }, "files": [ "dist" @@ -37,6 +38,7 @@ }, "peerDependencies": { "@testing-library/react": "^12.1.3 || ^13.0.0 || ^14.0.0", - "react": "^16.13.1 || ^17.0.0 || ^18.0.0" + "react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-router-dom": "6.0.0-beta.0 || ^6.3.0" } } diff --git a/packages/frontend-test-utils/src/apis/AnalyticsApi/MockAnalyticsApi.test.ts b/packages/frontend-test-utils/src/apis/AnalyticsApi/MockAnalyticsApi.test.ts new file mode 100644 index 0000000000..a84ffd91aa --- /dev/null +++ b/packages/frontend-test-utils/src/apis/AnalyticsApi/MockAnalyticsApi.test.ts @@ -0,0 +1,64 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { MockAnalyticsApi } from './MockAnalyticsApi'; + +describe('MockAnalyticsApi', () => { + const context = { + pluginId: 'some-plugin', + extensionId: 'some-extension', + }; + + it('should collect events', () => { + const api = new MockAnalyticsApi(); + + api.captureEvent({ action: 'action-1', subject: 'subject-1', context }); + api.captureEvent({ + action: 'action-2', + subject: 'subject-2', + value: 42, + context, + }); + api.captureEvent({ + action: 'action-3', + subject: 'subject-3', + value: 1337, + attributes: { some: 'context' }, + context, + }); + + expect(api.getEvents()[0]).toMatchObject({ + subject: 'subject-1', + action: 'action-1', + context, + }); + expect(api.getEvents()[1]).toMatchObject({ + subject: 'subject-2', + action: 'action-2', + value: 42, + context, + }); + expect(api.getEvents()[2]).toMatchObject({ + subject: 'subject-3', + action: 'action-3', + value: 1337, + context, + attributes: { + some: 'context', + }, + }); + }); +}); diff --git a/packages/frontend-test-utils/src/apis/AnalyticsApi/MockAnalyticsApi.ts b/packages/frontend-test-utils/src/apis/AnalyticsApi/MockAnalyticsApi.ts new file mode 100644 index 0000000000..f6ccf4e9d1 --- /dev/null +++ b/packages/frontend-test-utils/src/apis/AnalyticsApi/MockAnalyticsApi.ts @@ -0,0 +1,43 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AnalyticsApi, AnalyticsEvent } from '@backstage/frontend-plugin-api'; + +/** + * Mock implementation of {@link frontend-plugin-api#AnalyticsApi} with helpers to ensure that events are sent correctly. + * Use getEvents in tests to verify captured events. + * + * @public + */ +export class MockAnalyticsApi implements AnalyticsApi { + private events: AnalyticsEvent[] = []; + + captureEvent(event: AnalyticsEvent) { + const { action, subject, value, attributes, context } = event; + + this.events.push({ + action, + subject, + context, + ...(value !== undefined ? { value } : {}), + ...(attributes !== undefined ? { attributes } : {}), + }); + } + + getEvents(): AnalyticsEvent[] { + return this.events; + } +} diff --git a/packages/frontend-test-utils/src/apis/AnalyticsApi/index.ts b/packages/frontend-test-utils/src/apis/AnalyticsApi/index.ts new file mode 100644 index 0000000000..dc5fd062aa --- /dev/null +++ b/packages/frontend-test-utils/src/apis/AnalyticsApi/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { MockAnalyticsApi } from './MockAnalyticsApi'; diff --git a/packages/frontend-test-utils/src/apis/index.ts b/packages/frontend-test-utils/src/apis/index.ts index 81bd8a7abd..1230be9be0 100644 --- a/packages/frontend-test-utils/src/apis/index.ts +++ b/packages/frontend-test-utils/src/apis/index.ts @@ -15,7 +15,6 @@ */ export { - MockAnalyticsApi, MockConfigApi, type ErrorWithContext, MockErrorApi, @@ -26,3 +25,5 @@ export { MockStorageApi, type MockStorageBucket, } from '@backstage/test-utils'; + +export { MockAnalyticsApi } from './AnalyticsApi/MockAnalyticsApi'; diff --git a/packages/frontend-test-utils/src/app/createExtensionTester.test.tsx b/packages/frontend-test-utils/src/app/createExtensionTester.test.tsx index e738bee7d1..40baaa3ac9 100644 --- a/packages/frontend-test-utils/src/app/createExtensionTester.test.tsx +++ b/packages/frontend-test-utils/src/app/createExtensionTester.test.tsx @@ -14,55 +14,215 @@ * limitations under the License. */ +import React, { useCallback } from 'react'; +import { Link } from 'react-router-dom'; +import { fireEvent, screen, waitFor } from '@testing-library/react'; import { + analyticsApiRef, + configApiRef, coreExtensionData, + createApiExtension, + createApiFactory, createExtension, + createSchemaFromZod, + useAnalytics, + useApi, } from '@backstage/frontend-plugin-api'; -import { screen } from '@testing-library/react'; -import React from 'react'; +import { MockAnalyticsApi } from '../apis'; import { createExtensionTester } from './createExtensionTester'; describe('createExtensionTester', () => { - it('should render a simple extension', async () => { - createExtensionTester( - createExtension({ - namespace: 'test', - attachTo: { id: 'ignored', input: 'ignored' }, - output: { element: coreExtensionData.reactElement }, - factory: () => ({ element:
test
}), - }), - ).render(); + const defaultDefinition = { + namespace: 'test', + attachTo: { id: 'ignored', input: 'ignored' }, + output: { element: coreExtensionData.reactElement }, + factory: () => ({ element:
test
}), + }; + it('should render a simple extension', async () => { + const extension = createExtension(defaultDefinition); + const tester = createExtensionTester(extension); + tester.render(); await expect(screen.findByText('test')).resolves.toBeInTheDocument(); }); it('should render an extension even if disabled by default', async () => { - createExtensionTester( - createExtension({ - namespace: 'test', - attachTo: { id: 'ignored', input: 'ignored' }, - disabled: true, - output: { element: coreExtensionData.reactElement }, - factory: () => ({ element:
test
}), - }), - ).render(); - + const extension = createExtension({ + ...defaultDefinition, + disabled: true, + }); + const tester = createExtensionTester(extension); + tester.render(); await expect(screen.findByText('test')).resolves.toBeInTheDocument(); }); it("should fail to render an extension that doesn't output a react element", async () => { - expect(() => - createExtensionTester( - createExtension({ - namespace: 'test', - attachTo: { id: 'ignored', input: 'ignored' }, - disabled: true, - output: { path: coreExtensionData.routePath }, - factory: () => ({ path: '/foo' }), - }), - ).render(), - ).toThrow( - "Failed to instantiate extension 'core/router', input 'children' did not receive required extension data 'core.reactElement' from extension 'test'", + const extension = createExtension({ + ...defaultDefinition, + output: { path: coreExtensionData.routePath }, + factory: () => ({ path: '/foo' }), + }); + const tester = createExtensionTester(extension); + expect(() => tester.render()).toThrow( + "Failed to instantiate extension 'app/routes', input 'routes' did not receive required extension data 'core.reactElement' from extension 'test'", + ); + }); + + it('should render multiple extensions', async () => { + const indexPageExtension = createExtension({ + ...defaultDefinition, + factory: () => ({ + element: ( +
+ Index page See details +
+ ), + }), + }); + const detailsPageExtension = createExtension({ + ...defaultDefinition, + name: 'details', + attachTo: { id: 'app/routes', input: 'routes' }, + output: { + path: coreExtensionData.routePath, + element: coreExtensionData.reactElement, + }, + factory: () => ({ path: '/details', element:
Details page
}), + }); + + const tester = createExtensionTester(indexPageExtension); + tester.add(detailsPageExtension); + tester.render(); + + await expect(screen.findByText('Index page')).resolves.toBeInTheDocument(); + + fireEvent.click(screen.getByRole('link', { name: 'See details' })); + + await expect( + screen.findByText('Details page'), + ).resolves.toBeInTheDocument(); + }); + + it('should accepts a custom config', async () => { + const indexPageExtension = createExtension({ + ...defaultDefinition, + configSchema: createSchemaFromZod(z => + z.object({ title: z.string().optional() }), + ), + factory: ({ config }) => { + const Component = () => { + const configApi = useApi(configApiRef); + const appTitle = configApi.getOptionalString('app.title'); + return ( +
+

{appTitle ?? 'Backstafe app'}

+

{config.title ?? 'Index page'}

+ See details +
+ ); + }; + return { + element: , + }; + }, + }); + + const detailsPageExtension = createExtension({ + ...defaultDefinition, + name: 'details', + attachTo: { id: 'app/routes', input: 'routes' }, + configSchema: createSchemaFromZod(z => + z.object({ title: z.string().optional() }), + ), + output: { + path: coreExtensionData.routePath, + element: coreExtensionData.reactElement, + }, + factory: ({ config }) => ({ + path: '/details', + element:
{config.title ?? 'Details page'}
, + }), + }); + + const tester = createExtensionTester(indexPageExtension, { + config: { title: 'Custom index' }, + }); + + tester.add(detailsPageExtension, { + config: { title: 'Custom details' }, + }); + + tester.render({ + config: { + app: { + title: 'Custom app', + }, + }, + }); + + await expect( + screen.findByRole('heading', { name: 'Custom app' }), + ).resolves.toBeInTheDocument(); + + await expect( + screen.findByRole('heading', { name: 'Custom index' }), + ).resolves.toBeInTheDocument(); + + fireEvent.click(screen.getByRole('link', { name: 'See details' })); + + await expect( + screen.findByText('Custom details'), + ).resolves.toBeInTheDocument(); + }); + + it('should capture click events in analytics', async () => { + // Mocking the analytics api implementation + const analyticsApiMock = new MockAnalyticsApi(); + + const analyticsApiOverride = createApiExtension({ + factory: createApiFactory({ + api: analyticsApiRef, + deps: {}, + factory: () => analyticsApiMock, + }), + }); + + const indexPageExtension = createExtension({ + ...defaultDefinition, + factory: () => { + const Component = () => { + const analyticsApi = useAnalytics(); + const handleClick = useCallback(() => { + analyticsApi.captureEvent('click', 'See details'); + }, [analyticsApi]); + return ( +
+ Index Page + +
+ ); + }; + + return { + element: , + }; + }, + }); + + const tester = createExtensionTester(indexPageExtension); + + // Overriding the analytics api extension + tester.add(analyticsApiOverride); + + tester.render(); + + fireEvent.click(await screen.findByRole('button', { name: 'See details' })); + + await waitFor(() => + expect(analyticsApiMock.getEvents()[0]).toMatchObject({ + action: 'click', + subject: 'See details', + }), ); }); }); diff --git a/packages/frontend-test-utils/src/app/createExtensionTester.ts b/packages/frontend-test-utils/src/app/createExtensionTester.ts deleted file mode 100644 index 257a47439c..0000000000 --- a/packages/frontend-test-utils/src/app/createExtensionTester.ts +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright 2023 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { createSpecializedApp } from '@backstage/frontend-app-api'; -import { - ExtensionDefinition, - createExtensionOverrides, -} from '@backstage/frontend-plugin-api'; -// eslint-disable-next-line @backstage/no-relative-monorepo-imports -import { resolveExtensionDefinition } from '../../../frontend-plugin-api/src/wiring/resolveExtensionDefinition'; -import { MockConfigApi } from '@backstage/test-utils'; -import { JsonArray, JsonObject, JsonValue } from '@backstage/types'; -import { RenderResult, render } from '@testing-library/react'; - -/** @public */ -export class ExtensionTester { - /** @internal */ - static forSubject( - subject: ExtensionDefinition, - options?: { config?: TConfig }, - ): ExtensionTester { - const tester = new ExtensionTester(); - tester.add(subject, options); - return tester; - } - - readonly #extensions = new Array<{ - id: string; - extension: ExtensionDefinition; - config?: JsonValue; - }>(); - - add( - extension: ExtensionDefinition, - options?: { config?: TConfig }, - ): ExtensionTester { - const withNamespace = { - ...extension, - name: !extension.namespace && !extension.name ? 'test' : extension.name, - }; - this.#extensions.push({ - id: resolveExtensionDefinition(withNamespace).id, - extension: withNamespace, - config: options?.config as JsonValue, - }); - - return this; - } - - render(options?: { config?: JsonObject }): RenderResult { - const { config = {} } = options ?? {}; - - const [subject, ...rest] = this.#extensions; - if (!subject) { - throw new Error( - 'No subject found. At least one extension should be added to the tester.', - ); - } - - const extensionsConfig: JsonArray = [ - ...rest.map(entry => ({ - [entry.id]: { - config: entry.config, - }, - })), - { - [subject.id]: { - attachTo: { id: 'core/router', input: 'children' }, - config: subject.config, - disabled: false, - }, - }, - { - 'core/layout': false, - }, - { - 'core/nav': false, - }, - { - 'core/routes': false, - }, - ]; - - const finalConfig = { - ...config, - app: { - ...(typeof config.app === 'object' ? config.app : undefined), - extensions: extensionsConfig, - }, - }; - - const app = createSpecializedApp({ - features: [ - createExtensionOverrides({ - extensions: this.#extensions.map(entry => entry.extension), - }), - ], - config: new MockConfigApi(finalConfig), - }); - - return render(app.createRoot()); - } -} - -/** @public */ -export function createExtensionTester( - subject: ExtensionDefinition, - options?: { config?: TConfig }, -): ExtensionTester { - return ExtensionTester.forSubject(subject, options); -} diff --git a/packages/frontend-test-utils/src/app/createExtensionTester.tsx b/packages/frontend-test-utils/src/app/createExtensionTester.tsx new file mode 100644 index 0000000000..aae2e5ed32 --- /dev/null +++ b/packages/frontend-test-utils/src/app/createExtensionTester.tsx @@ -0,0 +1,299 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React, { ComponentType, ReactNode, useContext, useState } from 'react'; +import { MemoryRouter, Link } from 'react-router-dom'; +import { RenderResult, render } from '@testing-library/react'; +import { createSpecializedApp } from '@backstage/frontend-app-api'; +import { + ExtensionDefinition, + IconComponent, + IdentityApi, + RouteRef, + configApiRef, + coreExtensionData, + createExtension, + createExtensionInput, + createExtensionOverrides, + createNavItemExtension, + useApi, + useRouteRef, +} from '@backstage/frontend-plugin-api'; +import { MockConfigApi } from '@backstage/test-utils'; +import { JsonArray, JsonObject, JsonValue } from '@backstage/types'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { resolveExtensionDefinition } from '../../../frontend-plugin-api/src/wiring/resolveExtensionDefinition'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { createSignInPageExtension } from '../../../frontend-plugin-api/src/extensions/createSignInPageExtension'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { toInternalExtensionDefinition } from '../../../frontend-plugin-api/src/wiring/createExtension'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { InternalAppContext } from '../../../frontend-app-api/src/wiring/InternalAppContext'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { SignInPageProps } from '../../../core-plugin-api'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { getBasePath } from '../../../core-app-api/src/app/AppRouter'; + +const NavItem = (props: { + routeRef: RouteRef; + title: string; + icon: IconComponent; +}) => { + const { routeRef, title, icon: Icon } = props; + const to = useRouteRef(routeRef)(); + return ( +
  • + + {title} + +
  • + ); +}; + +const TestCoreNavExtension = createExtension({ + namespace: 'app', + name: 'nav', + attachTo: { id: 'app/layout', input: 'nav' }, + inputs: { + items: createExtensionInput({ + target: createNavItemExtension.targetDataRef, + }), + }, + output: { + element: coreExtensionData.reactElement, + }, + factory({ inputs }) { + return { + element: ( + + ), + }; + }, +}); + +const AuthenticationProvider = (props: { + signInPage?: ComponentType; + children: ReactNode; +}) => { + const { signInPage: SignInPage, children } = props; + const configApi = useApi(configApiRef); + const signOutTargetUrl = getBasePath(configApi) || '/'; + + const internalAppContext = useContext(InternalAppContext); + if (!internalAppContext) { + throw new Error('AppRouter must be rendered within the AppProvider'); + } + + const { appIdentityProxy } = internalAppContext; + const [identityApi, setIdentityApi] = useState(); + + if (!SignInPage) { + appIdentityProxy.setTarget( + { + getUserId: () => 'guest', + getIdToken: async () => undefined, + getProfile: () => ({ + email: 'guest@example.com', + displayName: 'Guest', + }), + getProfileInfo: async () => ({ + email: 'guest@example.com', + displayName: 'Guest', + }), + getBackstageIdentity: async () => ({ + type: 'user', + userEntityRef: 'user:default/guest', + ownershipEntityRefs: ['user:default/guest'], + }), + getCredentials: async () => ({}), + signOut: async () => {}, + }, + { signOutTargetUrl }, + ); + + return children; + } + + if (!identityApi) { + return ; + } + + appIdentityProxy.setTarget(identityApi, { + signOutTargetUrl, + }); + + return children; +}; + +const TestCoreRouterExtension = createExtension({ + namespace: 'app', + name: 'router', + attachTo: { id: 'app', input: 'root' }, + inputs: { + signInPage: createExtensionInput( + { + component: createSignInPageExtension.componentDataRef, + }, + { singleton: true, optional: true }, + ), + children: createExtensionInput( + { + element: coreExtensionData.reactElement, + }, + { singleton: true }, + ), + }, + output: { + element: coreExtensionData.reactElement, + }, + factory({ inputs }) { + const SignInPage = inputs.signInPage?.output.component; + const children = inputs.children.output.element; + + return { + element: ( + + + {children} + + + ), + }; + }, +}); + +/** @public */ +export class ExtensionTester { + /** @internal */ + static forSubject( + subject: ExtensionDefinition, + options?: { config?: TConfig }, + ): ExtensionTester { + const tester = new ExtensionTester(); + const { output, factory, ...rest } = toInternalExtensionDefinition(subject); + // attaching to app/routes to render as index route + const extension = createExtension({ + ...rest, + attachTo: { id: 'app/routes', input: 'routes' }, + output: { + ...output, + path: coreExtensionData.routePath, + }, + factory: params => ({ + ...factory(params), + path: '/', + }), + }); + tester.add(extension, options); + return tester; + } + + readonly #extensions = new Array<{ + id: string; + definition: ExtensionDefinition; + config?: JsonValue; + }>(); + + add( + extension: ExtensionDefinition, + options?: { config?: TConfig }, + ): ExtensionTester { + const { name, namespace } = extension; + + const definition = { + ...extension, + // setting name "test" as fallback + name: !namespace && !name ? 'test' : name, + }; + + const { id } = resolveExtensionDefinition(definition); + + this.#extensions.push({ + id, + definition, + config: options?.config as JsonValue, + }); + + return this; + } + + render(options?: { config?: JsonObject }): RenderResult { + const { config = {} } = options ?? {}; + + const [subject, ...rest] = this.#extensions; + if (!subject) { + throw new Error( + 'No subject found. At least one extension should be added to the tester.', + ); + } + + const extensionsConfig: JsonArray = [ + ...rest.map(extension => ({ + [extension.id]: { + config: extension.config, + }, + })), + { + [subject.id]: { + config: subject.config, + disabled: false, + }, + }, + ]; + + const finalConfig = { + ...config, + app: { + ...(typeof config.app === 'object' ? config.app : undefined), + extensions: extensionsConfig, + }, + }; + + const app = createSpecializedApp({ + features: [ + createExtensionOverrides({ + extensions: [ + ...this.#extensions.map(extension => extension.definition), + TestCoreNavExtension, + TestCoreRouterExtension, + ], + }), + ], + config: new MockConfigApi(finalConfig), + }); + + return render(app.createRoot()); + } +} + +/** @public */ +export function createExtensionTester( + subject: ExtensionDefinition, + options?: { config?: TConfig }, +): ExtensionTester { + return ExtensionTester.forSubject(subject, options); +} diff --git a/packages/frontend-test-utils/src/app/renderInTestApp.test.tsx b/packages/frontend-test-utils/src/app/renderInTestApp.test.tsx index e13d1157ef..a6783d43a3 100644 --- a/packages/frontend-test-utils/src/app/renderInTestApp.test.tsx +++ b/packages/frontend-test-utils/src/app/renderInTestApp.test.tsx @@ -14,14 +14,51 @@ * limitations under the License. */ -import React from 'react'; -import { screen } from '@testing-library/react'; +import React, { useCallback } from 'react'; +import { screen, fireEvent } from '@testing-library/react'; +import { + MockAnalyticsApi, + TestApiProvider, +} from '@backstage/frontend-test-utils'; +import { analyticsApiRef, useAnalytics } from '@backstage/frontend-plugin-api'; import { renderInTestApp } from './renderInTestApp'; describe('renderInTestApp', () => { it('should render the given component in a page', async () => { - const Component = () =>
    Test
    ; - renderInTestApp(); - expect(screen.getByText('Test')).toBeInTheDocument(); + const IndexPage = () =>
    Index Page
    ; + renderInTestApp(); + expect(screen.getByText('Index Page')).toBeInTheDocument(); + }); + + it('should works with apis provider', async () => { + const IndexPage = () => { + const analyticsApi = useAnalytics(); + const handleClick = useCallback(() => { + analyticsApi.captureEvent('click', 'See details'); + }, [analyticsApi]); + return ( +
    + Index Page + + See details + +
    + ); + }; + + const analyticsApiMock = new MockAnalyticsApi(); + + renderInTestApp( + + + , + ); + + fireEvent.click(screen.getByRole('link', { name: 'See details' })); + + expect(analyticsApiMock.getEvents()[0]).toMatchObject({ + action: 'click', + subject: 'See details', + }); }); }); diff --git a/packages/frontend-test-utils/src/app/renderInTestApp.tsx b/packages/frontend-test-utils/src/app/renderInTestApp.tsx index f4011535a4..0cd05741b0 100644 --- a/packages/frontend-test-utils/src/app/renderInTestApp.tsx +++ b/packages/frontend-test-utils/src/app/renderInTestApp.tsx @@ -27,7 +27,7 @@ import { createExtensionTester } from './createExtensionTester'; export function renderInTestApp(element: JSX.Element) { const extension = createExtension({ namespace: 'test', - attachTo: { id: 'core', input: 'root' }, + attachTo: { id: 'app', input: 'root' }, output: { element: coreExtensionData.reactElement, }, diff --git a/packages/integration-react/CHANGELOG.md b/packages/integration-react/CHANGELOG.md index 34a24e7602..bca6fdadf3 100644 --- a/packages/integration-react/CHANGELOG.md +++ b/packages/integration-react/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/integration-react +## 1.1.22 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + ## 1.1.22-next.1 ### Patch Changes diff --git a/packages/integration-react/package.json b/packages/integration-react/package.json index 4c7defc2d4..61f6a69658 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.22-next.1", + "version": "1.1.22", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/integration/CHANGELOG.md b/packages/integration/CHANGELOG.md index 74dee088d5..8dd9ec3915 100644 --- a/packages/integration/CHANGELOG.md +++ b/packages/integration/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/integration +## 1.8.0 + +### Minor Changes + +- 870db76: Implemented `readTree` for Gitea provider to support TechDocs functionality + +### Patch Changes + +- 99fb541: Updated dependency `@azure/identity` to `^4.0.0`. +- Updated dependencies + - @backstage/config@1.1.1 + ## 1.8.0-next.1 ### Patch Changes diff --git a/packages/integration/package.json b/packages/integration/package.json index 8e403c2ce4..7e57293903 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.8.0-next.1", + "version": "1.8.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/repo-tools/CHANGELOG.md b/packages/repo-tools/CHANGELOG.md index 0b4381e3bf..bef40cd990 100644 --- a/packages/repo-tools/CHANGELOG.md +++ b/packages/repo-tools/CHANGELOG.md @@ -1,5 +1,46 @@ # @backstage/repo-tools +## 0.5.2-next.0 + +### Patch Changes + +- 883782e: Updated the OpenAPI template to export the `TypedResponse` interface so that client code can leverage it +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/cli-node@0.2.1 + - @backstage/errors@1.2.3 + +## 0.5.0 + +### Minor Changes + +- aea8f8d: **BREAKING**: API Reports generated for sub-path exports now place the name as a suffix rather than prefix, for example `api-report-alpha.md` instead of `alpha-api-report.md`. When upgrading to this version you'll need to re-create any such API reports and delete the old ones. +- 3834067: Adds a new command `schema openapi generate-client` that creates a Typescript client with Backstage flavor, including the discovery API and fetch API. This command doesn't currently generate a complete client and needs to be wrapped or exported manually by a separate Backstage plugin. See `@backstage/catalog-client/src/generated` for example output. + +### Patch Changes + +- f909e9d: Includes templates in @backstage/repo-tools package and use them in the CLI +- da3c4db: Updates the `schema openapi generate-client` command to export all generated types from the generated directory. +- 7959f23: The `api-reports` command now checks for api report files that no longer apply. + If it finds such files, it's treated basically the same as report errors do, and + the check fails. + + For example, if you had an `api-report-alpha.md` but then removed the alpha + export, the reports generator would now report that this file needs to be + deleted. + +- f49e237: Fixed a bug where `schema openapi init` created an invalid test command. +- f91be2c: Updated dependency `@stoplight/types` to `^14.0.0`. +- 45bfb20: Execute `openapi-generator-cli` from `@backstage/repo-tools` directory to force it to use our openapitools.json config file. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/cli-node@0.2.1 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + ## 0.5.0-next.2 ### Patch Changes diff --git a/packages/repo-tools/package.json b/packages/repo-tools/package.json index afb45af797..987bfb9260 100644 --- a/packages/repo-tools/package.json +++ b/packages/repo-tools/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/repo-tools", "description": "CLI for Backstage repo tooling ", - "version": "0.5.0-next.2", + "version": "0.5.2-next.0", "publishConfig": { "access": "public" }, diff --git a/packages/repo-tools/templates/typescript-backstage/api.mustache b/packages/repo-tools/templates/typescript-backstage/api.mustache index 1b8739ba57..8043d6e2f4 100644 --- a/packages/repo-tools/templates/typescript-backstage/api.mustache +++ b/packages/repo-tools/templates/typescript-backstage/api.mustache @@ -9,7 +9,12 @@ import * as parser from 'uri-template'; import { {{classname}} } from '{{filename}}.model{{importFileExtension}}'; {{/imports}} -type TypedResponse = Omit & { +/** + * Wraps the Response type to convey a type on the json call. + * + * @public + */ +export type TypedResponse = Omit & { json: () => Promise; }; @@ -84,9 +89,9 @@ export class {{classname}}Client { options?: RequestOptions ): Promise> { const baseUrl = await this.discoveryApi.getBaseUrl(pluginId); - + const uriTemplate = `{{{path}}}{{#hasQueryParams}}{?{{#queryParams}}{{baseName}}{{#isArray}}{{#isExplode}}*{{/isExplode}}{{/isArray}}{{^-last}},{{/-last}}{{/queryParams}}}{{/hasQueryParams}}`; - + const uri = parser.parse(uriTemplate).expand({ {{#pathParams}} {{baseName}}: request.path.{{paramName}}, diff --git a/packages/techdocs-cli-embedded-app/CHANGELOG.md b/packages/techdocs-cli-embedded-app/CHANGELOG.md index 2afd812745..5c96dc3222 100644 --- a/packages/techdocs-cli-embedded-app/CHANGELOG.md +++ b/packages/techdocs-cli-embedded-app/CHANGELOG.md @@ -1,5 +1,43 @@ # techdocs-cli-embedded-app +## 0.2.90-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/cli@0.25.1-next.0 + - @backstage/plugin-techdocs-react@1.1.15-next.0 + - @backstage/plugin-techdocs@1.9.3-next.0 + - @backstage/plugin-catalog@1.16.1-next.0 + - @backstage/app-defaults@1.4.7-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/test-utils@1.4.7-next.0 + - @backstage/theme@0.5.0 + +## 0.2.89 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/cli@0.25.0 + - @backstage/theme@0.5.0 + - @backstage/plugin-catalog@1.16.0 + - @backstage/core-app-api@1.11.2 + - @backstage/test-utils@1.4.6 + - @backstage/plugin-techdocs@1.9.2 + - @backstage/app-defaults@1.4.6 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-techdocs-react@1.1.14 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + ## 0.2.89-next.4 ### Patch Changes diff --git a/packages/techdocs-cli-embedded-app/package.json b/packages/techdocs-cli-embedded-app/package.json index 956fcca1c7..424cf20bd3 100644 --- a/packages/techdocs-cli-embedded-app/package.json +++ b/packages/techdocs-cli-embedded-app/package.json @@ -1,6 +1,6 @@ { "name": "techdocs-cli-embedded-app", - "version": "0.2.89-next.4", + "version": "0.2.90-next.0", "private": true, "backstage": { "role": "frontend" diff --git a/packages/techdocs-cli/CHANGELOG.md b/packages/techdocs-cli/CHANGELOG.md index 62ea404dc6..0e5090d1fc 100644 --- a/packages/techdocs-cli/CHANGELOG.md +++ b/packages/techdocs-cli/CHANGELOG.md @@ -1,5 +1,32 @@ # @techdocs/cli +## 1.8.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/plugin-techdocs-node@1.11.1-next.0 + +## 1.8.0 + +### Minor Changes + +- d15d483: Add command `--runAsDefaultUser` for `@techdocs/cli generate` to bypass running the docker builds as host user for macOS and Linux. +- b2dccad: Support passing additional `mkdocs-server` CLI parameters (`--dirtyreload`, `--strict` and `--clean`) when run in containerized mode. + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-techdocs-node@1.11.0 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + ## 1.8.0-next.3 ### Patch Changes diff --git a/packages/techdocs-cli/package.json b/packages/techdocs-cli/package.json index 04400cd51a..0a0f560494 100644 --- a/packages/techdocs-cli/package.json +++ b/packages/techdocs-cli/package.json @@ -1,7 +1,7 @@ { "name": "@techdocs/cli", "description": "Utility CLI for managing TechDocs sites in Backstage.", - "version": "1.8.0-next.3", + "version": "1.8.1-next.0", "publishConfig": { "access": "public" }, diff --git a/packages/test-utils/CHANGELOG.md b/packages/test-utils/CHANGELOG.md index 476c3b5ad8..429ca7ab72 100644 --- a/packages/test-utils/CHANGELOG.md +++ b/packages/test-utils/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/test-utils +## 1.4.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/config@1.1.1 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.11 + +## 1.4.6 + +### Patch Changes + +- e8f2ace: Deprecated `mockBreakpoint`, as it is now available from `@backstage/core-components/testUtils` instead. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/core-app-api@1.11.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + ## 1.4.6-next.2 ### Patch Changes diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index e2632227e7..9a4fd95eb9 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.4.6-next.2", + "version": "1.4.7-next.0", "publishConfig": { "access": "public" }, diff --git a/packages/theme/CHANGELOG.md b/packages/theme/CHANGELOG.md index 808c899d43..323fc8062d 100644 --- a/packages/theme/CHANGELOG.md +++ b/packages/theme/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/theme +## 0.5.0 + +### Minor Changes + +- 4d9e3b3: Added a global `OverrideComponentNameToClassKeys` for other plugins and packages to populate using module augmentation. This will in turn will provide component style override types for `createUnifiedTheme`. + +### Patch Changes + +- cd0dd4c: Align Material UI v5 `Paper` component background color in dark mode to v4. + ## 0.5.0-next.1 ### Patch Changes diff --git a/packages/theme/package.json b/packages/theme/package.json index ac7d418ef7..56179fae19 100644 --- a/packages/theme/package.json +++ b/packages/theme/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/theme", "description": "material-ui theme for use with Backstage.", - "version": "0.5.0-next.1", + "version": "0.5.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/plugins/adr-backend/CHANGELOG.md b/plugins/adr-backend/CHANGELOG.md index b854a704e8..39817670f5 100644 --- a/plugins/adr-backend/CHANGELOG.md +++ b/plugins/adr-backend/CHANGELOG.md @@ -1,5 +1,36 @@ # @backstage/plugin-adr-backend +## 0.4.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-adr-common@0.2.18 + - @backstage/plugin-search-common@1.2.9 + +## 0.4.5 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-adr-common@0.2.18 + - @backstage/plugin-search-common@1.2.9 + ## 0.4.5-next.3 ### Patch Changes diff --git a/plugins/adr-backend/package.json b/plugins/adr-backend/package.json index a713ad8d56..877bc849e4 100644 --- a/plugins/adr-backend/package.json +++ b/plugins/adr-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-adr-backend", - "version": "0.4.5-next.3", + "version": "0.4.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -50,7 +50,6 @@ "@backstage/cli": "workspace:^", "@types/marked": "^5.0.0", "@types/supertest": "^2.0.8", - "msw": "^1.0.0", "supertest": "^6.1.3" }, "files": [ diff --git a/plugins/adr-common/CHANGELOG.md b/plugins/adr-common/CHANGELOG.md index 3f02901db7..6f85feed2a 100644 --- a/plugins/adr-common/CHANGELOG.md +++ b/plugins/adr-common/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-adr-common +## 0.2.18 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.8.0 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-search-common@1.2.9 + ## 0.2.18-next.1 ### Patch Changes diff --git a/plugins/adr-common/package.json b/plugins/adr-common/package.json index e04af0ade0..4e345cf19b 100644 --- a/plugins/adr-common/package.json +++ b/plugins/adr-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-adr-common", "description": "Common functionalities for the adr plugin", - "version": "0.2.18-next.1", + "version": "0.2.18", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/adr/CHANGELOG.md b/plugins/adr/CHANGELOG.md index fba237c916..f0769164af 100644 --- a/plugins/adr/CHANGELOG.md +++ b/plugins/adr/CHANGELOG.md @@ -1,5 +1,40 @@ # @backstage/plugin-adr +## 0.6.12-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-adr-common@0.2.18 + - @backstage/plugin-search-common@1.2.9 + +## 0.6.11 + +### Patch Changes + +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- fb8f3bd: Updated alpha translation message keys to use nested format and camel case. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-search-react@1.7.4 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-adr-common@0.2.18 + - @backstage/plugin-search-common@1.2.9 + ## 0.6.11-next.3 ### Patch Changes diff --git a/plugins/adr/package.json b/plugins/adr/package.json index 784df1e3b6..3e56587a4c 100644 --- a/plugins/adr/package.json +++ b/plugins/adr/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-adr", - "version": "0.6.11-next.3", + "version": "0.6.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -51,10 +51,8 @@ "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-search-common": "workspace:^", "@backstage/plugin-search-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "lodash": "^4.17.21", "react-markdown": "^8.0.0", @@ -68,16 +66,9 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", - "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/git-url-parse": "^9.0.0", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/airbrake-backend/CHANGELOG.md b/plugins/airbrake-backend/CHANGELOG.md index 56d8d8ab2c..b7f19de7f6 100644 --- a/plugins/airbrake-backend/CHANGELOG.md +++ b/plugins/airbrake-backend/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-airbrake-backend +## 0.3.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + +## 0.3.5 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + ## 0.3.5-next.3 ### Patch Changes diff --git a/plugins/airbrake-backend/package.json b/plugins/airbrake-backend/package.json index f0cb259e13..69e8f6341c 100644 --- a/plugins/airbrake-backend/package.json +++ b/plugins/airbrake-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-airbrake-backend", - "version": "0.3.5-next.3", + "version": "0.3.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -42,7 +42,6 @@ "@backstage/cli": "workspace:^", "@types/http-proxy-middleware": "^0.19.3", "@types/supertest": "^2.0.8", - "msw": "^1.0.0", "supertest": "^6.1.6" }, "files": [ diff --git a/plugins/airbrake/CHANGELOG.md b/plugins/airbrake/CHANGELOG.md index 48593ba1d5..9e306c9c41 100644 --- a/plugins/airbrake/CHANGELOG.md +++ b/plugins/airbrake/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/plugin-airbrake +## 0.3.29-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/dev-utils@1.0.26-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/test-utils@1.4.7-next.0 + +## 0.3.28 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/test-utils@1.4.6 + - @backstage/dev-utils@1.0.25 + - @backstage/catalog-model@1.4.3 + ## 0.3.28-next.3 ### Patch Changes diff --git a/plugins/airbrake/package.json b/plugins/airbrake/package.json index 3935046baa..61b83b97eb 100644 --- a/plugins/airbrake/package.json +++ b/plugins/airbrake/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-airbrake", - "version": "0.3.28-next.3", + "version": "0.3.29-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,10 +35,8 @@ "@backstage/dev-utils": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/test-utils": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "react-use": "^17.2.4" }, @@ -55,7 +53,6 @@ "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/allure/CHANGELOG.md b/plugins/allure/CHANGELOG.md index 858691e63f..555aebc563 100644 --- a/plugins/allure/CHANGELOG.md +++ b/plugins/allure/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-allure +## 0.1.45-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.1.44 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + ## 0.1.44-next.3 ### Patch Changes diff --git a/plugins/allure/package.json b/plugins/allure/package.json index 6ddf0c791e..c41ddabcb6 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.44-next.3", + "version": "0.1.45-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,10 +34,6 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", - "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "react-use": "^17.2.4" }, @@ -48,13 +44,11 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/analytics-module-ga/CHANGELOG.md b/plugins/analytics-module-ga/CHANGELOG.md index cd01fe2081..ceec1c4946 100644 --- a/plugins/analytics-module-ga/CHANGELOG.md +++ b/plugins/analytics-module-ga/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-analytics-module-ga +## 0.1.37-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + +## 0.1.36 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/config@1.1.1 + ## 0.1.36-next.3 ### Patch Changes diff --git a/plugins/analytics-module-ga/package.json b/plugins/analytics-module-ga/package.json index 46305648ef..613ae76aae 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.36-next.3", + "version": "0.1.37-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,12 +32,7 @@ "@backstage/config": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", - "@backstage/theme": "workspace:^", - "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", - "react-ga": "^3.3.0", - "react-use": "^17.2.4" + "react-ga": "^3.3.0" }, "peerDependencies": { "react": "^16.13.1 || ^17.0.0 || ^18.0.0", @@ -46,15 +41,11 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/react": "^16.13.1 || ^17.0.0", - "msw": "^1.0.0" + "@types/react": "^16.13.1 || ^17.0.0" }, "files": [ "dist", diff --git a/plugins/analytics-module-ga4/CHANGELOG.md b/plugins/analytics-module-ga4/CHANGELOG.md index d34884796a..fb81eaffe8 100644 --- a/plugins/analytics-module-ga4/CHANGELOG.md +++ b/plugins/analytics-module-ga4/CHANGELOG.md @@ -1,5 +1,26 @@ # @backstage/plugin-analytics-module-ga4 +## 0.1.8-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + +## 0.1.7 + +### Patch Changes + +- af6f227: Disabled `send_page_view` to get rid of events duplication +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/config@1.1.1 + ## 0.1.7-next.3 ### Patch Changes diff --git a/plugins/analytics-module-ga4/README.md b/plugins/analytics-module-ga4/README.md index 93138a8235..2d8c930e30 100644 --- a/plugins/analytics-module-ga4/README.md +++ b/plugins/analytics-module-ga4/README.md @@ -87,6 +87,7 @@ Additional dimensional data can be captured using custom dimensions, like this: attribute names will be prefixed by `a_`. 5. `allowedContexts` and `allowedAttributes` are optional, if not provided, no additional context and attributes will be sent. 6. if `allowedContexts` or `allowedAttributes` is set to '\*', all context and attributes will be sent. +7. `enableSendPageView` is used to send default events and is disabled by default. ```yaml app: diff --git a/plugins/analytics-module-ga4/config.d.ts b/plugins/analytics-module-ga4/config.d.ts index 4834d75f58..0a60ee5f9e 100644 --- a/plugins/analytics-module-ga4/config.d.ts +++ b/plugins/analytics-module-ga4/config.d.ts @@ -54,6 +54,14 @@ export interface Config { */ debug?: boolean; + /** + * Whether to send default send_page_view event. + * Defaults to false. + * + * @visibility frontend + */ + enableSendPageView?: boolean; + /** * Prevents events from actually being sent when set to true. Defaults * to false. diff --git a/plugins/analytics-module-ga4/package.json b/plugins/analytics-module-ga4/package.json index 2d85294347..3382c9e8fa 100644 --- a/plugins/analytics-module-ga4/package.json +++ b/plugins/analytics-module-ga4/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-analytics-module-ga4", - "version": "0.1.7-next.3", + "version": "0.1.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,9 +32,7 @@ "@backstage/config": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", - "@backstage/theme": "workspace:^", - "react-ga4": "^2.0.0", - "react-use": "^17.2.4" + "react-ga4": "^2.0.0" }, "peerDependencies": { "react": "^16.13.1 || ^17.0.0 || ^18.0.0", @@ -43,16 +41,12 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "@types/jest": "^29.0.0", - "@types/react": "^16.13.1 || ^17.0.0", - "msw": "^1.0.0" + "@types/react": "^16.13.1 || ^17.0.0" }, "files": [ "dist", diff --git a/plugins/analytics-module-ga4/src/apis/implementations/AnalyticsApi/GoogleAnalytics4.ts b/plugins/analytics-module-ga4/src/apis/implementations/AnalyticsApi/GoogleAnalytics4.ts index 399366b804..9abf4719c6 100644 --- a/plugins/analytics-module-ga4/src/apis/implementations/AnalyticsApi/GoogleAnalytics4.ts +++ b/plugins/analytics-module-ga4/src/apis/implementations/AnalyticsApi/GoogleAnalytics4.ts @@ -47,6 +47,7 @@ export class GoogleAnalytics4 implements AnalyticsApi { measurementId: string; testMode: boolean; debug: boolean; + enableSendPageView: boolean; contentGroupBy?: string; allowedContexts?: string[]; allowedAttributes?: string[]; @@ -58,6 +59,7 @@ export class GoogleAnalytics4 implements AnalyticsApi { userIdTransform = 'sha-256', testMode, debug, + enableSendPageView, contentGroupBy, allowedContexts, allowedAttributes, @@ -70,6 +72,7 @@ export class GoogleAnalytics4 implements AnalyticsApi { }, gtagOptions: { debug_mode: debug, + send_page_view: enableSendPageView, }, }); @@ -112,6 +115,9 @@ export class GoogleAnalytics4 implements AnalyticsApi { const identity = config.getOptionalString('app.analytics.ga4.identity') || 'disabled'; const debug = config.getOptionalBoolean('app.analytics.ga4.debug') ?? false; + const enableSendPageView = + config.getOptionalBoolean('app.analytics.ga4.enableSendPageView') ?? + false; const testMode = config.getOptionalBoolean('app.analytics.ga4.testMode') ?? false; @@ -138,6 +144,7 @@ export class GoogleAnalytics4 implements AnalyticsApi { measurementId: measurementId, testMode, debug, + enableSendPageView, contentGroupBy, allowedContexts, allowedAttributes, diff --git a/plugins/analytics-module-newrelic-browser/CHANGELOG.md b/plugins/analytics-module-newrelic-browser/CHANGELOG.md index b5a268d86f..f590a414d9 100644 --- a/plugins/analytics-module-newrelic-browser/CHANGELOG.md +++ b/plugins/analytics-module-newrelic-browser/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-analytics-module-newrelic-browser +## 0.0.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + +## 0.0.5 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/config@1.1.1 + ## 0.0.5-next.3 ### Patch Changes diff --git a/plugins/analytics-module-newrelic-browser/package.json b/plugins/analytics-module-newrelic-browser/package.json index 96f99026d2..119499f2b4 100644 --- a/plugins/analytics-module-newrelic-browser/package.json +++ b/plugins/analytics-module-newrelic-browser/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-analytics-module-newrelic-browser", - "version": "0.0.5-next.3", + "version": "0.0.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -26,21 +26,16 @@ "@backstage/config": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", - "@newrelic/browser-agent": "^1.236.0", - "react-use": "^17.2.4" + "@newrelic/browser-agent": "^1.236.0" }, "peerDependencies": { "react": "^16.13.1 || ^17.0.0 || ^18.0.0" }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist", diff --git a/plugins/apache-airflow/CHANGELOG.md b/plugins/apache-airflow/CHANGELOG.md index f0f2643798..ee482c709b 100644 --- a/plugins/apache-airflow/CHANGELOG.md +++ b/plugins/apache-airflow/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-apache-airflow +## 0.2.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## 0.2.18 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + ## 0.2.18-next.3 ### Patch Changes diff --git a/plugins/apache-airflow/package.json b/plugins/apache-airflow/package.json index ec10c38fe2..d24379c75b 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.18-next.3", + "version": "0.2.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -52,7 +52,6 @@ "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/api-docs/CHANGELOG.md b/plugins/api-docs/CHANGELOG.md index c602253a0a..f3ee41247f 100644 --- a/plugins/api-docs/CHANGELOG.md +++ b/plugins/api-docs/CHANGELOG.md @@ -1,5 +1,34 @@ # @backstage/plugin-api-docs +## 0.10.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-catalog@1.16.1-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.10.2 + +### Patch Changes + +- 816d331: Add dependency on `graphql-config` to compensate for `graphql-language-service` needing it but not shipping the dep properly +- 615159e: Updated dependency `graphiql` to `3.0.10`. +- e16e7ce: Updated dependency `@asyncapi/react-component` to `1.2.2`. +- 82fb18b: Updated dependency `@asyncapi/react-component` to `1.2.6`. +- 53e2c06: Updated dependency `@asyncapi/react-component` to `1.1.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-catalog@1.16.0 + - @backstage/catalog-model@1.4.3 + ## 0.10.2-next.4 ### Patch Changes diff --git a/plugins/api-docs/package.json b/plugins/api-docs/package.json index 6ec5d96c1d..3206ce43ed 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.10.2-next.4", + "version": "0.10.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -39,7 +39,6 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@graphiql/react": "^0.20.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -50,7 +49,6 @@ "graphql-config": "^5.0.2", "graphql-ws": "^5.4.1", "isomorphic-form-data": "^2.0.0", - "react-use": "^17.2.4", "swagger-ui-react": "^5.0.0" }, "peerDependencies": { @@ -67,9 +65,7 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "@types/swagger-ui-react": "^4.18.0", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@types/swagger-ui-react": "^4.18.0" }, "files": [ "dist" diff --git a/plugins/apollo-explorer/CHANGELOG.md b/plugins/apollo-explorer/CHANGELOG.md index e4e2c794d6..2812b14133 100644 --- a/plugins/apollo-explorer/CHANGELOG.md +++ b/plugins/apollo-explorer/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-apollo-explorer +## 0.1.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## 0.1.18 + +### Patch Changes + +- e296b94: Updated dependency `@apollo/explorer` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + ## 0.1.18-next.3 ### Patch Changes diff --git a/plugins/apollo-explorer/package.json b/plugins/apollo-explorer/package.json index 143014a642..bd85acdf3a 100644 --- a/plugins/apollo-explorer/package.json +++ b/plugins/apollo-explorer/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-apollo-explorer", - "version": "0.1.18-next.3", + "version": "0.1.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,11 +32,8 @@ "@apollo/explorer": "^3.0.0", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", "@types/react": "^16.13.1 || ^17.0.0", - "react-use": "^17.2.4", "use-deep-compare-effect": "^1.8.1" }, "peerDependencies": { @@ -46,14 +43,10 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/app-backend/CHANGELOG.md b/plugins/app-backend/CHANGELOG.md index 34307a2f7f..195c1f154e 100644 --- a/plugins/app-backend/CHANGELOG.md +++ b/plugins/app-backend/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/plugin-app-backend +## 0.3.57-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/config-loader@1.6.0 + - @backstage/types@1.1.1 + - @backstage/plugin-app-node@0.1.9-next.0 + +## 0.3.56 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/config-loader@1.6.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-app-node@0.1.8 + ## 0.3.56-next.3 ### Patch Changes diff --git a/plugins/app-backend/package.json b/plugins/app-backend/package.json index 13d9c6b9b5..21f08f3746 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.56-next.3", + "version": "0.3.57-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -69,7 +69,6 @@ "@backstage/cli": "workspace:^", "@backstage/types": "workspace:^", "@types/supertest": "^2.0.8", - "msw": "^1.0.0", "node-fetch": "^2.6.7", "supertest": "^6.1.3" }, diff --git a/plugins/app-backend/src/lib/assets/StaticAssetsStore.test.ts b/plugins/app-backend/src/lib/assets/StaticAssetsStore.test.ts index f14349a55b..e18d136b9d 100644 --- a/plugins/app-backend/src/lib/assets/StaticAssetsStore.test.ts +++ b/plugins/app-backend/src/lib/assets/StaticAssetsStore.test.ts @@ -37,7 +37,7 @@ jest.setTimeout(60_000); describe('StaticAssetsStore', () => { const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], + ids: ['MYSQL_8', 'POSTGRES_16', 'POSTGRES_12', 'SQLITE_3'], }); it.each(databases.eachSupportedId())( diff --git a/plugins/app-node/CHANGELOG.md b/plugins/app-node/CHANGELOG.md index 3ed107a527..23a3a9925a 100644 --- a/plugins/app-node/CHANGELOG.md +++ b/plugins/app-node/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-app-node +## 0.1.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + +## 0.1.8 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + ## 0.1.8-next.3 ### Patch Changes diff --git a/plugins/app-node/package.json b/plugins/app-node/package.json index 702b8eacdf..a5defb3e78 100644 --- a/plugins/app-node/package.json +++ b/plugins/app-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-app-node", "description": "Node.js library for the app plugin", - "version": "0.1.8-next.3", + "version": "0.1.9-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/auth-backend-module-atlassian-provider/CHANGELOG.md b/plugins/auth-backend-module-atlassian-provider/CHANGELOG.md index b10aba3d17..ac901dfbb2 100644 --- a/plugins/auth-backend-module-atlassian-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-atlassian-provider/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/plugin-auth-backend-module-atlassian-provider +## 0.1.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.1.0 + +### Minor Changes + +- 2a5891e: New module for `@backstage/plugin-auth-backend` that adds an atlassian auth provider + +### Patch Changes + +- a62764b: Updated dependency `passport` to `^0.7.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + ## 0.1.0-next.3 ### Patch Changes diff --git a/plugins/auth-backend-module-atlassian-provider/package.json b/plugins/auth-backend-module-atlassian-provider/package.json index 759e39a19c..b47dc4d3f4 100644 --- a/plugins/auth-backend-module-atlassian-provider/package.json +++ b/plugins/auth-backend-module-atlassian-provider/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-auth-backend-module-atlassian-provider", "description": "The atlassian-provider backend module for the auth plugin.", - "version": "0.1.0-next.3", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,7 +23,6 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", "express": "^4.18.2", diff --git a/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md b/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md index bbfcf992a0..60b05a17c3 100644 --- a/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-auth-backend-module-gcp-iap-provider +## 0.2.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.2.2 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.2.2-next.3 ### Patch Changes diff --git a/plugins/auth-backend-module-gcp-iap-provider/package.json b/plugins/auth-backend-module-gcp-iap-provider/package.json index c743026fee..ec673d9857 100644 --- a/plugins/auth-backend-module-gcp-iap-provider/package.json +++ b/plugins/auth-backend-module-gcp-iap-provider/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-auth-backend-module-gcp-iap-provider", "description": "A GCP IAP auth provider module for the Backstage auth backend", - "version": "0.2.2-next.3", + "version": "0.2.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -41,9 +41,7 @@ "devDependencies": { "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", - "express": "^4.18.2", - "msw": "^1.0.0", - "supertest": "^6.1.3" + "express": "^4.18.2" }, "files": [ "dist", diff --git a/plugins/auth-backend-module-github-provider/CHANGELOG.md b/plugins/auth-backend-module-github-provider/CHANGELOG.md index d400f918ef..cf6f452bee 100644 --- a/plugins/auth-backend-module-github-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-github-provider/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-auth-backend-module-github-provider +## 0.1.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.1.5 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + ## 0.1.5-next.3 ### Patch Changes diff --git a/plugins/auth-backend-module-github-provider/package.json b/plugins/auth-backend-module-github-provider/package.json index c88da0cb2c..ec40d8744a 100644 --- a/plugins/auth-backend-module-github-provider/package.json +++ b/plugins/auth-backend-module-github-provider/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-auth-backend-module-github-provider", "description": "The github-provider backend module for the auth plugin.", - "version": "0.1.5-next.3", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,7 +23,6 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", "passport-github2": "^0.1.12" diff --git a/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md b/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md index bd8336a525..b374910abc 100644 --- a/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-auth-backend-module-gitlab-provider +## 0.1.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.1.5 + +### Patch Changes + +- a62764b: Updated dependency `passport` to `^0.7.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + ## 0.1.5-next.3 ### Patch Changes diff --git a/plugins/auth-backend-module-gitlab-provider/package.json b/plugins/auth-backend-module-gitlab-provider/package.json index 69cdc9f6a5..49d9f2fc00 100644 --- a/plugins/auth-backend-module-gitlab-provider/package.json +++ b/plugins/auth-backend-module-gitlab-provider/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-auth-backend-module-gitlab-provider", "description": "The gitlab-provider backend module for the auth plugin.", - "version": "0.1.5-next.3", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,7 +23,6 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", "express": "^4.18.2", diff --git a/plugins/auth-backend-module-google-provider/CHANGELOG.md b/plugins/auth-backend-module-google-provider/CHANGELOG.md index 96ce642c3f..121e096d49 100644 --- a/plugins/auth-backend-module-google-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-google-provider/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-auth-backend-module-google-provider +## 0.1.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.1.5 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + ## 0.1.5-next.3 ### Patch Changes diff --git a/plugins/auth-backend-module-google-provider/package.json b/plugins/auth-backend-module-google-provider/package.json index 7b5c5aabc4..66b98a0054 100644 --- a/plugins/auth-backend-module-google-provider/package.json +++ b/plugins/auth-backend-module-google-provider/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-auth-backend-module-google-provider", "description": "A Google auth provider module for the Backstage auth backend", - "version": "0.1.5-next.3", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -42,7 +42,6 @@ "@backstage/cli": "workspace:^", "@backstage/plugin-auth-backend": "workspace:^", "@types/passport-google-oauth20": "^2.0.3", - "msw": "^1.0.0", "supertest": "^6.1.3" }, "files": [ diff --git a/plugins/auth-backend-module-microsoft-provider/CHANGELOG.md b/plugins/auth-backend-module-microsoft-provider/CHANGELOG.md index f5ab639239..4bbfbc5a83 100644 --- a/plugins/auth-backend-module-microsoft-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-microsoft-provider/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-auth-backend-module-microsoft-provider +## 0.1.4-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.1.3 + +### Patch Changes + +- a62764b: Updated dependency `passport` to `^0.7.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + ## 0.1.3-next.3 ### Patch Changes diff --git a/plugins/auth-backend-module-microsoft-provider/package.json b/plugins/auth-backend-module-microsoft-provider/package.json index 9c9b6aca5d..27f9757b83 100644 --- a/plugins/auth-backend-module-microsoft-provider/package.json +++ b/plugins/auth-backend-module-microsoft-provider/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-auth-backend-module-microsoft-provider", "description": "The microsoft-provider backend module for the auth plugin.", - "version": "0.1.3-next.3", + "version": "0.1.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,7 +23,6 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", "express": "^4.18.2", diff --git a/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md b/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md index 69aac1fd01..8f7cc2e0b1 100644 --- a/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-auth-backend-module-oauth2-provider +## 0.1.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.1.5 + +### Patch Changes + +- a62764b: Updated dependency `passport` to `^0.7.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + ## 0.1.5-next.3 ### Patch Changes diff --git a/plugins/auth-backend-module-oauth2-provider/package.json b/plugins/auth-backend-module-oauth2-provider/package.json index 35bcac1109..514a5767f6 100644 --- a/plugins/auth-backend-module-oauth2-provider/package.json +++ b/plugins/auth-backend-module-oauth2-provider/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-auth-backend-module-oauth2-provider", "description": "The oauth2-provider backend module for the auth plugin.", - "version": "0.1.5-next.3", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,10 +23,8 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", - "express": "^4.18.2", "passport": "^0.7.0", "passport-oauth2": "^1.6.1" }, diff --git a/plugins/auth-backend-module-oauth2-proxy-provider/CHANGELOG.md b/plugins/auth-backend-module-oauth2-proxy-provider/CHANGELOG.md index 185cca0732..b16494210d 100644 --- a/plugins/auth-backend-module-oauth2-proxy-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-oauth2-proxy-provider/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/plugin-auth-backend-module-oauth2-proxy-provider +## 0.1.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.1.0 + +### Minor Changes + +- 271aa12: Release of `oauth2-proxy-provider` plugin + +### Patch Changes + +- a6be465: Exported the provider as default so it gets discovered when using `featureDiscoveryServiceFactory()` +- 510dab4: Change provider id from `oauth2ProxyProvider` to `oauth2Proxy` +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/errors@1.2.3 + ## 0.1.0-next.2 ### Patch Changes diff --git a/plugins/auth-backend-module-oauth2-proxy-provider/package.json b/plugins/auth-backend-module-oauth2-proxy-provider/package.json index d273b35015..d3d9028bee 100644 --- a/plugins/auth-backend-module-oauth2-proxy-provider/package.json +++ b/plugins/auth-backend-module-oauth2-proxy-provider/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-auth-backend-module-oauth2-proxy-provider", "description": "The oauth2-proxy-provider backend module for the auth plugin.", - "version": "0.1.0-next.2", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,7 +23,6 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", diff --git a/plugins/auth-backend-module-okta-provider/CHANGELOG.md b/plugins/auth-backend-module-okta-provider/CHANGELOG.md index 3b2c1e47f0..428cf2b654 100644 --- a/plugins/auth-backend-module-okta-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-okta-provider/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-auth-backend-module-okta-provider +## 0.0.2-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.0.1 + +### Patch Changes + +- e1c189b: Adds okta-provider backend module for the auth plugin +- a62764b: Updated dependency `passport` to `^0.7.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + ## 0.0.1-next.3 ### Patch Changes diff --git a/plugins/auth-backend-module-okta-provider/package.json b/plugins/auth-backend-module-okta-provider/package.json index 556b888b48..6ba18a3b8a 100644 --- a/plugins/auth-backend-module-okta-provider/package.json +++ b/plugins/auth-backend-module-okta-provider/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-auth-backend-module-okta-provider", "description": "The okta-provider backend module for the auth plugin.", - "version": "0.0.1-next.3", + "version": "0.0.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,7 +23,6 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", "@davidzemon/passport-okta-oauth": "^0.0.5", diff --git a/plugins/auth-backend-module-pinniped-provider/CHANGELOG.md b/plugins/auth-backend-module-pinniped-provider/CHANGELOG.md index 563e710143..364140ce19 100644 --- a/plugins/auth-backend-module-pinniped-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-pinniped-provider/CHANGELOG.md @@ -1,5 +1,26 @@ # @backstage/plugin-auth-backend-module-pinniped-provider +## 0.1.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.1.2 + +### Patch Changes + +- a62764b: Updated dependency `passport` to `^0.7.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + ## 0.1.2-next.3 ### Patch Changes diff --git a/plugins/auth-backend-module-pinniped-provider/package.json b/plugins/auth-backend-module-pinniped-provider/package.json index c10507e5ea..e748d968e9 100644 --- a/plugins/auth-backend-module-pinniped-provider/package.json +++ b/plugins/auth-backend-module-pinniped-provider/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-auth-backend-module-pinniped-provider", "description": "The pinniped-provider backend module for the auth plugin.", - "version": "0.1.2-next.3", + "version": "0.1.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,7 +23,6 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", "@backstage/config": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", @@ -37,7 +36,6 @@ "@backstage/plugin-auth-backend": "workspace:^", "cookie-parser": "^1.4.6", "express": "^4.18.2", - "express-promise-router": "^4.1.1", "express-session": "^1.17.3", "jose": "^4.14.6", "msw": "^1.3.0", diff --git a/plugins/auth-backend-module-vmware-cloud-provider/CHANGELOG.md b/plugins/auth-backend-module-vmware-cloud-provider/CHANGELOG.md index eaea8f32b7..f5d337fbd3 100644 --- a/plugins/auth-backend-module-vmware-cloud-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-vmware-cloud-provider/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-auth-backend-module-vmware-cloud-provider +## 0.1.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.1.0 + +### Minor Changes + +- ed02c69: Add VMware Cloud auth backend module provider + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + ## 0.1.0-next.2 ### Patch Changes diff --git a/plugins/auth-backend-module-vmware-cloud-provider/package.json b/plugins/auth-backend-module-vmware-cloud-provider/package.json index 397e71f0ac..19239ea80a 100644 --- a/plugins/auth-backend-module-vmware-cloud-provider/package.json +++ b/plugins/auth-backend-module-vmware-cloud-provider/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-auth-backend-module-vmware-cloud-provider", "description": "The vmware-cloud-provider backend module for the auth plugin.", - "version": "0.1.0-next.2", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,7 +23,6 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", "@backstage/catalog-model": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", diff --git a/plugins/auth-backend/CHANGELOG.md b/plugins/auth-backend/CHANGELOG.md index a491e5d400..34f25cdbd6 100644 --- a/plugins/auth-backend/CHANGELOG.md +++ b/plugins/auth-backend/CHANGELOG.md @@ -1,5 +1,58 @@ # @backstage/plugin-auth-backend +## 0.20.3-next.0 + +### Patch Changes + +- 004499c: Fixed an issue where some Okta's resolvers were missing +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.1-next.0 + - @backstage/plugin-auth-backend-module-atlassian-provider@0.1.1-next.0 + - @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.3-next.0 + - @backstage/plugin-auth-backend-module-github-provider@0.1.6-next.0 + - @backstage/plugin-auth-backend-module-gitlab-provider@0.1.6-next.0 + - @backstage/plugin-auth-backend-module-google-provider@0.1.6-next.0 + - @backstage/plugin-auth-backend-module-oauth2-provider@0.1.6-next.0 + - @backstage/plugin-auth-backend-module-okta-provider@0.0.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.20.1 + +### Patch Changes + +- 7ac2575: `oauth2-proxy` auth implementation has been moved to `@backstage/plugin-auth-backend-module-oauth2-proxy-provider` +- 2a5891e: Migrate the atlassian auth provider to be implemented using the new `@backstage/plugin-auth-backend-module-atlassian-provider` module +- 783797a: fix static token issuer not being able to initialize +- e1c189b: The Okta provider implementation is moved to the new module +- a62764b: Updated dependency `passport` to `^0.7.0`. +- bcbbf8e: Updated dependency `@google-cloud/firestore` to `^7.0.0`. +- Updated dependencies + - @backstage/plugin-auth-backend-module-atlassian-provider@0.1.0 + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-auth-backend-module-okta-provider@0.0.1 + - @backstage/plugin-auth-backend-module-gitlab-provider@0.1.5 + - @backstage/plugin-auth-backend-module-oauth2-provider@0.1.5 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.2 + - @backstage/plugin-auth-backend-module-google-provider@0.1.5 + - @backstage/plugin-auth-backend-module-github-provider@0.1.5 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.20.1-next.3 ### Patch Changes diff --git a/plugins/auth-backend/api-report.md b/plugins/auth-backend/api-report.md index c269a09d2c..d80648a10f 100644 --- a/plugins/auth-backend/api-report.md +++ b/plugins/auth-backend/api-report.md @@ -592,6 +592,8 @@ export const providers: Readonly<{ | undefined, ) => AuthProviderFactory_2; resolvers: Readonly<{ + emailLocalPartMatchingUserEntityName: () => SignInResolver; + emailMatchingUserEntityProfileEmail: () => SignInResolver; emailMatchingUserEntityAnnotation(): SignInResolver; }>; }>; diff --git a/plugins/auth-backend/package.json b/plugins/auth-backend/package.json index 90c1469686..6b472f1853 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.20.1-next.3", + "version": "0.20.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -48,7 +48,6 @@ "@backstage/plugin-auth-backend-module-okta-provider": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", "@backstage/plugin-catalog-node": "workspace:^", - "@backstage/types": "workspace:^", "@google-cloud/firestore": "^7.0.0", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", diff --git a/plugins/auth-backend/src/identity/DatabaseKeyStore.test.ts b/plugins/auth-backend/src/identity/DatabaseKeyStore.test.ts index cf415c7e13..f86c4a400b 100644 --- a/plugins/auth-backend/src/identity/DatabaseKeyStore.test.ts +++ b/plugins/auth-backend/src/identity/DatabaseKeyStore.test.ts @@ -28,9 +28,7 @@ const keyBase = { jest.setTimeout(60_000); describe('DatabaseKeyStore', () => { - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); it.each(databases.eachSupportedId())( 'should store a key, %p', diff --git a/plugins/auth-backend/src/migrations.test.ts b/plugins/auth-backend/src/migrations.test.ts index 194bbbf44c..f80b729975 100644 --- a/plugins/auth-backend/src/migrations.test.ts +++ b/plugins/auth-backend/src/migrations.test.ts @@ -42,9 +42,7 @@ async function migrateUntilBefore(knex: Knex, target: string): Promise { jest.setTimeout(60_000); describe('migrations', () => { - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); it.each(databases.eachSupportedId())( '20230428155633_sessions.js, %p', diff --git a/plugins/auth-backend/src/providers/okta/provider.ts b/plugins/auth-backend/src/providers/okta/provider.ts index 4c8d5c37d7..669914e7fc 100644 --- a/plugins/auth-backend/src/providers/okta/provider.ts +++ b/plugins/auth-backend/src/providers/okta/provider.ts @@ -24,6 +24,10 @@ import { adaptLegacyOAuthSignInResolver, } from '../../lib/legacy'; import { oktaAuthenticator } from '@backstage/plugin-auth-backend-module-okta-provider'; +import { + commonByEmailLocalPartResolver, + commonByEmailResolver, +} from '../resolvers'; /** * Auth provider integration for Okta auth @@ -51,6 +55,17 @@ export const okta = createAuthProviderIntegration({ }); }, resolvers: { + /** + * Looks up the user by matching their email local part to the entity name. + */ + emailLocalPartMatchingUserEntityName: () => commonByEmailLocalPartResolver, + /** + * Looks up the user by matching their email to the entity email. + */ + emailMatchingUserEntityProfileEmail: () => commonByEmailResolver, + /** + * Looks up the user by matching their email to the `okta.com/email` annotation. + */ emailMatchingUserEntityAnnotation(): SignInResolver { return async (info, ctx) => { const { profile } = info; diff --git a/plugins/auth-backend/src/setupTests.ts b/plugins/auth-backend/src/setupTests.ts index d3232290a7..f7c56ef27d 100644 --- a/plugins/auth-backend/src/setupTests.ts +++ b/plugins/auth-backend/src/setupTests.ts @@ -14,4 +14,10 @@ * limitations under the License. */ +import { TestDatabases } from '@backstage/backend-test-utils'; + export {}; + +TestDatabases.setDefaults({ + ids: ['MYSQL_8', 'POSTGRES_16', 'POSTGRES_12', 'SQLITE_3'], +}); diff --git a/plugins/auth-node/CHANGELOG.md b/plugins/auth-node/CHANGELOG.md index 7a90a9a7b9..29409291a1 100644 --- a/plugins/auth-node/CHANGELOG.md +++ b/plugins/auth-node/CHANGELOG.md @@ -1,5 +1,33 @@ # @backstage/plugin-auth-node +## 0.4.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## 0.4.2 + +### Patch Changes + +- a62764b: Updated dependency `passport` to `^0.7.0`. +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.4.2-next.3 ### Patch Changes diff --git a/plugins/auth-node/package.json b/plugins/auth-node/package.json index e53a58bab8..f01d8585cb 100644 --- a/plugins/auth-node/package.json +++ b/plugins/auth-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-node", - "version": "0.4.2-next.3", + "version": "0.4.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -43,7 +43,7 @@ "node-fetch": "^2.6.7", "passport": "^0.7.0", "winston": "^3.2.1", - "zod": "^3.21.4", + "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4" }, "devDependencies": { diff --git a/plugins/azure-devops-backend/CHANGELOG.md b/plugins/azure-devops-backend/CHANGELOG.md index 4340f3d5b4..9f5e8bba5a 100644 --- a/plugins/azure-devops-backend/CHANGELOG.md +++ b/plugins/azure-devops-backend/CHANGELOG.md @@ -1,5 +1,44 @@ # @backstage/plugin-azure-devops-backend +## 0.5.1-next.0 + +### Patch Changes + +- d076ee4: Updated dependency `azure-devops-node-api` to `^12.0.0`. +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + - @backstage/plugin-azure-devops-common@0.3.2 + - @backstage/plugin-catalog-common@1.0.19 + +## 0.5.0 + +### Minor Changes + +- 844969c: **BREAKING** New `fromConfig` static method must be used now when creating an instance of the `AzureDevOpsApi` + + Added support for using the `AzureDevOpsCredentialsProvider` + +### Patch Changes + +- c70e4f5: Added multi-org support +- 646db72: Updated encoding of Org to use `encodeURIComponent` when building URL used to get credentials from credential provider +- 043b724: Introduced new `AzureDevOpsAnnotatorProcessor` that adds the needed annotations automatically. Also, moved constants to common package so they can be shared more easily +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/plugin-azure-devops-common@0.3.2 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + ## 0.5.0-next.3 ### Patch Changes diff --git a/plugins/azure-devops-backend/package.json b/plugins/azure-devops-backend/package.json index 2cea688b83..4af59c20d7 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.5.0-next.3", + "version": "0.5.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -37,7 +37,7 @@ "@backstage/plugin-catalog-common": "workspace:^", "@backstage/plugin-catalog-node": "workspace:^", "@types/express": "^4.17.6", - "azure-devops-node-api": "^11.0.1", + "azure-devops-node-api": "^12.0.0", "express": "^4.17.1", "express-promise-router": "^4.1.0", "lodash": "^4.17.21", @@ -49,7 +49,6 @@ "devDependencies": { "@backstage/cli": "workspace:^", "@types/supertest": "^2.0.8", - "msw": "^1.0.0", "supertest": "^6.1.6" }, "files": [ diff --git a/plugins/azure-devops-common/CHANGELOG.md b/plugins/azure-devops-common/CHANGELOG.md index b210026660..1709b96073 100644 --- a/plugins/azure-devops-common/CHANGELOG.md +++ b/plugins/azure-devops-common/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-azure-devops-common +## 0.3.2 + +### Patch Changes + +- c70e4f5: Added multi-org support +- 043b724: Introduced new `AzureDevOpsAnnotatorProcessor` that adds the needed annotations automatically. Also, moved constants to common package so they can be shared more easily + ## 0.3.2-next.1 ### Patch Changes diff --git a/plugins/azure-devops-common/package.json b/plugins/azure-devops-common/package.json index 634fe1743f..21e9245e38 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.3.2-next.1", + "version": "0.3.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/azure-devops/CHANGELOG.md b/plugins/azure-devops/CHANGELOG.md index f314bf765b..10badef815 100644 --- a/plugins/azure-devops/CHANGELOG.md +++ b/plugins/azure-devops/CHANGELOG.md @@ -1,5 +1,34 @@ # @backstage/plugin-azure-devops +## 0.3.11-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-azure-devops-common@0.3.2 + +## 0.3.10 + +### Patch Changes + +- c70e4f5: Added multi-org support +- 7c9af0b: Added support for annotations that use a subpath for the host. Also validated that the annotations have the correct number of slashes. +- 043b724: Introduced new `AzureDevOpsAnnotatorProcessor` that adds the needed annotations automatically. Also, moved constants to common package so they can be shared more easily +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-azure-devops-common@0.3.2 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.3.10-next.3 ### Patch Changes diff --git a/plugins/azure-devops/package.json b/plugins/azure-devops/package.json index 8a70e9a1d7..d7e24b9b3e 100644 --- a/plugins/azure-devops/package.json +++ b/plugins/azure-devops/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-azure-devops", - "version": "0.3.10-next.3", + "version": "0.3.11-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,10 +35,8 @@ "@backstage/errors": "workspace:^", "@backstage/plugin-azure-devops-common": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "humanize-duration": "^3.27.0", "luxon": "^3.0.0", @@ -51,14 +49,11 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/azure-sites-backend/CHANGELOG.md b/plugins/azure-sites-backend/CHANGELOG.md index a7e7d85ea3..91c2abe2fa 100644 --- a/plugins/azure-sites-backend/CHANGELOG.md +++ b/plugins/azure-sites-backend/CHANGELOG.md @@ -1,5 +1,26 @@ # @backstage/plugin-azure-sites-backend +## 0.1.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-azure-sites-common@0.1.1 + +## 0.1.18 + +### Patch Changes + +- 99fb541: Updated dependency `@azure/identity` to `^4.0.0`. +- b7a13ed: Updated dependency `@azure/arm-appservice` to `^14.0.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/config@1.1.1 + - @backstage/plugin-azure-sites-common@0.1.1 + ## 0.1.18-next.3 ### Patch Changes diff --git a/plugins/azure-sites-backend/package.json b/plugins/azure-sites-backend/package.json index aa6993c77f..65f3a8dd36 100644 --- a/plugins/azure-sites-backend/package.json +++ b/plugins/azure-sites-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-azure-sites-backend", - "version": "0.1.18-next.3", + "version": "0.1.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -47,8 +47,7 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@types/supertest": "^2.0.8", - "msw": "^1.0.0" + "@types/supertest": "^2.0.8" }, "files": [ "dist" diff --git a/plugins/azure-sites/CHANGELOG.md b/plugins/azure-sites/CHANGELOG.md index 04d6f392df..fb6dd36cfd 100644 --- a/plugins/azure-sites/CHANGELOG.md +++ b/plugins/azure-sites/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-azure-sites +## 0.1.18-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-azure-sites-common@0.1.1 + +## 0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-azure-sites-common@0.1.1 + ## 0.1.17-next.3 ### Patch Changes diff --git a/plugins/azure-sites/package.json b/plugins/azure-sites/package.json index b83f6e673d..59109b2df0 100644 --- a/plugins/azure-sites/package.json +++ b/plugins/azure-sites/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-azure-sites", - "version": "0.1.17-next.3", + "version": "0.1.18-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -38,7 +38,6 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-azure-sites-common": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", @@ -53,13 +52,11 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/badges-backend/CHANGELOG.md b/plugins/badges-backend/CHANGELOG.md index 67a64b4c32..f37c1f4266 100644 --- a/plugins/badges-backend/CHANGELOG.md +++ b/plugins/badges-backend/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/plugin-badges-backend +## 0.3.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.3.5 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.3.5-next.3 ### Patch Changes diff --git a/plugins/badges-backend/package.json b/plugins/badges-backend/package.json index c1b2b6f685..4951aecebd 100644 --- a/plugins/badges-backend/package.json +++ b/plugins/badges-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-badges-backend", "description": "A Backstage backend plugin that generates README badges for your entities", - "version": "0.3.5-next.3", + "version": "0.3.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -55,8 +55,7 @@ "devDependencies": { "@backstage/backend-test-utils": "workspace:^", "@backstage/catalog-client": "workspace:^", - "@backstage/cli": "workspace:^", - "cross-fetch": "^4.0.0" + "@backstage/cli": "workspace:^" }, "files": [ "dist", diff --git a/plugins/badges/CHANGELOG.md b/plugins/badges/CHANGELOG.md index b14c3cd11a..7aeabef3ed 100644 --- a/plugins/badges/CHANGELOG.md +++ b/plugins/badges/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-badges +## 0.2.53-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.2.52 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.2.52-next.3 ### Patch Changes diff --git a/plugins/badges/package.json b/plugins/badges/package.json index db5fa08704..16ffe4a9b2 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.52-next.3", + "version": "0.2.53-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,10 +35,7 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "react-use": "^17.2.4" }, @@ -49,7 +46,6 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/jest-dom": "^6.0.0" diff --git a/plugins/bazaar-backend/CHANGELOG.md b/plugins/bazaar-backend/CHANGELOG.md index e631496023..0b87c1f59a 100644 --- a/plugins/bazaar-backend/CHANGELOG.md +++ b/plugins/bazaar-backend/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-bazaar-backend +## 0.3.7-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.3.6 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.3.6-next.3 ### Patch Changes diff --git a/plugins/bazaar-backend/package.json b/plugins/bazaar-backend/package.json index 43ee0e0207..4a2320b5d8 100644 --- a/plugins/bazaar-backend/package.json +++ b/plugins/bazaar-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-bazaar-backend", - "version": "0.3.6-next.3", + "version": "0.3.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -44,7 +44,6 @@ "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", "@backstage/config": "workspace:^", - "@backstage/errors": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", "@types/express": "^4.17.6", "express": "^4.17.1", diff --git a/plugins/bazaar-backend/src/service/DatabaseHandler.test.ts b/plugins/bazaar-backend/src/service/DatabaseHandler.test.ts index 4e46581240..39fa01ed3f 100644 --- a/plugins/bazaar-backend/src/service/DatabaseHandler.test.ts +++ b/plugins/bazaar-backend/src/service/DatabaseHandler.test.ts @@ -36,7 +36,7 @@ jest.setTimeout(60_000); describe('DatabaseHandler', () => { const databases = TestDatabases.create({ - ids: ['POSTGRES_13', 'POSTGRES_9', 'SQLITE_3', 'MYSQL_8'], + ids: ['POSTGRES_16', 'POSTGRES_12', 'SQLITE_3', 'MYSQL_8'], }); function createDatabaseManager( diff --git a/plugins/bazaar/CHANGELOG.md b/plugins/bazaar/CHANGELOG.md index eaae9c9c94..84b4768eca 100644 --- a/plugins/bazaar/CHANGELOG.md +++ b/plugins/bazaar/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/plugin-bazaar +## 0.2.21-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.2.20 + +### Patch Changes + +- 5d79682: Internalize 'AboutField' to break catalog dependency +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.2.20-next.4 ### Patch Changes diff --git a/plugins/bazaar/package.json b/plugins/bazaar/package.json index 710a21ae15..a080641be6 100644 --- a/plugins/bazaar/package.json +++ b/plugins/bazaar/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-bazaar", - "version": "0.2.20-next.4", + "version": "0.2.21-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,7 +35,6 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@date-io/luxon": "1.x", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", diff --git a/plugins/bitbucket-cloud-common/CHANGELOG.md b/plugins/bitbucket-cloud-common/CHANGELOG.md index 12d38ed830..d2883dce02 100644 --- a/plugins/bitbucket-cloud-common/CHANGELOG.md +++ b/plugins/bitbucket-cloud-common/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-bitbucket-cloud-common +## 0.2.15 + +### Patch Changes + +- acf9390: Updated dependency `ts-morph` to `^20.0.0`. +- Updated dependencies + - @backstage/integration@1.8.0 + ## 0.2.15-next.1 ### Patch Changes diff --git a/plugins/bitbucket-cloud-common/package.json b/plugins/bitbucket-cloud-common/package.json index 5525510d5e..d9a11c9a5d 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.2.15-next.1", + "version": "0.2.15", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/bitrise/CHANGELOG.md b/plugins/bitrise/CHANGELOG.md index c9f562c2a1..919a64b00a 100644 --- a/plugins/bitrise/CHANGELOG.md +++ b/plugins/bitrise/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-bitrise +## 0.1.56-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.1.55 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + ## 0.1.55-next.3 ### Patch Changes diff --git a/plugins/bitrise/package.json b/plugins/bitrise/package.json index da5ae1c2ec..0c52084ef6 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.55-next.3", + "version": "0.1.56-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,7 +34,6 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", diff --git a/plugins/catalog-backend-module-aws/CHANGELOG.md b/plugins/catalog-backend-module-aws/CHANGELOG.md index d9297ce418..4de2a5c143 100644 --- a/plugins/catalog-backend-module-aws/CHANGELOG.md +++ b/plugins/catalog-backend-module-aws/CHANGELOG.md @@ -1,5 +1,42 @@ # @backstage/plugin-catalog-backend-module-aws +## 0.3.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-kubernetes-common@0.7.3-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/integration-aws-node@0.1.8 + - @backstage/plugin-catalog-common@1.0.19 + +## 0.3.2 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-kubernetes-common@0.7.2 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration-aws-node@0.1.8 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + ## 0.3.2-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-aws/package.json b/plugins/catalog-backend-module-aws/package.json index b3c441cbb8..6d796327f0 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.3.2-next.3", + "version": "0.3.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -62,8 +62,6 @@ "@backstage/plugin-catalog-common": "workspace:^", "@backstage/plugin-catalog-node": "workspace:^", "@backstage/plugin-kubernetes-common": "workspace:^", - "@backstage/types": "workspace:^", - "lodash": "^4.17.21", "p-limit": "^3.0.2", "uuid": "^8.0.0", "winston": "^3.2.1" @@ -72,7 +70,6 @@ "@aws-sdk/util-stream-node": "^3.350.0", "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", - "@types/lodash": "^4.14.151", "aws-sdk-client-mock": "^3.0.0", "aws-sdk-client-mock-jest": "^3.0.0", "luxon": "^3.0.0", diff --git a/plugins/catalog-backend-module-azure/CHANGELOG.md b/plugins/catalog-backend-module-azure/CHANGELOG.md index a0ecc2fe0d..91dcc09bab 100644 --- a/plugins/catalog-backend-module-azure/CHANGELOG.md +++ b/plugins/catalog-backend-module-azure/CHANGELOG.md @@ -1,5 +1,36 @@ # @backstage/plugin-catalog-backend-module-azure +## 0.1.28-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + - @backstage/plugin-catalog-common@1.0.19 + +## 0.1.27 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + ## 0.1.27-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-azure/package.json b/plugins/catalog-backend-module-azure/package.json index 8287f8039c..10fcfd5252 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.27-next.3", + "version": "0.1.28-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -48,14 +48,10 @@ "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", "@backstage/backend-tasks": "workspace:^", - "@backstage/catalog-model": "workspace:^", "@backstage/config": "workspace:^", - "@backstage/errors": "workspace:^", "@backstage/integration": "workspace:^", "@backstage/plugin-catalog-common": "workspace:^", "@backstage/plugin-catalog-node": "workspace:^", - "@backstage/types": "workspace:^", - "lodash": "^4.17.21", "node-fetch": "^2.6.7", "uuid": "^8.0.0", "winston": "^3.2.1" @@ -63,7 +59,6 @@ "devDependencies": { "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", - "@types/lodash": "^4.14.151", "luxon": "^3.0.0", "msw": "^1.0.0" }, diff --git a/plugins/catalog-backend-module-backstage-openapi/CHANGELOG.md b/plugins/catalog-backend-module-backstage-openapi/CHANGELOG.md index 44ee408c57..6d3c580b9f 100644 --- a/plugins/catalog-backend-module-backstage-openapi/CHANGELOG.md +++ b/plugins/catalog-backend-module-backstage-openapi/CHANGELOG.md @@ -1,5 +1,35 @@ # @backstage/plugin-catalog-backend-module-backstage-openapi +## 0.1.2-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-openapi-utils@0.1.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## 0.1.1 + +### Patch Changes + +- eb44e92: Support authenticated backends +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-openapi-utils@0.1.1 + - @backstage/backend-tasks@0.5.13 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.1-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-backstage-openapi/package.json b/plugins/catalog-backend-module-backstage-openapi/package.json index 716ab06a0c..b8d70ec5fc 100644 --- a/plugins/catalog-backend-module-backstage-openapi/package.json +++ b/plugins/catalog-backend-module-backstage-openapi/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-backstage-openapi", - "version": "0.1.1-next.3", + "version": "0.1.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,8 +31,6 @@ "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-node": "workspace:^", "cross-fetch": "^4.0.0", - "express": "^4.17.1", - "express-promise-router": "^4.1.0", "lodash": "^4.17.21", "openapi-merge": "^1.3.2", "uuid": "^9.0.0", @@ -40,12 +38,9 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/test-utils": "workspace:^", "@types/express": "*", "@types/supertest": "^2.0.8", - "msw": "^1.0.0", - "openapi3-ts": "^3.1.2", - "supertest": "^6.2.4" + "openapi3-ts": "^3.1.2" }, "configSchema": "config.d.ts", "files": [ diff --git a/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md index caf297e134..2830c9eb17 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md +++ b/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md @@ -1,5 +1,40 @@ # @backstage/plugin-catalog-backend-module-bitbucket-cloud +## 0.1.24-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.15 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-events-node@0.2.18-next.0 + +## 0.1.23 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-bitbucket-cloud-common@0.2.15 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-events-node@0.2.17 + ## 0.1.23-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-bitbucket-cloud/package.json b/plugins/catalog-backend-module-bitbucket-cloud/package.json index 85175ce7dd..c3e5c420da 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.23-next.3", + "version": "0.1.24-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md index 77ccb6bbd5..d17640f94e 100644 --- a/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md +++ b/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md @@ -1,5 +1,34 @@ # @backstage/plugin-catalog-backend-module-bitbucket-server +## 0.1.22-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + +## 0.1.21 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.21-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-bitbucket-server/package.json b/plugins/catalog-backend-module-bitbucket-server/package.json index 5d2ddc70fe..0d8796c2c5 100644 --- a/plugins/catalog-backend-module-bitbucket-server/package.json +++ b/plugins/catalog-backend-module-bitbucket-server/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-bitbucket-server", - "version": "0.1.21-next.3", + "version": "0.1.22-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-bitbucket/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket/CHANGELOG.md index 22b3cbea69..8ef5e7a394 100644 --- a/plugins/catalog-backend-module-bitbucket/CHANGELOG.md +++ b/plugins/catalog-backend-module-bitbucket/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/plugin-catalog-backend-module-bitbucket +## 0.2.24-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.15 + +## 0.2.23 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.15 + - @backstage/integration@1.8.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.2.23-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-bitbucket/package.json b/plugins/catalog-backend-module-bitbucket/package.json index df99a943ae..214ea97fa3 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.23-next.3", + "version": "0.2.24-next.0", "deprecated": true, "main": "src/index.ts", "types": "src/index.ts", @@ -34,21 +34,16 @@ }, "dependencies": { "@backstage/backend-common": "workspace:^", - "@backstage/catalog-model": "workspace:^", "@backstage/config": "workspace:^", - "@backstage/errors": "workspace:^", "@backstage/integration": "workspace:^", "@backstage/plugin-bitbucket-cloud-common": "workspace:^", "@backstage/plugin-catalog-node": "workspace:^", - "@backstage/types": "workspace:^", - "lodash": "^4.17.21", "node-fetch": "^2.6.7", "winston": "^3.2.1" }, "devDependencies": { "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", - "@types/lodash": "^4.14.151", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/catalog-backend-module-gcp/CHANGELOG.md b/plugins/catalog-backend-module-gcp/CHANGELOG.md index 68629b2545..0b0a74de78 100644 --- a/plugins/catalog-backend-module-gcp/CHANGELOG.md +++ b/plugins/catalog-backend-module-gcp/CHANGELOG.md @@ -1,5 +1,33 @@ # @backstage/plugin-catalog-backend-module-gcp +## 0.1.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-kubernetes-common@0.7.3-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + +## 0.1.8 + +### Patch Changes + +- 42c1aee: Updated dependency `@google-cloud/container` to `^5.0.0`. +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-kubernetes-common@0.7.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + ## 0.1.8-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-gcp/package.json b/plugins/catalog-backend-module-gcp/package.json index 1fcb53cfdf..4e806a9eb2 100644 --- a/plugins/catalog-backend-module-gcp/package.json +++ b/plugins/catalog-backend-module-gcp/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-gcp", "description": "A Backstage catalog backend module that helps integrate towards GCP", - "version": "0.1.8-next.3", + "version": "0.1.9-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-gerrit/CHANGELOG.md b/plugins/catalog-backend-module-gerrit/CHANGELOG.md index c30871840b..47e45dbd84 100644 --- a/plugins/catalog-backend-module-gerrit/CHANGELOG.md +++ b/plugins/catalog-backend-module-gerrit/CHANGELOG.md @@ -1,5 +1,34 @@ # @backstage/plugin-catalog-backend-module-gerrit +## 0.1.25-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + +## 0.1.24 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.24-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-gerrit/package.json b/plugins/catalog-backend-module-gerrit/package.json index 0effbae5ce..a42d67d2a4 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.24-next.3", + "version": "0.1.25-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -44,7 +44,6 @@ "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", "@backstage/backend-tasks": "workspace:^", - "@backstage/catalog-model": "workspace:^", "@backstage/config": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/integration": "workspace:^", diff --git a/plugins/catalog-backend-module-github-org/CHANGELOG.md b/plugins/catalog-backend-module-github-org/CHANGELOG.md index b9b28cdbba..09e7045b9c 100644 --- a/plugins/catalog-backend-module-github-org/CHANGELOG.md +++ b/plugins/catalog-backend-module-github-org/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/plugin-catalog-backend-module-github-org +## 0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-backend-module-github@0.4.7-next.0 + +## 0.1.2 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-catalog-backend-module-github@0.4.6 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + ## 0.1.2-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-github-org/package.json b/plugins/catalog-backend-module-github-org/package.json index d25604d860..a91ef94077 100644 --- a/plugins/catalog-backend-module-github-org/package.json +++ b/plugins/catalog-backend-module-github-org/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-github-org", "description": "The github-org backend module for the catalog plugin.", - "version": "0.1.2-next.3", + "version": "0.1.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-github/CHANGELOG.md b/plugins/catalog-backend-module-github/CHANGELOG.md index b0dfa2dc42..b6944c2b5f 100644 --- a/plugins/catalog-backend-module-github/CHANGELOG.md +++ b/plugins/catalog-backend-module-github/CHANGELOG.md @@ -1,5 +1,40 @@ # @backstage/plugin-catalog-backend-module-github +## 0.4.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + - @backstage/plugin-catalog-backend@1.16.1-next.0 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-events-node@0.2.18-next.0 + +## 0.4.6 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/plugin-catalog-backend@1.16.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-events-node@0.2.17 + ## 0.4.6-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-github/package.json b/plugins/catalog-backend-module-github/package.json index 34ec382d6b..14fa9a11b4 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.4.6-next.3", + "version": "0.4.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-gitlab/CHANGELOG.md b/plugins/catalog-backend-module-gitlab/CHANGELOG.md index 41f6d7fa24..74820ebb93 100644 --- a/plugins/catalog-backend-module-gitlab/CHANGELOG.md +++ b/plugins/catalog-backend-module-gitlab/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/plugin-catalog-backend-module-gitlab +## 0.3.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + +## 0.3.5 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + ## 0.3.5-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-gitlab/package.json b/plugins/catalog-backend-module-gitlab/package.json index 9cabf7b62a..47f7eed952 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.3.5-next.3", + "version": "0.3.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-incremental-ingestion/CHANGELOG.md b/plugins/catalog-backend-module-incremental-ingestion/CHANGELOG.md index 44469a0c9b..94dee30045 100644 --- a/plugins/catalog-backend-module-incremental-ingestion/CHANGELOG.md +++ b/plugins/catalog-backend-module-incremental-ingestion/CHANGELOG.md @@ -1,5 +1,39 @@ # @backstage/plugin-catalog-backend-module-incremental-ingestion +## 0.4.13-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-backend@1.16.1-next.0 + - @backstage/plugin-events-node@0.2.18-next.0 + - @backstage/plugin-permission-common@0.7.11 + +## 0.4.12 + +### Patch Changes + +- 43b2eb8: Ensure that cursors always come back as JSON on sqlite too +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/plugin-catalog-backend@1.16.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-events-node@0.2.17 + ## 0.4.12-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-incremental-ingestion/package.json b/plugins/catalog-backend-module-incremental-ingestion/package.json index da8b3bb7fa..cac3f38ede 100644 --- a/plugins/catalog-backend-module-incremental-ingestion/package.json +++ b/plugins/catalog-backend-module-incremental-ingestion/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-incremental-ingestion", "description": "An entity provider for streaming large asset sources into the catalog", - "version": "0.4.12-next.3", + "version": "0.4.13-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-incremental-ingestion/src/module/WrapperProviders.test.ts b/plugins/catalog-backend-module-incremental-ingestion/src/module/WrapperProviders.test.ts index 7d138e4812..9416fa27eb 100644 --- a/plugins/catalog-backend-module-incremental-ingestion/src/module/WrapperProviders.test.ts +++ b/plugins/catalog-backend-module-incremental-ingestion/src/module/WrapperProviders.test.ts @@ -26,7 +26,7 @@ jest.setTimeout(60_000); describe('WrapperProviders', () => { const applyDatabaseMigrations = jest.fn(); const databases = TestDatabases.create({ - ids: ['POSTGRES_13', 'POSTGRES_9', 'SQLITE_3', 'MYSQL_8'], + ids: ['POSTGRES_16', 'POSTGRES_12', 'SQLITE_3', 'MYSQL_8'], }); const config = new ConfigReader({}); const logger = getVoidLogger(); diff --git a/plugins/catalog-backend-module-ldap/CHANGELOG.md b/plugins/catalog-backend-module-ldap/CHANGELOG.md index a4291cb685..f088af6495 100644 --- a/plugins/catalog-backend-module-ldap/CHANGELOG.md +++ b/plugins/catalog-backend-module-ldap/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/plugin-catalog-backend-module-ldap +## 0.5.24-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + +## 0.5.23 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + ## 0.5.23-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-ldap/package.json b/plugins/catalog-backend-module-ldap/package.json index 6ca6c0676f..e779fbd695 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.23-next.3", + "version": "0.5.24-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-msgraph/CHANGELOG.md b/plugins/catalog-backend-module-msgraph/CHANGELOG.md index 98bfc1ef63..77e0ea7d05 100644 --- a/plugins/catalog-backend-module-msgraph/CHANGELOG.md +++ b/plugins/catalog-backend-module-msgraph/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/plugin-catalog-backend-module-msgraph +## 0.5.16-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + +## 0.5.15 + +### Patch Changes + +- 99fb541: Updated dependency `@azure/identity` to `^4.0.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + ## 0.5.15-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-msgraph/package.json b/plugins/catalog-backend-module-msgraph/package.json index 518e893f5c..8f797f6294 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.5.15-next.3", + "version": "0.5.16-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-openapi/CHANGELOG.md b/plugins/catalog-backend-module-openapi/CHANGELOG.md index 14efb9d652..2914deff63 100644 --- a/plugins/catalog-backend-module-openapi/CHANGELOG.md +++ b/plugins/catalog-backend-module-openapi/CHANGELOG.md @@ -1,5 +1,33 @@ # @backstage/plugin-catalog-backend-module-openapi +## 0.1.26-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/integration@1.8.0 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-backend@1.16.1-next.0 + - @backstage/plugin-catalog-common@1.0.19 + +## 0.1.25 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/plugin-catalog-backend@1.16.0 + - @backstage/integration@1.8.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + ## 0.1.25-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-openapi/package.json b/plugins/catalog-backend-module-openapi/package.json index 5d3618ff72..2d038e1170 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.25-next.3", + "version": "0.1.26-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-puppetdb/CHANGELOG.md b/plugins/catalog-backend-module-puppetdb/CHANGELOG.md index 6442fdf9a8..ace6d28b41 100644 --- a/plugins/catalog-backend-module-puppetdb/CHANGELOG.md +++ b/plugins/catalog-backend-module-puppetdb/CHANGELOG.md @@ -1,5 +1,34 @@ # @backstage/plugin-catalog-backend-module-puppetdb +## 0.1.14-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## 0.1.13 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.1.13-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-puppetdb/package.json b/plugins/catalog-backend-module-puppetdb/package.json index f138d5cc7b..da5dda9a84 100644 --- a/plugins/catalog-backend-module-puppetdb/package.json +++ b/plugins/catalog-backend-module-puppetdb/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-puppetdb", "description": "A Backstage catalog backend module that helps integrate towards PuppetDB", - "version": "0.1.13-next.3", + "version": "0.1.14-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-scaffolder-entity-model/CHANGELOG.md b/plugins/catalog-backend-module-scaffolder-entity-model/CHANGELOG.md index 9bdb1dcdfa..42f2a7e372 100644 --- a/plugins/catalog-backend-module-scaffolder-entity-model/CHANGELOG.md +++ b/plugins/catalog-backend-module-scaffolder-entity-model/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/plugin-catalog-backend-module-scaffolder-entity-model +## 0.1.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-scaffolder-common@1.4.4 + +## 0.1.5 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-scaffolder-common@1.4.4 + ## 0.1.5-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-scaffolder-entity-model/package.json b/plugins/catalog-backend-module-scaffolder-entity-model/package.json index 065b08d7fa..385fb33127 100644 --- a/plugins/catalog-backend-module-scaffolder-entity-model/package.json +++ b/plugins/catalog-backend-module-scaffolder-entity-model/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-scaffolder-entity-model", "description": "Adds support for the scaffolder specific entity model (e.g. the Template kind) to the catalog backend plugin.", - "version": "0.1.5-next.3", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,7 +32,6 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", "@backstage/catalog-model": "workspace:^", "@backstage/plugin-catalog-common": "workspace:^", diff --git a/plugins/catalog-backend-module-unprocessed/CHANGELOG.md b/plugins/catalog-backend-module-unprocessed/CHANGELOG.md index ac82bd34b6..fe4e10cbfd 100644 --- a/plugins/catalog-backend-module-unprocessed/CHANGELOG.md +++ b/plugins/catalog-backend-module-unprocessed/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-catalog-backend-module-unprocessed +## 0.3.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.3.5 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + ## 0.3.5-next.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-unprocessed/package.json b/plugins/catalog-backend-module-unprocessed/package.json index 65f4e4e8b5..936d286eb6 100644 --- a/plugins/catalog-backend-module-unprocessed/package.json +++ b/plugins/catalog-backend-module-unprocessed/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-unprocessed", "description": "Backstage Catalog module to view unprocessed entities", - "version": "0.3.5-next.3", + "version": "0.3.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend/CHANGELOG.md b/plugins/catalog-backend/CHANGELOG.md index f92e10170a..e35f4cc4dd 100644 --- a/plugins/catalog-backend/CHANGELOG.md +++ b/plugins/catalog-backend/CHANGELOG.md @@ -1,5 +1,60 @@ # @backstage/plugin-catalog-backend +## 1.16.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-search-backend-module-catalog@0.1.13-next.0 + - @backstage/backend-openapi-utils@0.1.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-events-node@0.2.18-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## 1.16.0 + +### Minor Changes + +- 7804597: Permission rules can now be added for the Catalog plugin through the `CatalogPermissionExtensionPoint` interface. + +### Patch Changes + +- 3834067: Update the OpenAPI spec to support the use of `openapi-generator`. +- 50ee804: Wrap single `pipelineLoop` of TaskPipeline in a span for better traces +- 7123c58: Updated dependency `@types/glob` to `^8.0.0`. +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- a168507: Deprecated `EntitiesSearchFilter` and `EntityFilter`, which can now be imported from `@backstage/plugin-catalog-node` instead +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-openapi-utils@0.1.1 + - @backstage/backend-tasks@0.5.13 + - @backstage/integration@1.8.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/plugin-search-backend-module-catalog@0.1.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-events-node@0.2.17 + ## 1.16.0-next.3 ### Patch Changes diff --git a/plugins/catalog-backend/package.json b/plugins/catalog-backend/package.json index 8ac46ce975..cf243819cb 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.16.0-next.3", + "version": "1.16.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -82,7 +82,7 @@ "winston": "^3.2.1", "yaml": "^2.0.0", "yn": "^4.0.0", - "zod": "^3.21.4" + "zod": "^3.22.4" }, "devDependencies": { "@backstage/backend-test-utils": "workspace:^", diff --git a/plugins/catalog-backend/src/database/DefaultCatalogDatabase.test.ts b/plugins/catalog-backend/src/database/DefaultCatalogDatabase.test.ts index bcc20816a4..ebcdc77287 100644 --- a/plugins/catalog-backend/src/database/DefaultCatalogDatabase.test.ts +++ b/plugins/catalog-backend/src/database/DefaultCatalogDatabase.test.ts @@ -25,9 +25,7 @@ jest.setTimeout(60_000); describe('DefaultCatalogDatabase', () => { const defaultLogger = getVoidLogger(); - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); async function createDatabase( databaseId: TestDatabaseId, diff --git a/plugins/catalog-backend/src/database/DefaultProcessingDatabase.test.ts b/plugins/catalog-backend/src/database/DefaultProcessingDatabase.test.ts index db5153a8ba..080958da9b 100644 --- a/plugins/catalog-backend/src/database/DefaultProcessingDatabase.test.ts +++ b/plugins/catalog-backend/src/database/DefaultProcessingDatabase.test.ts @@ -37,9 +37,7 @@ jest.setTimeout(60_000); describe('DefaultProcessingDatabase', () => { const defaultLogger = getVoidLogger(); - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); async function createDatabase( databaseId: TestDatabaseId, diff --git a/plugins/catalog-backend/src/database/DefaultProviderDatabase.test.ts b/plugins/catalog-backend/src/database/DefaultProviderDatabase.test.ts index 19093b542b..0d124b6d33 100644 --- a/plugins/catalog-backend/src/database/DefaultProviderDatabase.test.ts +++ b/plugins/catalog-backend/src/database/DefaultProviderDatabase.test.ts @@ -28,9 +28,7 @@ jest.setTimeout(60_000); describe('DefaultProviderDatabase', () => { const defaultLogger = getVoidLogger(); - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); async function createDatabase( databaseId: TestDatabaseId, diff --git a/plugins/catalog-backend/src/database/operations/provider/deleteWithEagerPruningOfChildren.test.ts b/plugins/catalog-backend/src/database/operations/provider/deleteWithEagerPruningOfChildren.test.ts index 830cc20480..451f7bc1ac 100644 --- a/plugins/catalog-backend/src/database/operations/provider/deleteWithEagerPruningOfChildren.test.ts +++ b/plugins/catalog-backend/src/database/operations/provider/deleteWithEagerPruningOfChildren.test.ts @@ -28,9 +28,7 @@ import { deleteWithEagerPruningOfChildren } from './deleteWithEagerPruningOfChil jest.setTimeout(60_000); describe('deleteWithEagerPruningOfChildren', () => { - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); async function createDatabase(databaseId: TestDatabaseId) { const knex = await databases.init(databaseId); diff --git a/plugins/catalog-backend/src/database/operations/stitcher/getDeferredStitchableEntities.test.ts b/plugins/catalog-backend/src/database/operations/stitcher/getDeferredStitchableEntities.test.ts index a909515f14..b66dc74ef2 100644 --- a/plugins/catalog-backend/src/database/operations/stitcher/getDeferredStitchableEntities.test.ts +++ b/plugins/catalog-backend/src/database/operations/stitcher/getDeferredStitchableEntities.test.ts @@ -21,9 +21,7 @@ import { getDeferredStitchableEntities } from './getDeferredStitchableEntities'; jest.setTimeout(60_000); describe('getDeferredStitchableEntities', () => { - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); it.each(databases.eachSupportedId())( 'selects the right rows %p', diff --git a/plugins/catalog-backend/src/database/operations/stitcher/markDeferredStitchCompleted.test.ts b/plugins/catalog-backend/src/database/operations/stitcher/markDeferredStitchCompleted.test.ts index 76a6169cf4..b0957e0ec9 100644 --- a/plugins/catalog-backend/src/database/operations/stitcher/markDeferredStitchCompleted.test.ts +++ b/plugins/catalog-backend/src/database/operations/stitcher/markDeferredStitchCompleted.test.ts @@ -22,9 +22,7 @@ import { DbRefreshStateRow } from '../../tables'; jest.setTimeout(60_000); describe('markDeferredStitchCompleted', () => { - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); it.each(databases.eachSupportedId())( 'completes only if unchanged %p', diff --git a/plugins/catalog-backend/src/database/operations/stitcher/markForStitching.test.ts b/plugins/catalog-backend/src/database/operations/stitcher/markForStitching.test.ts index 2cae76040b..011fe54e83 100644 --- a/plugins/catalog-backend/src/database/operations/stitcher/markForStitching.test.ts +++ b/plugins/catalog-backend/src/database/operations/stitcher/markForStitching.test.ts @@ -22,9 +22,7 @@ import { DbFinalEntitiesRow, DbRefreshStateRow } from '../../tables'; jest.setTimeout(60_000); describe('markForStitching', () => { - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); it.each(databases.eachSupportedId())( 'marks the right rows in deferred mode %p', diff --git a/plugins/catalog-backend/src/database/operations/stitcher/performStitching.test.ts b/plugins/catalog-backend/src/database/operations/stitcher/performStitching.test.ts index a471f1dce2..e43424b361 100644 --- a/plugins/catalog-backend/src/database/operations/stitcher/performStitching.test.ts +++ b/plugins/catalog-backend/src/database/operations/stitcher/performStitching.test.ts @@ -30,9 +30,7 @@ import { performStitching } from './performStitching'; jest.setTimeout(60_000); describe('performStitching', () => { - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); const logger = getVoidLogger(); // NOTE(freben): Testing the deferred path since it's a superset of the immediate one diff --git a/plugins/catalog-backend/src/database/operations/util/deleteOrphanedEntities.test.ts b/plugins/catalog-backend/src/database/operations/util/deleteOrphanedEntities.test.ts index 3dacc8f09b..1dc8a42d5f 100644 --- a/plugins/catalog-backend/src/database/operations/util/deleteOrphanedEntities.test.ts +++ b/plugins/catalog-backend/src/database/operations/util/deleteOrphanedEntities.test.ts @@ -29,9 +29,7 @@ import { deleteOrphanedEntities } from './deleteOrphanedEntities'; jest.setTimeout(60_000); describe('deleteOrphanedEntities', () => { - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); async function createDatabase(databaseId: TestDatabaseId) { const knex = await databases.init(databaseId); diff --git a/plugins/catalog-backend/src/modules/core/DefaultLocationStore.test.ts b/plugins/catalog-backend/src/modules/core/DefaultLocationStore.test.ts index fca7faacf8..61eef2b8e5 100644 --- a/plugins/catalog-backend/src/modules/core/DefaultLocationStore.test.ts +++ b/plugins/catalog-backend/src/modules/core/DefaultLocationStore.test.ts @@ -22,9 +22,7 @@ import { DefaultLocationStore } from './DefaultLocationStore'; jest.setTimeout(60_000); describe('DefaultLocationStore', () => { - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); async function createLocationStore(databaseId: TestDatabaseId) { const knex = await databases.init(databaseId); diff --git a/plugins/catalog-backend/src/service/DefaultEntitiesCatalog.test.ts b/plugins/catalog-backend/src/service/DefaultEntitiesCatalog.test.ts index fde3408c4b..fe7d57c89a 100644 --- a/plugins/catalog-backend/src/service/DefaultEntitiesCatalog.test.ts +++ b/plugins/catalog-backend/src/service/DefaultEntitiesCatalog.test.ts @@ -44,9 +44,7 @@ describe('DefaultEntitiesCatalog', () => { await knex.destroy(); }); - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); const stitch = jest.fn(); const stitcher: Stitcher = { stitch } as any; diff --git a/plugins/catalog-backend/src/service/DefaultRefreshService.test.ts b/plugins/catalog-backend/src/service/DefaultRefreshService.test.ts index 5b29bb34d5..e1b775cce6 100644 --- a/plugins/catalog-backend/src/service/DefaultRefreshService.test.ts +++ b/plugins/catalog-backend/src/service/DefaultRefreshService.test.ts @@ -39,9 +39,7 @@ jest.setTimeout(60_000); describe('DefaultRefreshService', () => { const defaultLogger = getVoidLogger(); - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); async function createDatabase( databaseId: TestDatabaseId, diff --git a/plugins/catalog-backend/src/setupTests.ts b/plugins/catalog-backend/src/setupTests.ts index d3232290a7..f7c56ef27d 100644 --- a/plugins/catalog-backend/src/setupTests.ts +++ b/plugins/catalog-backend/src/setupTests.ts @@ -14,4 +14,10 @@ * limitations under the License. */ +import { TestDatabases } from '@backstage/backend-test-utils'; + export {}; + +TestDatabases.setDefaults({ + ids: ['MYSQL_8', 'POSTGRES_16', 'POSTGRES_12', 'SQLITE_3'], +}); diff --git a/plugins/catalog-backend/src/stitching/DefaultStitcher.test.ts b/plugins/catalog-backend/src/stitching/DefaultStitcher.test.ts index 5b33fc424c..5e7ba7ef71 100644 --- a/plugins/catalog-backend/src/stitching/DefaultStitcher.test.ts +++ b/plugins/catalog-backend/src/stitching/DefaultStitcher.test.ts @@ -30,9 +30,7 @@ import { DefaultStitcher } from './DefaultStitcher'; jest.setTimeout(60_000); describe('Stitcher', () => { - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); const logger = getVoidLogger(); it.each(databases.eachSupportedId())( diff --git a/plugins/catalog-backend/src/tests/migrations.test.ts b/plugins/catalog-backend/src/tests/migrations.test.ts index aa305598aa..d961427f5e 100644 --- a/plugins/catalog-backend/src/tests/migrations.test.ts +++ b/plugins/catalog-backend/src/tests/migrations.test.ts @@ -42,9 +42,7 @@ async function migrateUntilBefore(knex: Knex, target: string): Promise { jest.setTimeout(60_000); describe('migrations', () => { - const databases = TestDatabases.create({ - ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], - }); + const databases = TestDatabases.create(); it.each(databases.eachSupportedId())( 'latest version correctly cascades deletions, %p', diff --git a/plugins/catalog-backend/src/tests/performance/stitchingPerformance.test.ts b/plugins/catalog-backend/src/tests/performance/stitchingPerformance.test.ts index 7902a5e230..e0d3f87124 100644 --- a/plugins/catalog-backend/src/tests/performance/stitchingPerformance.test.ts +++ b/plugins/catalog-backend/src/tests/performance/stitchingPerformance.test.ts @@ -155,7 +155,7 @@ class Tracker { describePerformanceTest('stitchingPerformance', () => { const databases = TestDatabases.create({ - ids: [/* 'MYSQL_8', */ 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], + ids: [/* 'MYSQL_8', */ 'POSTGRES_16', 'POSTGRES_12', 'SQLITE_3'], }); it.each(databases.eachSupportedId())( diff --git a/plugins/catalog-common/CHANGELOG.md b/plugins/catalog-common/CHANGELOG.md index 15582a68fc..92415ecff9 100644 --- a/plugins/catalog-common/CHANGELOG.md +++ b/plugins/catalog-common/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-catalog-common +## 1.0.19 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-search-common@1.2.9 + ## 1.0.18 ### Patch Changes diff --git a/plugins/catalog-common/package.json b/plugins/catalog-common/package.json index 45720ee32a..3c4bc34997 100644 --- a/plugins/catalog-common/package.json +++ b/plugins/catalog-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-common", "description": "Common functionalities for the catalog plugin", - "version": "1.0.18", + "version": "1.0.19", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-graph/CHANGELOG.md b/plugins/catalog-graph/CHANGELOG.md index 5d71e57694..c6103b845e 100644 --- a/plugins/catalog-graph/CHANGELOG.md +++ b/plugins/catalog-graph/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/plugin-catalog-graph +## 0.3.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/types@1.1.1 + +## 0.3.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/types@1.1.1 + ## 0.3.2-next.3 ### Patch Changes diff --git a/plugins/catalog-graph/package.json b/plugins/catalog-graph/package.json index c9d3e66b04..4884dd4e52 100644 --- a/plugins/catalog-graph/package.json +++ b/plugins/catalog-graph/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-graph", - "version": "0.3.2-next.3", + "version": "0.3.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,7 +34,6 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@backstage/types": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", diff --git a/plugins/catalog-import/CHANGELOG.md b/plugins/catalog-import/CHANGELOG.md index 804f7f629b..5d4b195477 100644 --- a/plugins/catalog-import/CHANGELOG.md +++ b/plugins/catalog-import/CHANGELOG.md @@ -1,5 +1,45 @@ # @backstage/plugin-catalog-import +## 0.10.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-catalog-common@1.0.19 + +## 0.10.4 + +### Patch Changes + +- 03d0b6d: The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/catalog-client@1.5.0 + - @backstage/integration@1.8.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + ## 0.10.4-next.4 ### Patch Changes diff --git a/plugins/catalog-import/package.json b/plugins/catalog-import/package.json index 33d64e27e1..fdf787f8cb 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.10.4-next.4", + "version": "0.10.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-node/CHANGELOG.md b/plugins/catalog-node/CHANGELOG.md index 439ebf882e..80d2c3ac02 100644 --- a/plugins/catalog-node/CHANGELOG.md +++ b/plugins/catalog-node/CHANGELOG.md @@ -1,5 +1,39 @@ # @backstage/plugin-catalog-node +## 1.6.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## 1.6.0 + +### Minor Changes + +- a168507: Added `EntitiesSearchFilter` and `EntityFilter` from `@backstage/plugin-catalog-backend`, for reuse +- 7804597: Permission rules can now be added for the Catalog plugin through the `CatalogPermissionExtensionPoint` interface. + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + ## 1.6.0-next.3 ### Patch Changes diff --git a/plugins/catalog-node/package.json b/plugins/catalog-node/package.json index 662d49be7e..3e26a12dae 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": "1.6.0-next.3", + "version": "1.6.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -52,7 +52,6 @@ "@backstage/types": "workspace:^" }, "devDependencies": { - "@backstage/backend-common": "workspace:^", "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^" }, diff --git a/plugins/catalog-react/CHANGELOG.md b/plugins/catalog-react/CHANGELOG.md index 9b148e7367..b24b7f8fd0 100644 --- a/plugins/catalog-react/CHANGELOG.md +++ b/plugins/catalog-react/CHANGELOG.md @@ -1,5 +1,57 @@ # @backstage/plugin-catalog-react +## 1.9.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-permission-common@0.7.11 + +## 1.9.2 + +### Patch Changes + +- 8587f06: Added pagination support to `EntityListProvider`. +- 5360097: Ensure that passed-in icons are taken advantage of in the presentation API +- fd9863c: Grouped all `/alpha` extension data reference exports under `catalogExtensionData`. +- 08d9e67: Add default icon for kind resource. +- aaa6fb3: Minor updates for TypeScript 5.2.2+ compatibility +- a5a0473: Internal refactor of alpha exports due to a change in how extension factories are defined. +- 4d9e3b3: Register component overrides in the global `OverrideComponentNameToClassKeys` provided by `@backstage/theme`. This will in turn will provide component style override types for `createUnifiedTheme`. +- 8f5d6c1: Updates to the `/alpha` exports to match the extension input wrapping change. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- e223f22: Breaking alpha-API change to entity visibility filter functions to accept a bare entity as their first argument, instead of an object with an entity property. + + Functions that accept such filters now also support the string expression form of filters. + +- eee0ff2: Fixed a issue where `CatalogPage` wasn't using the chosen `initiallySelectedFilter` as intended. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-catalog-common@1.0.19 + ## 1.9.2-next.3 ### Patch Changes diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json index c81554836d..a9375cbe97 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.9.2-next.3", + "version": "1.9.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -56,7 +56,6 @@ "@backstage/plugin-catalog-common": "workspace:^", "@backstage/plugin-permission-common": "workspace:^", "@backstage/plugin-permission-react": "workspace:^", - "@backstage/theme": "workspace:^", "@backstage/types": "workspace:^", "@backstage/version-bridge": "workspace:^", "@material-ui/core": "^4.12.2", diff --git a/plugins/catalog-unprocessed-entities/CHANGELOG.md b/plugins/catalog-unprocessed-entities/CHANGELOG.md index f00957c931..df9f04ecf1 100644 --- a/plugins/catalog-unprocessed-entities/CHANGELOG.md +++ b/plugins/catalog-unprocessed-entities/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-catalog-unprocessed-entities +## 0.1.7-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.1.6 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.1.6-next.3 ### Patch Changes diff --git a/plugins/catalog-unprocessed-entities/package.json b/plugins/catalog-unprocessed-entities/package.json index 183b7d585b..3be97424e0 100644 --- a/plugins/catalog-unprocessed-entities/package.json +++ b/plugins/catalog-unprocessed-entities/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-unprocessed-entities", - "version": "0.1.6-next.3", + "version": "0.1.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,7 +33,6 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.9.13", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "^4.0.0-alpha.60", @@ -47,13 +46,9 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/catalog/CHANGELOG.md b/plugins/catalog/CHANGELOG.md index 51024e6338..2ac6f07771 100644 --- a/plugins/catalog/CHANGELOG.md +++ b/plugins/catalog/CHANGELOG.md @@ -1,5 +1,86 @@ # @backstage/plugin-catalog +## 1.16.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-scaffolder-common@1.4.4 + - @backstage/plugin-search-common@1.2.9 + +## 1.16.0 + +### Minor Changes + +- e223f22: Properly support both function- and string-form visibility filter expressions in the new extensions exported via `/alpha`. +- b8e1eb2: The `columns` prop can be an array or a function that returns an array in order to override the default columns of the `CatalogIndexPage`. + +### Patch Changes + +- bc7e6d3: Fix copy entity url function in http contexts. +- 5360097: Ensure that passed-in icons are taken advantage of in the presentation API +- 4785d05: Add permission check to catalog create and refresh button +- cd910c4: - Fixes bug where after unregistering an entity you are redirected to `/`. + - Adds an optional external route `unregisterRedirect` to override this behaviour to another route. +- 03d0b6d: The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. +- 2d708d8: Internal naming updates for `/alpha` exports. +- a5a0473: Internal refactor of alpha exports due to a change in how extension factories are defined. +- 4d9e3b3: Register component overrides in the global `OverrideComponentNameToClassKeys` provided by `@backstage/theme`. This will in turn will provide component style override types for `createUnifiedTheme`. +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 78a10bb: Adding in spec.type chip to search results for clarity +- 8f5d6c1: Updates to the `/alpha` exports to match the extension input wrapping change. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- 8587f06: Added pagination support to `CatalogIndexPage` + + `CatalogIndexPage` now offers an optional pagination feature, designed to accommodate adopters managing extensive catalogs. This new capability allows for better handling of large amounts of data. + + To activate the pagination mode, simply update your `App.tsx` as follows: + + ```diff + const routes = ( + + ... + - } /> + + } /> + ... + ``` + + In case you have a custom catalog page and you want to enable pagination, you need to pass the `pagination` prop to `EntityListProvider` instead. + +- fb8f3bd: Updated alpha translation message keys to use nested format and camel case. +- 531e1a2: Updated alpha plugin to include the `unregisterRedirect` external route. +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-search-react@1.7.4 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-scaffolder-common@1.4.4 + - @backstage/plugin-search-common@1.2.9 + ## 1.16.0-next.4 ### Patch Changes diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index fe47a85037..c88ac2f5d8 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.16.0-next.4", + "version": "1.16.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -60,7 +60,6 @@ "@backstage/plugin-scaffolder-common": "workspace:^", "@backstage/plugin-search-common": "workspace:^", "@backstage/plugin-search-react": "workspace:^", - "@backstage/theme": "workspace:^", "@backstage/types": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", diff --git a/plugins/cicd-statistics-module-gitlab/CHANGELOG.md b/plugins/cicd-statistics-module-gitlab/CHANGELOG.md index bde2158d46..12d965b987 100644 --- a/plugins/cicd-statistics-module-gitlab/CHANGELOG.md +++ b/plugins/cicd-statistics-module-gitlab/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-cicd-statistics-module-gitlab +## 0.1.25-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-cicd-statistics@0.1.31-next.0 + +## 0.1.24 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-cicd-statistics@0.1.30 + - @backstage/catalog-model@1.4.3 + ## 0.1.24-next.3 ### Patch Changes diff --git a/plugins/cicd-statistics-module-gitlab/package.json b/plugins/cicd-statistics-module-gitlab/package.json index 2dead68573..2fab00cb21 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.24-next.3", + "version": "0.1.25-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/cicd-statistics/CHANGELOG.md b/plugins/cicd-statistics/CHANGELOG.md index 62ebdd811b..6b9ad147a2 100644 --- a/plugins/cicd-statistics/CHANGELOG.md +++ b/plugins/cicd-statistics/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-cicd-statistics +## 0.1.31-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.1.30 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/catalog-model@1.4.3 + ## 0.1.30-next.3 ### Patch Changes diff --git a/plugins/cicd-statistics/package.json b/plugins/cicd-statistics/package.json index c6f88b1d5c..176f67addf 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.30-next.3", + "version": "0.1.31-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/circleci/CHANGELOG.md b/plugins/circleci/CHANGELOG.md index ab69cc3953..1df8316f19 100644 --- a/plugins/circleci/CHANGELOG.md +++ b/plugins/circleci/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/plugin-circleci +## 0.3.29-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.3.28 + +### Patch Changes + +- 375b6f7: CircelCI plugin moved permanently +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + ## 0.3.28-next.3 ### Patch Changes diff --git a/plugins/circleci/package.json b/plugins/circleci/package.json index 87079d5e4d..742cbbcb02 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.28-next.3", + "version": "0.3.29-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -38,10 +38,8 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "circleci-api": "^4.0.0", "humanize-duration": "^3.27.0", @@ -56,16 +54,8 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", - "@testing-library/dom": "^9.0.0", - "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/humanize-duration": "^3.25.1", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@types/humanize-duration": "^3.25.1" }, "files": [ "dist" diff --git a/plugins/cloudbuild/CHANGELOG.md b/plugins/cloudbuild/CHANGELOG.md index fbac569ffa..0b555b2dff 100644 --- a/plugins/cloudbuild/CHANGELOG.md +++ b/plugins/cloudbuild/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-cloudbuild +## 0.3.29-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.3.28 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + ## 0.3.28-next.3 ### Patch Changes diff --git a/plugins/cloudbuild/package.json b/plugins/cloudbuild/package.json index 4766934bc2..953442642d 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.28-next.3", + "version": "0.3.29-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -38,10 +38,8 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "luxon": "^3.0.0", "qs": "^6.9.4", @@ -54,15 +52,11 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/code-climate/CHANGELOG.md b/plugins/code-climate/CHANGELOG.md index 58a36cd8e7..73b14ac4e5 100644 --- a/plugins/code-climate/CHANGELOG.md +++ b/plugins/code-climate/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-code-climate +## 0.1.29-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.1.28 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + ## 0.1.28-next.3 ### Patch Changes diff --git a/plugins/code-climate/package.json b/plugins/code-climate/package.json index 8afc0e33a3..837e926dab 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.28-next.3", + "version": "0.1.29-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,10 +33,7 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "humanize-duration": "^3.27.1", "luxon": "^3.0.0", @@ -54,10 +51,8 @@ "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "@types/humanize-duration": "^3.27.1", - "@types/luxon": "^3.0.0", - "msw": "^1.0.0" + "@types/luxon": "^3.0.0" }, "files": [ "dist" diff --git a/plugins/code-coverage-backend/CHANGELOG.md b/plugins/code-coverage-backend/CHANGELOG.md index d38ef1a36d..7d5f9aaf72 100644 --- a/plugins/code-coverage-backend/CHANGELOG.md +++ b/plugins/code-coverage-backend/CHANGELOG.md @@ -1,5 +1,34 @@ # @backstage/plugin-code-coverage-backend +## 0.2.23-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.2.22 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/integration@1.8.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.2.22-next.3 ### Patch Changes diff --git a/plugins/code-coverage-backend/package.json b/plugins/code-coverage-backend/package.json index 888dcc0db1..145ec79ba8 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.2.22-next.3", + "version": "0.2.23-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -51,7 +51,6 @@ "@backstage/cli": "workspace:^", "@types/body-parser-xml": "^2.0.2", "@types/supertest": "^2.0.8", - "msw": "^1.0.0", "supertest": "^6.1.6", "xml2js": "^0.6.0" }, diff --git a/plugins/code-coverage/CHANGELOG.md b/plugins/code-coverage/CHANGELOG.md index 9289ea2944..adcab657ec 100644 --- a/plugins/code-coverage/CHANGELOG.md +++ b/plugins/code-coverage/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/plugin-code-coverage +## 0.2.22-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.2.21 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.2.21-next.3 ### Patch Changes diff --git a/plugins/code-coverage/package.json b/plugins/code-coverage/package.json index 755b59677f..664adc3546 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.2.21-next.3", + "version": "0.2.22-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,12 +31,10 @@ }, "dependencies": { "@backstage/catalog-model": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", @@ -53,17 +51,13 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "@types/highlightjs": "^10.1.0", "@types/react": "^16.13.1 || ^17.0.0", - "@types/recharts": "^1.8.15", - "msw": "^1.0.0" + "@types/recharts": "^1.8.15" }, "files": [ "dist" diff --git a/plugins/codescene/CHANGELOG.md b/plugins/codescene/CHANGELOG.md index dac9d6b355..7229678c36 100644 --- a/plugins/codescene/CHANGELOG.md +++ b/plugins/codescene/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-codescene +## 0.1.21-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.1.20 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.20-next.3 ### Patch Changes diff --git a/plugins/codescene/package.json b/plugins/codescene/package.json index ce336bf62b..2240b531df 100644 --- a/plugins/codescene/package.json +++ b/plugins/codescene/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-codescene", - "version": "0.1.20-next.3", + "version": "0.1.21-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,9 +33,7 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "rc-progress": "3.5.1", @@ -54,7 +52,6 @@ "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/config-schema/CHANGELOG.md b/plugins/config-schema/CHANGELOG.md index ed0a5a458d..d47ccb32cc 100644 --- a/plugins/config-schema/CHANGELOG.md +++ b/plugins/config-schema/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/plugin-config-schema +## 0.1.49-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## 0.1.48 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.1.48-next.3 ### Patch Changes diff --git a/plugins/config-schema/package.json b/plugins/config-schema/package.json index 0b0b6670fa..7fe3f3765b 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.48-next.3", + "version": "0.1.49-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,11 +30,9 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/config": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", - "@backstage/theme": "workspace:^", "@backstage/types": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -51,14 +49,10 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/cost-insights/CHANGELOG.md b/plugins/cost-insights/CHANGELOG.md index 7054c20e7b..d55171b198 100644 --- a/plugins/cost-insights/CHANGELOG.md +++ b/plugins/cost-insights/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/plugin-cost-insights +## 0.12.18-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/plugin-cost-insights-common@0.1.2 + +## 0.12.17 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-cost-insights-common@0.1.2 + ## 0.12.17-next.3 ### Patch Changes diff --git a/plugins/cost-insights/package.json b/plugins/cost-insights/package.json index 9d181e75ed..dc5eff8bd4 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.12.17-next.3", + "version": "0.12.18-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -74,9 +74,7 @@ "@types/recharts": "^1.8.14", "@types/regression": "^2.0.0", "@types/yup": "^0.29.13", - "canvas": "^2.10.2", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "canvas": "^2.10.2" }, "files": [ "dist", diff --git a/plugins/devtools-backend/CHANGELOG.md b/plugins/devtools-backend/CHANGELOG.md index 56ab441e2a..d9746b8928 100644 --- a/plugins/devtools-backend/CHANGELOG.md +++ b/plugins/devtools-backend/CHANGELOG.md @@ -1,5 +1,40 @@ # @backstage/plugin-devtools-backend +## 0.2.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/config-loader@1.6.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-devtools-common@0.1.7 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## 0.2.5 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/config-loader@1.6.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-devtools-common@0.1.7 + ## 0.2.5-next.3 ### Patch Changes diff --git a/plugins/devtools-backend/package.json b/plugins/devtools-backend/package.json index 0122fd3757..18013bc52f 100644 --- a/plugins/devtools-backend/package.json +++ b/plugins/devtools-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-devtools-backend", - "version": "0.2.5-next.3", + "version": "0.2.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -59,7 +59,6 @@ "@types/ping": "^0.4.1", "@types/supertest": "^2.0.8", "@types/yarnpkg__lockfile": "^1.1.4", - "msw": "^1.0.0", "supertest": "^6.2.4" }, "files": [ diff --git a/plugins/devtools-common/CHANGELOG.md b/plugins/devtools-common/CHANGELOG.md index adcc675218..9ede428d75 100644 --- a/plugins/devtools-common/CHANGELOG.md +++ b/plugins/devtools-common/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-devtools-common +## 0.1.7 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + - @backstage/types@1.1.1 + ## 0.1.6 ### Patch Changes diff --git a/plugins/devtools-common/package.json b/plugins/devtools-common/package.json index 6cf7f36cbc..24884efed2 100644 --- a/plugins/devtools-common/package.json +++ b/plugins/devtools-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-devtools-common", "description": "Common functionalities for the devtools plugin", - "version": "0.1.6", + "version": "0.1.7", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/devtools/CHANGELOG.md b/plugins/devtools/CHANGELOG.md index f8374bd235..affa5cd11b 100644 --- a/plugins/devtools/CHANGELOG.md +++ b/plugins/devtools/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/plugin-devtools +## 0.1.8-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-devtools-common@0.1.7 + +## 0.1.7 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-devtools-common@0.1.7 + ## 0.1.7-next.3 ### Patch Changes diff --git a/plugins/devtools/package.json b/plugins/devtools/package.json index a46dd308d5..e74020d8ed 100644 --- a/plugins/devtools/package.json +++ b/plugins/devtools/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-devtools", - "version": "0.1.7-next.3", + "version": "0.1.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,8 +34,6 @@ "@backstage/errors": "workspace:^", "@backstage/plugin-devtools-common": "workspace:^", "@backstage/plugin-permission-react": "workspace:^", - "@backstage/theme": "workspace:^", - "@backstage/types": "workspace:^", "@material-ui/core": "^4.9.13", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "^4.0.0-alpha.57", @@ -50,14 +48,9 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/dynatrace/CHANGELOG.md b/plugins/dynatrace/CHANGELOG.md index 33c6c61cec..2287773676 100644 --- a/plugins/dynatrace/CHANGELOG.md +++ b/plugins/dynatrace/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-dynatrace +## 8.0.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 8.0.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + ## 8.0.2-next.3 ### Patch Changes diff --git a/plugins/dynatrace/package.json b/plugins/dynatrace/package.json index be758b3776..cca164acdd 100644 --- a/plugins/dynatrace/package.json +++ b/plugins/dynatrace/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-dynatrace", - "version": "8.0.2-next.3", + "version": "8.0.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,10 +32,7 @@ "@backstage/catalog-model": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "react-use": "^17.2.4" }, @@ -52,10 +49,7 @@ "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "express": "^4.18.1", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist", diff --git a/plugins/entity-feedback-backend/CHANGELOG.md b/plugins/entity-feedback-backend/CHANGELOG.md index f18d643d0c..955bcc7b16 100644 --- a/plugins/entity-feedback-backend/CHANGELOG.md +++ b/plugins/entity-feedback-backend/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/plugin-entity-feedback-backend +## 0.2.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-entity-feedback-common@0.1.3 + +## 0.2.5 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-entity-feedback-common@0.1.3 + ## 0.2.5-next.3 ### Patch Changes diff --git a/plugins/entity-feedback-backend/package.json b/plugins/entity-feedback-backend/package.json index a1b964111e..0b6789c232 100644 --- a/plugins/entity-feedback-backend/package.json +++ b/plugins/entity-feedback-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-entity-feedback-backend", - "version": "0.2.5-next.3", + "version": "0.2.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -47,7 +47,6 @@ "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", "@types/supertest": "^2.0.12", - "msw": "^1.0.0", "supertest": "^6.2.4" }, "files": [ diff --git a/plugins/entity-feedback/CHANGELOG.md b/plugins/entity-feedback/CHANGELOG.md index 27d576676c..94447bd01e 100644 --- a/plugins/entity-feedback/CHANGELOG.md +++ b/plugins/entity-feedback/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/plugin-entity-feedback +## 0.2.12-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-entity-feedback-common@0.1.3 + +## 0.2.11 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-entity-feedback-common@0.1.3 + ## 0.2.11-next.3 ### Patch Changes diff --git a/plugins/entity-feedback/package.json b/plugins/entity-feedback/package.json index 6c1170c76c..9948d413db 100644 --- a/plugins/entity-feedback/package.json +++ b/plugins/entity-feedback/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-entity-feedback", - "version": "0.2.11-next.3", + "version": "0.2.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,10 +35,8 @@ "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-entity-feedback-common": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.9.13", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "react-use": "^17.2.4" }, @@ -49,8 +47,6 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", - "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", diff --git a/plugins/entity-validation/CHANGELOG.md b/plugins/entity-validation/CHANGELOG.md index dce963751f..69c9399724 100644 --- a/plugins/entity-validation/CHANGELOG.md +++ b/plugins/entity-validation/CHANGELOG.md @@ -1,5 +1,34 @@ # @backstage/plugin-entity-validation +## 0.1.14-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + +## 0.1.13 + +### Patch Changes + +- a518c5a: Updated dependency `@react-hookz/web` to `^23.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + ## 0.1.13-next.3 ### Patch Changes diff --git a/plugins/entity-validation/package.json b/plugins/entity-validation/package.json index 4e7e6e263e..825bbeafd1 100644 --- a/plugins/entity-validation/package.json +++ b/plugins/entity-validation/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-entity-validation", - "version": "0.1.13-next.3", + "version": "0.1.14-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,7 +36,6 @@ "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-common": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@codemirror/language": "^6.0.0", "@codemirror/legacy-modes": "^6.1.0", "@codemirror/view": "^6.0.0", @@ -57,14 +56,10 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/events-backend-module-aws-sqs/CHANGELOG.md b/plugins/events-backend-module-aws-sqs/CHANGELOG.md index 44dacd5115..0ab41943ec 100644 --- a/plugins/events-backend-module-aws-sqs/CHANGELOG.md +++ b/plugins/events-backend-module-aws-sqs/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/plugin-events-backend-module-aws-sqs +## 0.2.12-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.18-next.0 + +## 0.2.11 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.17 + ## 0.2.11-next.3 ### Patch Changes diff --git a/plugins/events-backend-module-aws-sqs/package.json b/plugins/events-backend-module-aws-sqs/package.json index f5fc57d1f8..d497c6de9f 100644 --- a/plugins/events-backend-module-aws-sqs/package.json +++ b/plugins/events-backend-module-aws-sqs/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-aws-sqs", - "version": "0.2.11-next.3", + "version": "0.2.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend-module-azure/CHANGELOG.md b/plugins/events-backend-module-azure/CHANGELOG.md index 8b1cb8bd29..807c825d91 100644 --- a/plugins/events-backend-module-azure/CHANGELOG.md +++ b/plugins/events-backend-module-azure/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-events-backend-module-azure +## 0.1.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-events-node@0.2.18-next.0 + +## 0.1.18 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + - @backstage/plugin-events-node@0.2.17 + ## 0.1.18-next.3 ### Patch Changes diff --git a/plugins/events-backend-module-azure/package.json b/plugins/events-backend-module-azure/package.json index 5f093ac27d..d945422857 100644 --- a/plugins/events-backend-module-azure/package.json +++ b/plugins/events-backend-module-azure/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-azure", - "version": "0.1.18-next.3", + "version": "0.1.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -48,8 +48,7 @@ "devDependencies": { "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", - "@backstage/plugin-events-backend-test-utils": "workspace:^", - "supertest": "^6.1.3" + "@backstage/plugin-events-backend-test-utils": "workspace:^" }, "files": [ "dist" diff --git a/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md b/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md index 4c4abbc66f..541786fce3 100644 --- a/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md +++ b/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-events-backend-module-bitbucket-cloud +## 0.1.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-events-node@0.2.18-next.0 + +## 0.1.18 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + - @backstage/plugin-events-node@0.2.17 + ## 0.1.18-next.3 ### Patch Changes diff --git a/plugins/events-backend-module-bitbucket-cloud/package.json b/plugins/events-backend-module-bitbucket-cloud/package.json index 1983fa5d5b..e66a26f6a2 100644 --- a/plugins/events-backend-module-bitbucket-cloud/package.json +++ b/plugins/events-backend-module-bitbucket-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-bitbucket-cloud", - "version": "0.1.18-next.3", + "version": "0.1.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -48,8 +48,7 @@ "devDependencies": { "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", - "@backstage/plugin-events-backend-test-utils": "workspace:^", - "supertest": "^6.1.3" + "@backstage/plugin-events-backend-test-utils": "workspace:^" }, "files": [ "dist" diff --git a/plugins/events-backend-module-gerrit/CHANGELOG.md b/plugins/events-backend-module-gerrit/CHANGELOG.md index 729eabb6e7..c726a43518 100644 --- a/plugins/events-backend-module-gerrit/CHANGELOG.md +++ b/plugins/events-backend-module-gerrit/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-events-backend-module-gerrit +## 0.1.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-events-node@0.2.18-next.0 + +## 0.1.18 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + - @backstage/plugin-events-node@0.2.17 + ## 0.1.18-next.3 ### Patch Changes diff --git a/plugins/events-backend-module-gerrit/package.json b/plugins/events-backend-module-gerrit/package.json index 8d7e031051..fea2863bf9 100644 --- a/plugins/events-backend-module-gerrit/package.json +++ b/plugins/events-backend-module-gerrit/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-gerrit", - "version": "0.1.18-next.3", + "version": "0.1.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -48,8 +48,7 @@ "devDependencies": { "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", - "@backstage/plugin-events-backend-test-utils": "workspace:^", - "supertest": "^6.1.3" + "@backstage/plugin-events-backend-test-utils": "workspace:^" }, "files": [ "dist" diff --git a/plugins/events-backend-module-github/CHANGELOG.md b/plugins/events-backend-module-github/CHANGELOG.md index 78d88dcf1b..7095909f37 100644 --- a/plugins/events-backend-module-github/CHANGELOG.md +++ b/plugins/events-backend-module-github/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-events-backend-module-github +## 0.1.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.18-next.0 + +## 0.1.18 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.17 + ## 0.1.18-next.3 ### Patch Changes diff --git a/plugins/events-backend-module-github/package.json b/plugins/events-backend-module-github/package.json index d13de61d00..f1420fffa5 100644 --- a/plugins/events-backend-module-github/package.json +++ b/plugins/events-backend-module-github/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-github", - "version": "0.1.18-next.3", + "version": "0.1.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -50,8 +50,7 @@ "devDependencies": { "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", - "@backstage/plugin-events-backend-test-utils": "workspace:^", - "supertest": "^6.1.3" + "@backstage/plugin-events-backend-test-utils": "workspace:^" }, "files": [ "config.d.ts", diff --git a/plugins/events-backend-module-gitlab/CHANGELOG.md b/plugins/events-backend-module-gitlab/CHANGELOG.md index 5c29343b00..5f2d5e3b2c 100644 --- a/plugins/events-backend-module-gitlab/CHANGELOG.md +++ b/plugins/events-backend-module-gitlab/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-events-backend-module-gitlab +## 0.1.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.18-next.0 + +## 0.1.18 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.17 + ## 0.1.18-next.3 ### Patch Changes diff --git a/plugins/events-backend-module-gitlab/package.json b/plugins/events-backend-module-gitlab/package.json index f25ce2c3c2..020d7de04b 100644 --- a/plugins/events-backend-module-gitlab/package.json +++ b/plugins/events-backend-module-gitlab/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-gitlab", - "version": "0.1.18-next.3", + "version": "0.1.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -49,8 +49,7 @@ "devDependencies": { "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", - "@backstage/plugin-events-backend-test-utils": "workspace:^", - "supertest": "^6.1.3" + "@backstage/plugin-events-backend-test-utils": "workspace:^" }, "files": [ "config.d.ts", diff --git a/plugins/events-backend-test-utils/CHANGELOG.md b/plugins/events-backend-test-utils/CHANGELOG.md index 9f77c1fef5..2ad2105440 100644 --- a/plugins/events-backend-test-utils/CHANGELOG.md +++ b/plugins/events-backend-test-utils/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-events-backend-test-utils +## 0.1.19-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.18-next.0 + +## 0.1.18 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.17 + ## 0.1.18-next.3 ### Patch Changes diff --git a/plugins/events-backend-test-utils/package.json b/plugins/events-backend-test-utils/package.json index 2695fa5933..d367250edc 100644 --- a/plugins/events-backend-test-utils/package.json +++ b/plugins/events-backend-test-utils/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-events-backend-test-utils", "description": "The plugin-events-backend-test-utils for @backstage/plugin-events-node", - "version": "0.1.18-next.3", + "version": "0.1.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend/CHANGELOG.md b/plugins/events-backend/CHANGELOG.md index f7df514251..5d9d250172 100644 --- a/plugins/events-backend/CHANGELOG.md +++ b/plugins/events-backend/CHANGELOG.md @@ -1,5 +1,26 @@ # @backstage/plugin-events-backend +## 0.2.18-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.18-next.0 + +## 0.2.17 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.17 + ## 0.2.17-next.3 ### Patch Changes diff --git a/plugins/events-backend/package.json b/plugins/events-backend/package.json index 7a1d31d12b..8aef0acc70 100644 --- a/plugins/events-backend/package.json +++ b/plugins/events-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend", - "version": "0.2.17-next.3", + "version": "0.2.18-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-node/CHANGELOG.md b/plugins/events-node/CHANGELOG.md index e4c27aa6f8..aa58475b77 100644 --- a/plugins/events-node/CHANGELOG.md +++ b/plugins/events-node/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-events-node +## 0.2.18-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + +## 0.2.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + ## 0.2.17-next.3 ### Patch Changes diff --git a/plugins/events-node/package.json b/plugins/events-node/package.json index 49310859ac..09a75d1b2d 100644 --- a/plugins/events-node/package.json +++ b/plugins/events-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-events-node", "description": "The plugin-events-node module for @backstage/plugin-events-backend", - "version": "0.2.17-next.3", + "version": "0.2.18-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/example-todo-list-backend/CHANGELOG.md b/plugins/example-todo-list-backend/CHANGELOG.md index af578f3f03..b3a567eac6 100644 --- a/plugins/example-todo-list-backend/CHANGELOG.md +++ b/plugins/example-todo-list-backend/CHANGELOG.md @@ -1,5 +1,26 @@ # @internal/plugin-todo-list-backend +## 1.0.21-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 1.0.20 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 1.0.20-next.3 ### Patch Changes diff --git a/plugins/example-todo-list-backend/package.json b/plugins/example-todo-list-backend/package.json index a61918dbfa..f3e02b5229 100644 --- a/plugins/example-todo-list-backend/package.json +++ b/plugins/example-todo-list-backend/package.json @@ -1,6 +1,6 @@ { "name": "@internal/plugin-todo-list-backend", - "version": "1.0.20-next.3", + "version": "1.0.21-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,7 +31,6 @@ "dependencies": { "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", "@types/express": "^4.17.6", @@ -45,7 +44,6 @@ "@backstage/cli": "workspace:^", "@types/supertest": "^2.0.8", "@types/uuid": "^8.0.0", - "msw": "^1.0.0", "supertest": "^6.1.6" }, "files": [ diff --git a/plugins/example-todo-list-common/CHANGELOG.md b/plugins/example-todo-list-common/CHANGELOG.md index c4d964b881..bef3cf1d40 100644 --- a/plugins/example-todo-list-common/CHANGELOG.md +++ b/plugins/example-todo-list-common/CHANGELOG.md @@ -1,5 +1,12 @@ # @internal/plugin-todo-list-common +## 1.0.16 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + ## 1.0.15 ### Patch Changes diff --git a/plugins/example-todo-list-common/package.json b/plugins/example-todo-list-common/package.json index 33ec099414..6a3b2897eb 100644 --- a/plugins/example-todo-list-common/package.json +++ b/plugins/example-todo-list-common/package.json @@ -1,6 +1,6 @@ { "name": "@internal/plugin-todo-list-common", - "version": "1.0.15", + "version": "1.0.16", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,12 +33,7 @@ "@backstage/plugin-permission-common": "workspace:^" }, "devDependencies": { - "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", - "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@backstage/cli": "workspace:^" }, "files": [ "dist" diff --git a/plugins/example-todo-list/CHANGELOG.md b/plugins/example-todo-list/CHANGELOG.md index 25763c593c..a5963caab1 100644 --- a/plugins/example-todo-list/CHANGELOG.md +++ b/plugins/example-todo-list/CHANGELOG.md @@ -1,5 +1,22 @@ # @internal/plugin-todo-list +## 1.0.21-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## 1.0.20 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + ## 1.0.20-next.3 ### Patch Changes diff --git a/plugins/example-todo-list/package.json b/plugins/example-todo-list/package.json index adcf28504b..ab16b6d25e 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.20-next.3", + "version": "1.0.21-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,9 +32,7 @@ "dependencies": { "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "react-use": "^17.2.4" }, @@ -45,15 +43,10 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", - "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/react": "^16.13.1 || ^17.0.0", - "msw": "^1.0.0" + "@types/react": "^16.13.1 || ^17.0.0" }, "files": [ "dist" diff --git a/plugins/explore-backend/CHANGELOG.md b/plugins/explore-backend/CHANGELOG.md index f577fb85ec..dca7f1ac45 100644 --- a/plugins/explore-backend/CHANGELOG.md +++ b/plugins/explore-backend/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-explore-backend +## 0.0.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-search-backend-module-explore@0.1.13-next.0 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + +## 0.0.18 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-search-backend-module-explore@0.1.12 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.9 + ## 0.0.18-next.3 ### Patch Changes diff --git a/plugins/explore-backend/package.json b/plugins/explore-backend/package.json index 6d8ce9c77a..eeae05e3cd 100644 --- a/plugins/explore-backend/package.json +++ b/plugins/explore-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-explore-backend", - "version": "0.0.18-next.3", + "version": "0.0.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,7 +32,6 @@ "@backstage/config": "workspace:^", "@backstage/plugin-explore-common": "workspace:^", "@backstage/plugin-search-backend-module-explore": "workspace:^", - "@backstage/plugin-search-common": "workspace:^", "@backstage/types": "workspace:^", "@types/express": "*", "express": "^4.18.1", @@ -45,7 +44,6 @@ "devDependencies": { "@backstage/cli": "workspace:^", "@types/supertest": "^2.0.8", - "msw": "^1.0.0", "supertest": "^6.2.4" }, "files": [ diff --git a/plugins/explore-react/CHANGELOG.md b/plugins/explore-react/CHANGELOG.md index 08217fd6de..f97c4de0cf 100644 --- a/plugins/explore-react/CHANGELOG.md +++ b/plugins/explore-react/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-explore-react +## 0.0.35-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-explore-common@0.0.2 + +## 0.0.34 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-explore-common@0.0.2 + ## 0.0.34-next.1 ### Patch Changes diff --git a/plugins/explore-react/package.json b/plugins/explore-react/package.json index aee56ab3fd..3baf95c579 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.34-next.1", + "version": "0.0.35-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -43,15 +43,10 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/react": "^16.13.1 || ^17.0.0", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@types/react": "^16.13.1 || ^17.0.0" }, "files": [ "dist" diff --git a/plugins/explore/CHANGELOG.md b/plugins/explore/CHANGELOG.md index 813af58492..51c4ae7d7f 100644 --- a/plugins/explore/CHANGELOG.md +++ b/plugins/explore/CHANGELOG.md @@ -1,5 +1,42 @@ # @backstage/plugin-explore +## 0.4.15-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-explore-react@0.0.35-next.0 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.9 + +## 0.4.14 + +### Patch Changes + +- aac659e: Added option to set `Direction` for the graph in the `GroupsDiagram` +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-search-react@1.7.4 + - @backstage/plugin-explore-react@0.0.34 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.9 + ## 0.4.14-next.3 ### Patch Changes diff --git a/plugins/explore/api-report.md b/plugins/explore/api-report.md index d32a133685..532b853671 100644 --- a/plugins/explore/api-report.md +++ b/plugins/explore/api-report.md @@ -8,6 +8,7 @@ import { ApiRef } from '@backstage/core-plugin-api'; import { BackstagePlugin } from '@backstage/core-plugin-api'; import { default as default_2 } from 'react'; +import { DependencyGraphTypes } from '@backstage/core-components'; import { DiscoveryApi } from '@backstage/core-plugin-api'; import { DomainEntity } from '@backstage/catalog-model'; import { ExploreToolsConfig } from '@backstage/plugin-explore-react'; @@ -110,6 +111,7 @@ export const exploreRouteRef: RouteRef; // @public (undocumented) export const GroupsExplorerContent: (props: { title?: string | undefined; + direction?: DependencyGraphTypes.Direction | undefined; }) => JSX_2.Element; // @public (undocumented) diff --git a/plugins/explore/package.json b/plugins/explore/package.json index bb2b3dc227..ded35f4be5 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.4.14-next.3", + "version": "0.4.15-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -56,10 +56,8 @@ "@backstage/plugin-explore-react": "workspace:^", "@backstage/plugin-search-common": "workspace:^", "@backstage/plugin-search-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "classnames": "^2.2.6", "pluralize": "^8.0.0", @@ -79,8 +77,6 @@ "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/explore/src/components/GroupsExplorerContent/GroupsDiagram.tsx b/plugins/explore/src/components/GroupsExplorerContent/GroupsDiagram.tsx index ea989c2834..f7f0eab0bd 100644 --- a/plugins/explore/src/components/GroupsExplorerContent/GroupsDiagram.tsx +++ b/plugins/explore/src/components/GroupsExplorerContent/GroupsDiagram.tsx @@ -164,7 +164,9 @@ function RenderNode(props: DependencyGraphTypes.RenderNodeProps) { /** * Dynamically generates a diagram of groups registered in the catalog. */ -export function GroupsDiagram() { +export function GroupsDiagram(props: { + direction?: DependencyGraphTypes.Direction; +}) { const nodes = new Array<{ id: string; kind: string; @@ -243,7 +245,7 @@ export function GroupsDiagram() { nodes={nodes} edges={edges} nodeMargin={10} - direction={DependencyGraphTypes.Direction.RIGHT_LEFT} + direction={props.direction || DependencyGraphTypes.Direction.RIGHT_LEFT} renderNode={RenderNode} className={classes.graph} fit="contain" diff --git a/plugins/explore/src/components/GroupsExplorerContent/GroupsExplorerContent.tsx b/plugins/explore/src/components/GroupsExplorerContent/GroupsExplorerContent.tsx index 61757a35b6..27a7f629ad 100644 --- a/plugins/explore/src/components/GroupsExplorerContent/GroupsExplorerContent.tsx +++ b/plugins/explore/src/components/GroupsExplorerContent/GroupsExplorerContent.tsx @@ -19,6 +19,7 @@ import { GroupsDiagram } from './GroupsDiagram'; import { Content, ContentHeader, + DependencyGraphTypes, SupportButton, } from '@backstage/core-components'; import { makeStyles } from '@material-ui/core/styles'; @@ -34,7 +35,10 @@ const useStyles = makeStyles( { name: 'ExploreGroupsContent' }, ); -export const GroupsExplorerContent = (props: { title?: string }) => { +export const GroupsExplorerContent = (props: { + title?: string; + direction?: DependencyGraphTypes.Direction; +}) => { const classes = useStyles(); return ( @@ -42,7 +46,7 @@ export const GroupsExplorerContent = (props: { title?: string }) => { Explore your groups. - + ); }; diff --git a/plugins/firehydrant/CHANGELOG.md b/plugins/firehydrant/CHANGELOG.md index 50eadc3653..d71c78edf8 100644 --- a/plugins/firehydrant/CHANGELOG.md +++ b/plugins/firehydrant/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-firehydrant +## 0.2.13-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.2.12 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + ## 0.2.12-next.3 ### Patch Changes diff --git a/plugins/firehydrant/package.json b/plugins/firehydrant/package.json index 96efe16909..fb06edb1d4 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.2.12-next.3", + "version": "0.2.13-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,10 +34,8 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "luxon": "^3.0.0", "react-use": "^17.2.4" @@ -54,9 +52,7 @@ "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/fossa/CHANGELOG.md b/plugins/fossa/CHANGELOG.md index 00934a2dfc..0861a8c400 100644 --- a/plugins/fossa/CHANGELOG.md +++ b/plugins/fossa/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-fossa +## 0.2.61-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.2.60 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.2.60-next.3 ### Patch Changes diff --git a/plugins/fossa/package.json b/plugins/fossa/package.json index 38bfacc5d1..78ca589106 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.60-next.3", + "version": "0.2.61-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -39,9 +39,7 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "cross-fetch": "^4.0.0", @@ -62,7 +60,6 @@ "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/gcalendar/CHANGELOG.md b/plugins/gcalendar/CHANGELOG.md index ad85be597e..40d425477e 100644 --- a/plugins/gcalendar/CHANGELOG.md +++ b/plugins/gcalendar/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-gcalendar +## 0.3.22-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.3.21 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/errors@1.2.3 + ## 0.3.21-next.3 ### Patch Changes diff --git a/plugins/gcalendar/package.json b/plugins/gcalendar/package.json index 925f284c1b..647074e8d3 100644 --- a/plugins/gcalendar/package.json +++ b/plugins/gcalendar/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-gcalendar", - "version": "0.3.21-next.3", + "version": "0.3.22-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,15 +32,12 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@maxim_mazurok/gapi.client.calendar": "^3.0.20220408", "@tanstack/react-query": "^4.1.3", "@types/react": "^16.13.1 || ^17.0.0", "classnames": "^2.3.1", - "cross-fetch": "^4.0.0", "dompurify": "^2.3.6", "lodash": "^4.17.21", "luxon": "^3.0.0", @@ -54,16 +51,13 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "@types/dompurify": "^2.3.3", - "@types/sanitize-html": "^2.6.2", - "msw": "^1.0.0" + "@types/sanitize-html": "^2.6.2" }, "files": [ "dist" diff --git a/plugins/gcp-projects/CHANGELOG.md b/plugins/gcp-projects/CHANGELOG.md index 88bc316cce..256212a35f 100644 --- a/plugins/gcp-projects/CHANGELOG.md +++ b/plugins/gcp-projects/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-gcp-projects +## 0.3.45-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## 0.3.44 + +### Patch Changes + +- a518c5a: Updated dependency `@react-hookz/web` to `^23.0.0`. +- d2f5662: Fix query parameter for project details page which should point to projectId rather than project name +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + ## 0.3.44-next.3 ### Patch Changes diff --git a/plugins/gcp-projects/package.json b/plugins/gcp-projects/package.json index 2a31750acc..b6fc4122ad 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.44-next.3", + "version": "0.3.45-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,10 +36,7 @@ "dependencies": { "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^23.0.0", "@types/react": "^16.13.1 || ^17.0.0" }, @@ -50,15 +47,10 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/git-release-manager/CHANGELOG.md b/plugins/git-release-manager/CHANGELOG.md index f7f4053c77..b0a34ea03d 100644 --- a/plugins/git-release-manager/CHANGELOG.md +++ b/plugins/git-release-manager/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-git-release-manager +## 0.3.41-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/integration@1.8.0 + +## 0.3.40 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/integration@1.8.0 + ## 0.3.40-next.3 ### Patch Changes diff --git a/plugins/git-release-manager/package.json b/plugins/git-release-manager/package.json index 9ebd0b0ad2..760f14c093 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.40-next.3", + "version": "0.3.41-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,7 +33,6 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/integration": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", @@ -53,13 +52,10 @@ "@backstage/cli": "workspace:^", "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/recharts": "^1.8.15", - "msw": "^1.0.0" + "@types/recharts": "^1.8.15" }, "files": [ "dist" diff --git a/plugins/github-actions/CHANGELOG.md b/plugins/github-actions/CHANGELOG.md index 62adba1abd..25dbca1895 100644 --- a/plugins/github-actions/CHANGELOG.md +++ b/plugins/github-actions/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/plugin-github-actions +## 0.6.10-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/integration@1.8.0 + +## 0.6.9 + +### Patch Changes + +- 08d7e46: Github Workflow Runs UI is modified to show in optional Card view instead of table, with branch selection option +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/integration@1.8.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + ## 0.6.9-next.3 ### Patch Changes diff --git a/plugins/github-actions/package.json b/plugins/github-actions/package.json index 98672c76d0..991c32dc74 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.6.9-next.3", + "version": "0.6.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -41,7 +41,6 @@ "@backstage/integration": "workspace:^", "@backstage/integration-react": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", @@ -63,10 +62,7 @@ "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/github-deployments/CHANGELOG.md b/plugins/github-deployments/CHANGELOG.md index f7fe312d40..69584f0ccd 100644 --- a/plugins/github-deployments/CHANGELOG.md +++ b/plugins/github-deployments/CHANGELOG.md @@ -1,5 +1,33 @@ # @backstage/plugin-github-deployments +## 0.1.60-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + +## 0.1.59 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/integration@1.8.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.1.59-next.3 ### Patch Changes diff --git a/plugins/github-deployments/package.json b/plugins/github-deployments/package.json index 9d00a35bac..07c3e59700 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.59-next.3", + "version": "0.1.60-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -37,10 +37,8 @@ "@backstage/integration": "workspace:^", "@backstage/integration-react": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@octokit/graphql": "^5.0.0", "@types/react": "^16.13.1 || ^17.0.0", "luxon": "^3.0.0", @@ -59,7 +57,6 @@ "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/github-issues/CHANGELOG.md b/plugins/github-issues/CHANGELOG.md index a6ce974f50..3af447bcdb 100644 --- a/plugins/github-issues/CHANGELOG.md +++ b/plugins/github-issues/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/plugin-github-issues +## 0.2.18-next.0 + +### Patch Changes + +- bf92ae3: Updated dependency `octokit` to `^3.0.0`. +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + +## 0.2.17 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/integration@1.8.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.2.17-next.3 ### Patch Changes diff --git a/plugins/github-issues/package.json b/plugins/github-issues/package.json index 1a3178fa73..6a1116fd85 100644 --- a/plugins/github-issues/package.json +++ b/plugins/github-issues/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-github-issues", - "version": "0.2.17-next.3", + "version": "0.2.18-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,13 +35,12 @@ "@backstage/errors": "workspace:^", "@backstage/integration": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.4", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "luxon": "^3.0.0", - "octokit": "^2.0.4", + "octokit": "^3.0.0", "react-use": "^17.4.0" }, "peerDependencies": { @@ -51,14 +50,11 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/github-pull-requests-board/CHANGELOG.md b/plugins/github-pull-requests-board/CHANGELOG.md index 80b9e51f3c..e4491f45fb 100644 --- a/plugins/github-pull-requests-board/CHANGELOG.md +++ b/plugins/github-pull-requests-board/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-github-pull-requests-board +## 0.1.23-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/integration@1.8.0 + +## 0.1.22 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/integration@1.8.0 + - @backstage/catalog-model@1.4.3 + ## 0.1.22-next.3 ### Patch Changes diff --git a/plugins/github-pull-requests-board/package.json b/plugins/github-pull-requests-board/package.json index d1300ad627..9aeb438f08 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.22-next.3", + "version": "0.1.23-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -40,15 +40,13 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/integration": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@octokit/rest": "^19.0.3", "@types/react": "^16.13.1 || ^17.0.0", "luxon": "^3.0.0", - "p-limit": "^4.0.0", - "react-use": "^17.2.4" + "p-limit": "^4.0.0" }, "peerDependencies": { "react": "^16.13.1 || ^17.0.0 || ^18.0.0", @@ -57,13 +55,10 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/gitops-profiles/CHANGELOG.md b/plugins/gitops-profiles/CHANGELOG.md index dbe94c94ea..5fdeb4847c 100644 --- a/plugins/gitops-profiles/CHANGELOG.md +++ b/plugins/gitops-profiles/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-gitops-profiles +## 0.3.44-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## 0.3.43 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/config@1.1.1 + ## 0.3.43-next.3 ### Patch Changes diff --git a/plugins/gitops-profiles/package.json b/plugins/gitops-profiles/package.json index 009bc86456..d00a60211a 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.43-next.3", + "version": "0.3.44-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,10 +34,8 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/config": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", @@ -56,10 +54,7 @@ "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/gocd/CHANGELOG.md b/plugins/gocd/CHANGELOG.md index 95a7744ab2..077ddfd17b 100644 --- a/plugins/gocd/CHANGELOG.md +++ b/plugins/gocd/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-gocd +## 0.1.35-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.1.34 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.1.34-next.3 ### Patch Changes diff --git a/plugins/gocd/package.json b/plugins/gocd/package.json index 616c9c88fd..bd644f03bb 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.34-next.3", + "version": "0.1.35-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,7 +35,6 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", @@ -60,8 +59,7 @@ "@testing-library/user-event": "^14.0.0", "@types/lodash": "^4.14.173", "@types/luxon": "^3.0.0", - "@types/react": "^16.13.1 || ^17.0.0", - "msw": "^1.0.0" + "@types/react": "^16.13.1 || ^17.0.0" }, "files": [ "dist", diff --git a/plugins/graphiql/CHANGELOG.md b/plugins/graphiql/CHANGELOG.md index 99e51da50c..b13278532b 100644 --- a/plugins/graphiql/CHANGELOG.md +++ b/plugins/graphiql/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/plugin-graphiql +## 0.3.2-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + +## 0.3.1 + +### Patch Changes + +- 03d0b6d: The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 8f5d6c1: Updates to the `/alpha` exports to match the extension input wrapping change. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + ## 0.3.1-next.4 ### Patch Changes diff --git a/plugins/graphiql/package.json b/plugins/graphiql/package.json index 9d5c81f259..eb9d688e04 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.3.1-next.4", + "version": "0.3.2-next.0", "publishConfig": { "access": "public" }, @@ -50,10 +50,7 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/frontend-plugin-api": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "graphiql": "^3.0.6", "graphql": "^16.0.0", @@ -67,16 +64,12 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/codemirror": "^5.0.0", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@types/codemirror": "^5.0.0" }, "files": [ "dist" diff --git a/plugins/graphql-voyager/CHANGELOG.md b/plugins/graphql-voyager/CHANGELOG.md index e725c2730b..70f289c94b 100644 --- a/plugins/graphql-voyager/CHANGELOG.md +++ b/plugins/graphql-voyager/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-graphql-voyager +## 0.1.11-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## 0.1.10 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + ## 0.1.10-next.3 ### Patch Changes diff --git a/plugins/graphql-voyager/package.json b/plugins/graphql-voyager/package.json index e89825f2b6..4d6f8e6601 100644 --- a/plugins/graphql-voyager/package.json +++ b/plugins/graphql-voyager/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-graphql-voyager", "description": "Backstage plugin for GraphQL Voyager", - "version": "0.1.10-next.3", + "version": "0.1.11-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,10 +32,7 @@ "dependencies": { "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "graphql-voyager": "^1.0.0-rc.31", "react-use": "^17.2.4" @@ -47,14 +44,10 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", - "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/home-react/CHANGELOG.md b/plugins/home-react/CHANGELOG.md index 02d54abb47..0b96d18bdc 100644 --- a/plugins/home-react/CHANGELOG.md +++ b/plugins/home-react/CHANGELOG.md @@ -1,5 +1,38 @@ # @backstage/plugin-home-react +## 0.1.7-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## 0.1.6 + +### Patch Changes + +- 2b72591: Updated dependency `@rjsf/utils` to `5.14.3`. + Updated dependency `@rjsf/core` to `5.14.3`. + Updated dependency `@rjsf/material-ui` to `5.14.3`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.3`. +- 6cd12f2: Updated dependency `@rjsf/utils` to `5.14.1`. + Updated dependency `@rjsf/core` to `5.14.1`. + Updated dependency `@rjsf/material-ui` to `5.14.1`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.1`. +- 64301d3: Updated dependency `@rjsf/utils` to `5.15.0`. + Updated dependency `@rjsf/core` to `5.15.0`. + Updated dependency `@rjsf/material-ui` to `5.15.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.15.0`. +- 63c494e: Updated dependency `@rjsf/utils` to `5.14.2`. + Updated dependency `@rjsf/core` to `5.14.2`. + Updated dependency `@rjsf/material-ui` to `5.14.2`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.2`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + ## 0.1.6-next.3 ### Patch Changes diff --git a/plugins/home-react/package.json b/plugins/home-react/package.json index 91fcca3230..36fd574de7 100644 --- a/plugins/home-react/package.json +++ b/plugins/home-react/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-home-react", "description": "A Backstage plugin that contains react components helps you build a home page", - "version": "0.1.6-next.3", + "version": "0.1.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -48,16 +48,7 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", - "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", - "@testing-library/dom": "^9.0.0", - "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/react-grid-layout": "^1.3.2", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@types/react-grid-layout": "^1.3.2" }, "files": [ "dist" diff --git a/plugins/home/CHANGELOG.md b/plugins/home/CHANGELOG.md index c5ddbb68bf..44c47baf91 100644 --- a/plugins/home/CHANGELOG.md +++ b/plugins/home/CHANGELOG.md @@ -1,5 +1,68 @@ # @backstage/plugin-home +## 0.6.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-home-react@0.1.7-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-app-api@1.11.2 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + +## 0.6.0 + +### Minor Changes + +- 5a317f5: Added view of entities grouped by kind to make it easier to distinguish entities with different kind but same name + +### Patch Changes + +- 2633d64: Change user settings backend plugin id and fix when using user setting backend home page first will cause edit page loop render +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 8f5d6c1: Updates to the `/alpha` exports to match the extension input wrapping change. +- 2b72591: Updated dependency `@rjsf/utils` to `5.14.3`. + Updated dependency `@rjsf/core` to `5.14.3`. + Updated dependency `@rjsf/material-ui` to `5.14.3`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.3`. +- 6cd12f2: Updated dependency `@rjsf/utils` to `5.14.1`. + Updated dependency `@rjsf/core` to `5.14.1`. + Updated dependency `@rjsf/material-ui` to `5.14.1`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.1`. +- 64301d3: Updated dependency `@rjsf/utils` to `5.15.0`. + Updated dependency `@rjsf/core` to `5.15.0`. + Updated dependency `@rjsf/material-ui` to `5.15.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.15.0`. +- 63c494e: Updated dependency `@rjsf/utils` to `5.14.2`. + Updated dependency `@rjsf/core` to `5.14.2`. + Updated dependency `@rjsf/material-ui` to `5.14.2`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.2`. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- 54cef27: StarredEntities component calls `getEntitiesByRefs` instead of `getEntities` to improve performance since we have the `entityRefs` +- c8908d4: Use new option from RJSF 5.15 +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/core-app-api@1.11.2 + - @backstage/plugin-home-react@0.1.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + ## 0.6.0-next.3 ### Patch Changes diff --git a/plugins/home/package.json b/plugins/home/package.json index ad4b339494..1cdb37b691 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.6.0-next.3", + "version": "0.6.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -49,7 +49,6 @@ "dependencies": { "@backstage/catalog-client": "workspace:^", "@backstage/catalog-model": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/core-app-api": "workspace:^", "@backstage/core-compat-api": "workspace:^", "@backstage/core-components": "workspace:^", @@ -58,7 +57,6 @@ "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-home-react": "workspace:^", "@backstage/theme": "workspace:^", - "@backstage/types": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", @@ -72,7 +70,7 @@ "react-grid-layout": "1.3.4", "react-resizable": "^3.0.4", "react-use": "^17.2.4", - "zod": "^3.21.4" + "zod": "^3.22.4" }, "peerDependencies": { "react": "^16.13.1 || ^17.0.0 || ^18.0.0", @@ -87,8 +85,7 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "@types/react-grid-layout": "^1.3.2", - "msw": "^1.0.0" + "@types/react-grid-layout": "^1.3.2" }, "files": [ "dist" diff --git a/plugins/ilert/CHANGELOG.md b/plugins/ilert/CHANGELOG.md index a020da9461..4b4c343b55 100644 --- a/plugins/ilert/CHANGELOG.md +++ b/plugins/ilert/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-ilert +## 0.2.18-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.2.17 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.2.17-next.3 ### Patch Changes diff --git a/plugins/ilert/package.json b/plugins/ilert/package.json index 3f45cc16d7..8a77fcd3e1 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.2.17-next.3", + "version": "0.2.18-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,7 +35,6 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@date-io/luxon": "1.x", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -53,14 +52,10 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist", diff --git a/plugins/jenkins-backend/CHANGELOG.md b/plugins/jenkins-backend/CHANGELOG.md index c8ece5cd8e..2618261837 100644 --- a/plugins/jenkins-backend/CHANGELOG.md +++ b/plugins/jenkins-backend/CHANGELOG.md @@ -1,5 +1,40 @@ # @backstage/plugin-jenkins-backend +## 0.3.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-jenkins-common@0.1.22 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## 0.3.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-jenkins-common@0.1.22 + ## 0.3.2-next.3 ### Patch Changes diff --git a/plugins/jenkins-backend/package.json b/plugins/jenkins-backend/package.json index 5a453ce8d0..33e37e1e64 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.3.2-next.3", + "version": "0.3.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -52,9 +52,7 @@ "devDependencies": { "@backstage/cli": "workspace:^", "@types/jenkins": "^1.0.0", - "@types/supertest": "^2.0.8", - "msw": "^1.0.0", - "supertest": "^6.1.6" + "@types/supertest": "^2.0.8" }, "files": [ "dist", diff --git a/plugins/jenkins-common/CHANGELOG.md b/plugins/jenkins-common/CHANGELOG.md index 47d90761b5..04fa14fedc 100644 --- a/plugins/jenkins-common/CHANGELOG.md +++ b/plugins/jenkins-common/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-jenkins-common +## 0.1.22 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-catalog-common@1.0.19 + ## 0.1.21 ### Patch Changes diff --git a/plugins/jenkins-common/package.json b/plugins/jenkins-common/package.json index 7b6a333c3b..5c2d576e90 100644 --- a/plugins/jenkins-common/package.json +++ b/plugins/jenkins-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-jenkins-common", - "version": "0.1.21", + "version": "0.1.22", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/jenkins/CHANGELOG.md b/plugins/jenkins/CHANGELOG.md index d512f09416..82a81a28ad 100644 --- a/plugins/jenkins/CHANGELOG.md +++ b/plugins/jenkins/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/plugin-jenkins +## 0.9.4-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-jenkins-common@0.1.22 + +## 0.9.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-jenkins-common@0.1.22 + ## 0.9.3-next.3 ### Patch Changes diff --git a/plugins/jenkins/package.json b/plugins/jenkins/package.json index 5b08089ea1..6adcf4a5d3 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.9.3-next.3", + "version": "0.9.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -40,10 +40,8 @@ "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-jenkins-common": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "luxon": "^3.0.0", "react-use": "^17.2.4" @@ -55,16 +53,12 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/testing-library__jest-dom": "^5.9.1", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@types/testing-library__jest-dom": "^5.9.1" }, "files": [ "dist" diff --git a/plugins/kafka-backend/CHANGELOG.md b/plugins/kafka-backend/CHANGELOG.md index 345ee57225..60aee6505b 100644 --- a/plugins/kafka-backend/CHANGELOG.md +++ b/plugins/kafka-backend/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-kafka-backend +## 0.3.7-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## 0.3.6 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.3.6-next.3 ### Patch Changes diff --git a/plugins/kafka-backend/package.json b/plugins/kafka-backend/package.json index 41d51d01ac..59be847a6c 100644 --- a/plugins/kafka-backend/package.json +++ b/plugins/kafka-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-kafka-backend", "description": "A Backstage backend plugin that integrates towards Kafka", - "version": "0.3.6-next.3", + "version": "0.3.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -49,7 +49,6 @@ "dependencies": { "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", - "@backstage/catalog-model": "workspace:^", "@backstage/config": "workspace:^", "@backstage/errors": "workspace:^", "@types/express": "^4.17.6", diff --git a/plugins/kafka/CHANGELOG.md b/plugins/kafka/CHANGELOG.md index 337fa2be57..e90fb765e7 100644 --- a/plugins/kafka/CHANGELOG.md +++ b/plugins/kafka/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/plugin-kafka +## 0.3.29-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.3.28 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + ## 0.3.28-next.3 ### Patch Changes diff --git a/plugins/kafka/package.json b/plugins/kafka/package.json index b4f6db01ff..0ed880d501 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.28-next.3", + "version": "0.3.29-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,14 +32,11 @@ }, "dependencies": { "@backstage/catalog-model": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "react-use": "^17.2.4" }, @@ -50,15 +47,12 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "jest-when": "^3.1.0", - "msw": "^1.0.0" + "jest-when": "^3.1.0" }, "files": [ "dist", diff --git a/plugins/kubernetes-backend/CHANGELOG.md b/plugins/kubernetes-backend/CHANGELOG.md index 2b60d59fef..621fcb2d13 100644 --- a/plugins/kubernetes-backend/CHANGELOG.md +++ b/plugins/kubernetes-backend/CHANGELOG.md @@ -1,5 +1,75 @@ # @backstage/plugin-kubernetes-backend +## 0.14.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-kubernetes-common@0.7.3-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration-aws-node@0.1.8 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-kubernetes-node@0.1.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## 0.14.0 + +### Minor Changes + +- 52050ad: You can now select `single` kubernetes cluster that the entity is part-of from all your defined kubernetes clusters, by passing `backstage.io/kubernetes-cluster` annotation with the defined cluster name. + + If you do not specify the annotation by `default it fetches all` defined kubernetes cluster. + + To apply + + catalog-info.yaml + + ```diff + annotations: + 'backstage.io/kubernetes-id': dice-roller + 'backstage.io/kubernetes-namespace': dice-space + + 'backstage.io/kubernetes-cluster': dice-cluster + 'backstage.io/kubernetes-label-selector': 'app=my-app,component=front-end' + ``` + +### Patch Changes + +- 6010564: The `kubernetes-node` plugin has been modified to house a new extension points for Kubernetes backend plugin; + `KubernetesClusterSupplierExtensionPoint` is introduced . + `kubernetesAuthStrategyExtensionPoint` is introduced . + `kubernetesFetcherExtensionPoint` is introduced . + `kubernetesServiceLocatorExtensionPoint` is introduced . + + The `kubernetes-backend` plugin was modified to use this new extension point. + +- 706fc3a: Updated dependency `@kubernetes/client-node` to `0.20.0`. +- ae94d3c: Updated dependency `@aws-crypto/sha256-js` to `^5.0.0`. +- 99fb541: Updated dependency `@azure/identity` to `^4.0.0`. +- 42c1aee: Updated dependency `@google-cloud/container` to `^5.0.0`. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-kubernetes-node@0.1.2 + - @backstage/plugin-kubernetes-common@0.7.2 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration-aws-node@0.1.8 + - @backstage/types@1.1.1 + ## 0.14.0-next.3 ### Patch Changes diff --git a/plugins/kubernetes-backend/api-report.md b/plugins/kubernetes-backend/api-report.md index f79b14ede0..e6996484dd 100644 --- a/plugins/kubernetes-backend/api-report.md +++ b/plugins/kubernetes-backend/api-report.md @@ -3,21 +3,20 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { AuthenticationStrategy as AuthenticationStrategy_2 } from '@backstage/plugin-kubernetes-node'; import { CatalogApi } from '@backstage/catalog-client'; +import { ClusterDetails as ClusterDetails_2 } from '@backstage/plugin-kubernetes-node'; import { Config } from '@backstage/config'; -import type { CustomResourceMatcher } from '@backstage/plugin-kubernetes-common'; -import { CustomResourcesByEntity } from '@backstage/plugin-kubernetes-node'; +import { CustomResource as CustomResource_2 } from '@backstage/plugin-kubernetes-node'; import { Duration } from 'luxon'; -import { Entity } from '@backstage/catalog-model'; import express from 'express'; -import type { FetchResponse } from '@backstage/plugin-kubernetes-common'; -import type { JsonObject } from '@backstage/types'; -import type { KubernetesFetchError } from '@backstage/plugin-kubernetes-common'; -import { KubernetesObjectsByEntity } from '@backstage/plugin-kubernetes-node'; -import { KubernetesObjectsProvider } from '@backstage/plugin-kubernetes-node'; +import * as k8sAuthTypes from '@backstage/plugin-kubernetes-node'; +import { KubernetesClustersSupplier as KubernetesClustersSupplier_2 } from '@backstage/plugin-kubernetes-node'; +import { KubernetesObjectsProvider as KubernetesObjectsProvider_2 } from '@backstage/plugin-kubernetes-node'; import { KubernetesRequestAuth } from '@backstage/plugin-kubernetes-common'; import type { KubernetesRequestBody } from '@backstage/plugin-kubernetes-common'; import { Logger } from 'winston'; +import { ObjectToFetch as ObjectToFetch_2 } from '@backstage/plugin-kubernetes-node'; import { PermissionEvaluator } from '@backstage/plugin-permission-common'; import { PluginEndpointDiscovery } from '@backstage/backend-common'; import { RequestHandler } from 'http-proxy-middleware'; @@ -42,19 +41,11 @@ export class AnonymousStrategy implements AuthenticationStrategy { validateCluster(): Error[]; } -// @public (undocumented) -export interface AuthenticationStrategy { - // (undocumented) - getCredential( - clusterDetails: ClusterDetails, - authConfig: KubernetesRequestAuth, - ): Promise; - // (undocumented) - validateCluster(authMetadata: AuthMetadata): Error[]; -} +// @public @deprecated (undocumented) +export type AuthenticationStrategy = k8sAuthTypes.AuthenticationStrategy; -// @public -export type AuthMetadata = Record; +// @public @deprecated (undocumented) +export type AuthMetadata = k8sAuthTypes.AuthMetadata; // @public (undocumented) export class AwsIamStrategy implements AuthenticationStrategy { @@ -74,36 +65,17 @@ export class AzureIdentityStrategy implements AuthenticationStrategy { validateCluster(): Error[]; } -// @public (undocumented) -export interface ClusterDetails { - // (undocumented) - authMetadata: AuthMetadata; - // (undocumented) - caData?: string | undefined; - // (undocumented) - caFile?: string | undefined; - customResources?: CustomResourceMatcher[]; - dashboardApp?: string; - dashboardParameters?: JsonObject; - dashboardUrl?: string; - name: string; - skipMetricsLookup?: boolean; - // (undocumented) - skipTLSVerify?: boolean; - // (undocumented) - url: string; -} +// @public @deprecated (undocumented) +export type ClusterDetails = k8sAuthTypes.ClusterDetails; // @public @deprecated export function createRouter(options: RouterOptions): Promise; -// @public (undocumented) -export interface CustomResource extends ObjectToFetch { - // (undocumented) - objectType: 'customresources'; -} +// @public @deprecated (undocumented) +export type CustomResource = k8sAuthTypes.CustomResource; -export { CustomResourcesByEntity }; +// @public @deprecated (undocumented) +export type CustomResourcesByEntity = k8sAuthTypes.CustomResourcesByEntity; // @public (undocumented) export const DEFAULT_OBJECTS: ObjectToFetch[]; @@ -127,13 +99,8 @@ export type DispatchStrategyOptions = { }; }; -// @public (undocumented) -export interface FetchResponseWrapper { - // (undocumented) - errors: KubernetesFetchError[]; - // (undocumented) - responses: FetchResponse[]; -} +// @public @deprecated (undocumented) +export type FetchResponseWrapper = k8sAuthTypes.FetchResponseWrapper; // @public (undocumented) export class GoogleServiceAccountStrategy implements AuthenticationStrategy { @@ -169,37 +136,37 @@ export class KubernetesBuilder { build(): KubernetesBuilderReturn; // (undocumented) protected buildAuthStrategyMap(): { - [key: string]: AuthenticationStrategy; + [key: string]: AuthenticationStrategy_2; }; // (undocumented) protected buildClusterSupplier( refreshInterval: Duration, - ): KubernetesClustersSupplier; + ): KubernetesClustersSupplier_2; // (undocumented) - protected buildCustomResources(): CustomResource[]; + protected buildCustomResources(): CustomResource_2[]; // (undocumented) protected buildFetcher(): KubernetesFetcher; // (undocumented) protected buildHttpServiceLocator( - _clusterSupplier: KubernetesClustersSupplier, + _clusterSupplier: KubernetesClustersSupplier_2, ): KubernetesServiceLocator; // (undocumented) protected buildMultiTenantServiceLocator( - clusterSupplier: KubernetesClustersSupplier, + clusterSupplier: KubernetesClustersSupplier_2, ): KubernetesServiceLocator; // (undocumented) protected buildObjectsProvider( options: KubernetesObjectsProviderOptions, - ): KubernetesObjectsProvider; + ): KubernetesObjectsProvider_2; // (undocumented) protected buildProxy( logger: Logger, - clusterSupplier: KubernetesClustersSupplier, + clusterSupplier: KubernetesClustersSupplier_2, ): KubernetesProxy; // (undocumented) protected buildRouter( - objectsProvider: KubernetesObjectsProvider, - clusterSupplier: KubernetesClustersSupplier, + objectsProvider: KubernetesObjectsProvider_2, + clusterSupplier: KubernetesClustersSupplier_2, catalogApi: CatalogApi, proxy: KubernetesProxy, permissionApi: PermissionEvaluator, @@ -207,11 +174,11 @@ export class KubernetesBuilder { // (undocumented) protected buildServiceLocator( method: ServiceLocatorMethod, - clusterSupplier: KubernetesClustersSupplier, + clusterSupplier: KubernetesClustersSupplier_2, ): KubernetesServiceLocator; // (undocumented) protected buildSingleTenantServiceLocator( - clusterSupplier: KubernetesClustersSupplier, + clusterSupplier: KubernetesClustersSupplier_2, ): KubernetesServiceLocator; // (undocumented) static createBuilder(env: KubernetesEnvironment): KubernetesBuilder; @@ -219,26 +186,26 @@ export class KubernetesBuilder { protected readonly env: KubernetesEnvironment; // (undocumented) protected fetchClusterDetails( - clusterSupplier: KubernetesClustersSupplier, - ): Promise; + clusterSupplier: KubernetesClustersSupplier_2, + ): Promise; // (undocumented) protected getAuthStrategyMap(): { - [key: string]: AuthenticationStrategy; + [key: string]: AuthenticationStrategy_2; }; // (undocumented) - protected getClusterSupplier(): KubernetesClustersSupplier; + protected getClusterSupplier(): KubernetesClustersSupplier_2; // (undocumented) protected getFetcher(): KubernetesFetcher; // (undocumented) protected getObjectsProvider( options: KubernetesObjectsProviderOptions, - ): KubernetesObjectsProvider; + ): KubernetesObjectsProvider_2; // (undocumented) - protected getObjectTypesToFetch(): ObjectToFetch[] | undefined; + protected getObjectTypesToFetch(): ObjectToFetch_2[] | undefined; // (undocumented) protected getProxy( logger: Logger, - clusterSupplier: KubernetesClustersSupplier, + clusterSupplier: KubernetesClustersSupplier_2, ): KubernetesProxy; // (undocumented) protected getServiceLocator(): KubernetesServiceLocator; @@ -249,13 +216,13 @@ export class KubernetesBuilder { [key: string]: AuthenticationStrategy; }): void; // (undocumented) - setClusterSupplier(clusterSupplier?: KubernetesClustersSupplier): this; + setClusterSupplier(clusterSupplier?: KubernetesClustersSupplier_2): this; // (undocumented) setDefaultClusterRefreshInterval(refreshInterval: Duration): this; // (undocumented) setFetcher(fetcher?: KubernetesFetcher): this; // (undocumented) - setObjectsProvider(objectsProvider?: KubernetesObjectsProvider): this; + setObjectsProvider(objectsProvider?: KubernetesObjectsProvider_2): this; // (undocumented) setProxy(proxy?: KubernetesProxy): this; // (undocumented) @@ -265,31 +232,23 @@ export class KubernetesBuilder { // @public export type KubernetesBuilderReturn = Promise<{ router: express.Router; - clusterSupplier: KubernetesClustersSupplier; + clusterSupplier: KubernetesClustersSupplier_2; customResources: CustomResource[]; fetcher: KubernetesFetcher; proxy: KubernetesProxy; - objectsProvider: KubernetesObjectsProvider; + objectsProvider: KubernetesObjectsProvider_2; serviceLocator: KubernetesServiceLocator; authStrategyMap: { [key: string]: AuthenticationStrategy; }; }>; -// @public -export interface KubernetesClustersSupplier { - getClusters(): Promise; -} +// @public @deprecated (undocumented) +export type KubernetesClustersSupplier = + k8sAuthTypes.KubernetesClustersSupplier; -// @public -export type KubernetesCredential = - | { - type: 'bearer token'; - token: string; - } - | { - type: 'anonymous'; - }; +// @public @deprecated (undocumented) +export type KubernetesCredential = k8sAuthTypes.KubernetesCredential; // @public (undocumented) export interface KubernetesEnvironment { @@ -303,57 +262,30 @@ export interface KubernetesEnvironment { permissions: PermissionEvaluator; } -// @public -export interface KubernetesFetcher { - // (undocumented) - fetchObjectsForService( - params: ObjectFetchParams, - ): Promise; - // (undocumented) - fetchPodMetricsByNamespaces( - clusterDetails: ClusterDetails, - credential: KubernetesCredential, - namespaces: Set, - labelSelector?: string, - ): Promise; -} +// @public @deprecated (undocumented) +export type KubernetesFetcher = k8sAuthTypes.KubernetesFetcher; -export { KubernetesObjectsByEntity }; - -export { KubernetesObjectsProvider }; +// @public @deprecated (undocumented) +export type KubernetesObjectsProvider = k8sAuthTypes.KubernetesObjectsProvider; // @public (undocumented) export interface KubernetesObjectsProviderOptions { // (undocumented) config: Config; // (undocumented) - customResources: CustomResource[]; + customResources: k8sAuthTypes.CustomResource[]; // (undocumented) - fetcher: KubernetesFetcher; + fetcher: k8sAuthTypes.KubernetesFetcher; // (undocumented) logger: Logger; // (undocumented) - objectTypesToFetch?: ObjectToFetch[]; + objectTypesToFetch?: k8sAuthTypes.ObjectToFetch[]; // (undocumented) - serviceLocator: KubernetesServiceLocator; + serviceLocator: k8sAuthTypes.KubernetesServiceLocator; } -// @public (undocumented) -export type KubernetesObjectTypes = - | 'pods' - | 'services' - | 'configmaps' - | 'deployments' - | 'limitranges' - | 'resourcequotas' - | 'replicasets' - | 'horizontalpodautoscalers' - | 'jobs' - | 'cronjobs' - | 'ingresses' - | 'customresources' - | 'statefulsets' - | 'daemonsets'; +// @public @deprecated (undocumented) +export type KubernetesObjectTypes = k8sAuthTypes.KubernetesObjectTypes; // @public export class KubernetesProxy { @@ -376,49 +308,17 @@ export type KubernetesProxyOptions = { authStrategy: AuthenticationStrategy; }; -// @public -export interface KubernetesServiceLocator { - // (undocumented) - getClustersByEntity( - entity: Entity, - requestContext: ServiceLocatorRequestContext, - ): Promise<{ - clusters: ClusterDetails[]; - }>; -} +// @public @deprecated (undocumented) +export type KubernetesServiceLocator = k8sAuthTypes.KubernetesServiceLocator; -// @public (undocumented) -export interface ObjectFetchParams { - // (undocumented) - clusterDetails: ClusterDetails; - // (undocumented) - credential: KubernetesCredential; - // (undocumented) - customResources: CustomResource[]; - // (undocumented) - labelSelector?: string; - // (undocumented) - namespace?: string; - // (undocumented) - objectTypesToFetch: Set; - // (undocumented) - serviceId: string; -} +// @public @deprecated (undocumented) +export type ObjectFetchParams = k8sAuthTypes.ObjectFetchParams; // @public (undocumented) export type ObjectsByEntityRequest = KubernetesRequestBody; -// @public (undocumented) -export interface ObjectToFetch { - // (undocumented) - apiVersion: string; - // (undocumented) - group: string; - // (undocumented) - objectType: KubernetesObjectTypes; - // (undocumented) - plural: string; -} +// @public @deprecated (undocumented) +export type ObjectToFetch = k8sAuthTypes.ObjectToFetch; // @public (undocumented) export class OidcStrategy implements AuthenticationStrategy { @@ -458,13 +358,9 @@ export class ServiceAccountStrategy implements AuthenticationStrategy { // @public (undocumented) export type ServiceLocatorMethod = 'multiTenant' | 'singleTenant' | 'http'; -// @public (undocumented) -export interface ServiceLocatorRequestContext { - // (undocumented) - customResources: CustomResourceMatcher[]; - // (undocumented) - objectTypesToFetch: Set; -} +// @public @deprecated (undocumented) +export type ServiceLocatorRequestContext = + k8sAuthTypes.ServiceLocatorRequestContext; // @public (undocumented) export type SigningCreds = { diff --git a/plugins/kubernetes-backend/package.json b/plugins/kubernetes-backend/package.json index 64f308b74c..9fe06a49ac 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.14.0-next.3", + "version": "0.14.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -90,6 +90,8 @@ "@backstage/backend-app-api": "workspace:^", "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", + "@backstage/plugin-permission-backend": "workspace:^", + "@backstage/plugin-permission-backend-module-allow-all-policy": "workspace:^", "@types/aws4": "^1.5.1", "msw": "^1.0.0", "supertest": "^6.1.3", diff --git a/plugins/kubernetes-backend/src/auth/types.ts b/plugins/kubernetes-backend/src/auth/types.ts index fff9952bae..9b33265448 100644 --- a/plugins/kubernetes-backend/src/auth/types.ts +++ b/plugins/kubernetes-backend/src/auth/types.ts @@ -14,25 +14,15 @@ * limitations under the License. */ -import { AuthMetadata, ClusterDetails } from '../types/types'; -import { KubernetesRequestAuth } from '@backstage/plugin-kubernetes-common'; +import * as k8sAuthTypes from '@backstage/plugin-kubernetes-node'; + +// TODO remove this re-export as a breaking change after a couple of releases +/** + * @public @deprecated Import it from \@backstage/plugin-kubernetes-node instead + */ +export type AuthenticationStrategy = k8sAuthTypes.AuthenticationStrategy; /** - * Authentication data used to make a request to Kubernetes - * @public + * @public @deprecated Import it from \@backstage/plugin-kubernetes-node instead */ -export type KubernetesCredential = - | { type: 'bearer token'; token: string } - | { type: 'anonymous' }; - -/** - * - * @public - */ -export interface AuthenticationStrategy { - getCredential( - clusterDetails: ClusterDetails, - authConfig: KubernetesRequestAuth, - ): Promise; - validateCluster(authMetadata: AuthMetadata): Error[]; -} +export type KubernetesCredential = k8sAuthTypes.KubernetesCredential; diff --git a/plugins/kubernetes-backend/src/plugin.ts b/plugins/kubernetes-backend/src/plugin.ts index 83dbae15a0..1b4aca4160 100644 --- a/plugins/kubernetes-backend/src/plugin.ts +++ b/plugins/kubernetes-backend/src/plugin.ts @@ -26,6 +26,20 @@ import { KubernetesObjectsProviderExtensionPoint, kubernetesObjectsProviderExtensionPoint, KubernetesObjectsProvider, + KubernetesClusterSupplierExtensionPoint, + kubernetesClusterSupplierExtensionPoint, + KubernetesClustersSupplier, + KubernetesAuthStrategyExtensionPoint, + AuthenticationStrategy, + kubernetesAuthStrategyExtensionPoint, + KubernetesFetcher, + KubernetesServiceLocatorExtensionPoint, + KubernetesServiceLocator, + kubernetesServiceLocatorExtensionPoint, +} from '@backstage/plugin-kubernetes-node'; +import { + KubernetesFetcherExtensionPoint, + kubernetesFetcherExtensionPoint, } from '@backstage/plugin-kubernetes-node'; class ObjectsProvider implements KubernetesObjectsProviderExtensionPoint { @@ -45,6 +59,86 @@ class ObjectsProvider implements KubernetesObjectsProviderExtensionPoint { } } +class ClusterSuplier implements KubernetesClusterSupplierExtensionPoint { + private clusterSupplier: KubernetesClustersSupplier | undefined; + + getClusterSupplier() { + return this.clusterSupplier; + } + + addClusterSupplier(clusterSupplier: KubernetesClustersSupplier) { + if (this.clusterSupplier) { + throw new Error( + 'Multiple Kubernetes Cluster Suppliers is not supported at this time', + ); + } + this.clusterSupplier = clusterSupplier; + } +} + +class Fetcher implements KubernetesFetcherExtensionPoint { + private fetcher: KubernetesFetcher | undefined; + + getFetcher() { + return this.fetcher; + } + + addFetcher(fetcher: KubernetesFetcher) { + if (this.fetcher) { + throw new Error( + 'Multiple Kubernetes Fetchers is not supported at this time', + ); + } + this.fetcher = fetcher; + } +} + +class ServiceLocator implements KubernetesServiceLocatorExtensionPoint { + private serviceLocator: KubernetesServiceLocator | undefined; + + getServiceLocator() { + return this.serviceLocator; + } + + addServiceLocator(serviceLocator: KubernetesServiceLocator) { + if (this.serviceLocator) { + throw new Error( + 'Multiple Kubernetes Service Locators is not supported at this time', + ); + } + this.serviceLocator = serviceLocator; + } +} + +class AuthStrategy implements KubernetesAuthStrategyExtensionPoint { + private authStrategies: Array<{ + key: string; + strategy: AuthenticationStrategy; + }>; + + constructor() { + this.authStrategies = new Array<{ + key: string; + strategy: AuthenticationStrategy; + }>(); + } + + static addAuthStrategiesFromArray( + authStrategies: Array<{ key: string; strategy: AuthenticationStrategy }>, + builder: KubernetesBuilder, + ) { + authStrategies.forEach(st => builder.addAuthStrategy(st.key, st.strategy)); + } + + getAuthenticationStrategies() { + return this.authStrategies; + } + + addAuthStrategy(key: string, authStrategy: AuthenticationStrategy) { + this.authStrategies.push({ key, strategy: authStrategy }); + } +} + /** * This is the backend plugin that provides the Kubernetes integration. * @alpha @@ -53,10 +147,31 @@ class ObjectsProvider implements KubernetesObjectsProviderExtensionPoint { export const kubernetesPlugin = createBackendPlugin({ pluginId: 'kubernetes', register(env) { - const extensionPoint = new ObjectsProvider(); + const extPointObjectsProvider = new ObjectsProvider(); + const extPointClusterSuplier = new ClusterSuplier(); + const extPointAuthStrategy = new AuthStrategy(); + const extPointFetcher = new Fetcher(); + const extPointServiceLocator = new ServiceLocator(); + env.registerExtensionPoint( kubernetesObjectsProviderExtensionPoint, - extensionPoint, + extPointObjectsProvider, + ); + env.registerExtensionPoint( + kubernetesClusterSupplierExtensionPoint, + extPointClusterSuplier, + ); + env.registerExtensionPoint( + kubernetesAuthStrategyExtensionPoint, + extPointAuthStrategy, + ); + env.registerExtensionPoint( + kubernetesFetcherExtensionPoint, + extPointFetcher, + ); + env.registerExtensionPoint( + kubernetesServiceLocatorExtensionPoint, + extPointServiceLocator, ); env.registerInit({ @@ -70,14 +185,22 @@ export const kubernetesPlugin = createBackendPlugin({ async init({ http, logger, config, catalogApi, permissions }) { const winstonLogger = loggerToWinstonLogger(logger); // TODO: expose all of the customization & extension points of the builder here - const { router } = await KubernetesBuilder.createBuilder({ + const builder: KubernetesBuilder = KubernetesBuilder.createBuilder({ logger: winstonLogger, config, catalogApi, permissions, }) - .setObjectsProvider(extensionPoint.getObjectsProvider()) - .build(); + .setObjectsProvider(extPointObjectsProvider.getObjectsProvider()) + .setClusterSupplier(extPointClusterSuplier.getClusterSupplier()) + .setFetcher(extPointFetcher.getFetcher()) + .setServiceLocator(extPointServiceLocator.getServiceLocator()); + + AuthStrategy.addAuthStrategiesFromArray( + extPointAuthStrategy.getAuthenticationStrategies(), + builder, + ); + const { router } = await builder.build(); http.use(router); }, }); diff --git a/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts b/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts index c676cc6246..77d02a032a 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts @@ -14,106 +14,181 @@ * limitations under the License. */ -import { getVoidLogger } from '@backstage/backend-common'; import { Entity } from '@backstage/catalog-model'; -import { Config, ConfigReader } from '@backstage/config'; import { ANNOTATION_KUBERNETES_AUTH_PROVIDER, ANNOTATION_KUBERNETES_OIDC_TOKEN_PROVIDER, ObjectsByEntityResponse, KubernetesRequestAuth, } from '@backstage/plugin-kubernetes-common'; -import express from 'express'; import request from 'supertest'; import { ClusterDetails, FetchResponseWrapper, - KubernetesClustersSupplier, KubernetesFetcher, KubernetesServiceLocator, ObjectFetchParams, } from '../types/types'; import { KubernetesCredential } from '../auth/types'; -import { KubernetesBuilder } from './KubernetesBuilder'; -import { KubernetesFanOutHandler } from './KubernetesFanOutHandler'; -import { CatalogApi } from '@backstage/catalog-client'; import { HEADER_KUBERNETES_CLUSTER, HEADER_KUBERNETES_AUTH, } from './KubernetesProxy'; import { setupServer } from 'msw/node'; -import { setupRequestMockHandlers } from '@backstage/backend-test-utils'; +import { + ServiceMock, + mockServices, + setupRequestMockHandlers, + startTestBackend, +} from '@backstage/backend-test-utils'; import { rest } from 'msw'; import { AuthorizeResult, PermissionEvaluator, } from '@backstage/plugin-permission-common'; +import { + PermissionsService, + createBackendModule, +} from '@backstage/backend-plugin-api'; +import { + KubernetesObjectsProvider, + kubernetesAuthStrategyExtensionPoint, + kubernetesClusterSupplierExtensionPoint, + kubernetesObjectsProviderExtensionPoint, + kubernetesFetcherExtensionPoint, + kubernetesServiceLocatorExtensionPoint, +} from '@backstage/plugin-kubernetes-node'; +import { ExtendedHttpServer } from '@backstage/backend-app-api'; describe('KubernetesBuilder', () => { - let app: express.Express; - let kubernetesFanOutHandler: jest.Mocked; - let config: Config; - let catalogApi: CatalogApi; - let permissions: jest.Mocked; + let app: ExtendedHttpServer; + let objectsProviderMock: KubernetesObjectsProvider; + const happyK8SResult = { + items: [ + { + clusterOne: { + pods: [ + { + metadata: { + name: 'pod1', + }, + }, + ], + }, + }, + ], + } as any; + const policyMock: jest.Mocked = { + authorize: jest.fn(), + authorizeConditional: jest.fn(), + }; + const permissionsMock: ServiceMock = + mockServices.permissions.mock(policyMock); beforeEach(async () => { jest.resetAllMocks(); - const logger = getVoidLogger(); - config = new ConfigReader({ - kubernetes: { - serviceLocatorMethod: { type: 'multiTenant' }, - clusterLocatorMethods: [{ type: 'config', clusters: [] }], - }, + + objectsProviderMock = { + getKubernetesObjectsByEntity: jest.fn().mockImplementation(_ => { + return Promise.resolve(happyK8SResult); + }), + getCustomResourcesByEntity: jest.fn().mockImplementation(_ => { + return Promise.resolve(happyK8SResult); + }), + }; + + const clusterSupplierMock = { + getClusters: jest.fn().mockImplementation(_ => { + return Promise.resolve([ + { + name: 'some-cluster', + url: 'https://localhost:1234', + authMetadata: { + [ANNOTATION_KUBERNETES_AUTH_PROVIDER]: 'serviceAccount', + }, + }, + { + name: 'some-other-cluster', + url: 'https://localhost:1235', + authMetadata: { + [ANNOTATION_KUBERNETES_AUTH_PROVIDER]: 'oidc', + [ANNOTATION_KUBERNETES_OIDC_TOKEN_PROVIDER]: 'google', + }, + }, + ]); + }), + }; + + jest.mock('@backstage/catalog-client', () => ({ + CatalogClient: jest.fn().mockImplementation(() => ({ + getEntityByRef: jest.fn().mockImplementation(entityRef => { + if (entityRef.name === 'noentity') { + return Promise.resolve(undefined); + } + return Promise.resolve({ + kind: entityRef.kind, + metadata: { + name: entityRef.name, + namespace: entityRef.namespace, + }, + } as Entity); + }), + })), + })); + + const { server } = await startTestBackend({ + features: [ + mockServices.rootConfig.factory({ + data: { + kubernetes: { + serviceLocatorMethod: { + type: 'multiTenant', + }, + clusterLocatorMethods: [ + { + type: 'config', + clusters: [], + }, + ], + }, + }, + }), + import('@backstage/plugin-kubernetes-backend/alpha'), + import('@backstage/plugin-permission-backend/alpha'), + import('@backstage/plugin-permission-backend-module-allow-all-policy'), + createBackendModule({ + pluginId: 'kubernetes', + moduleId: 'testObjectsProvider', + register(env) { + env.registerInit({ + deps: { extension: kubernetesObjectsProviderExtensionPoint }, + async init({ extension }) { + extension.addObjectsProvider(objectsProviderMock); + }, + }); + }, + }), + createBackendModule({ + pluginId: 'kubernetes', + moduleId: 'testClusterSupplier', + register(env) { + env.registerInit({ + deps: { extension: kubernetesClusterSupplierExtensionPoint }, + async init({ extension }) { + extension.addClusterSupplier(clusterSupplierMock); + }, + }); + }, + }), + ], }); - const clusters: ClusterDetails[] = [ - { - name: 'some-cluster', - url: 'https://localhost:1234', - authMetadata: { - [ANNOTATION_KUBERNETES_AUTH_PROVIDER]: 'serviceAccount', - }, - }, - { - name: 'some-other-cluster', - url: 'https://localhost:1235', - authMetadata: { - [ANNOTATION_KUBERNETES_AUTH_PROVIDER]: 'oidc', - [ANNOTATION_KUBERNETES_OIDC_TOKEN_PROVIDER]: 'google', - }, - }, - ]; - const clusterSupplier: KubernetesClustersSupplier = { - async getClusters() { - return clusters; - }, - }; - - kubernetesFanOutHandler = { - getKubernetesObjectsByEntity: jest.fn(), - } as any; - - permissions = { - authorize: jest.fn(), - authorizeConditional: jest.fn(), - }; - - const { router } = await KubernetesBuilder.createBuilder({ - config, - logger, - catalogApi, - permissions, - }) - .setObjectsProvider(kubernetesFanOutHandler) - .setClusterSupplier(clusterSupplier) - .build(); - - app = express().use(router); + app = server; }); describe('get /clusters', () => { it('happy path: lists clusters', async () => { - const response = await request(app).get('/clusters'); + const response = await request(app).get('/api/kubernetes/clusters'); expect(response.status).toEqual(200); expect(response.body).toStrictEqual({ @@ -133,70 +208,41 @@ describe('KubernetesBuilder', () => { }); describe('post /services/:serviceId', () => { it('happy path: lists kubernetes objects without auth in request body', async () => { - const result = { - clusterOne: { - pods: [ - { - metadata: { - name: 'pod1', - }, - }, - ], - }, - } as any; - kubernetesFanOutHandler.getKubernetesObjectsByEntity.mockReturnValueOnce( - Promise.resolve(result), + const response = await request(app).post( + '/api/kubernetes/services/test-service', ); - - const response = await request(app).post('/services/test-service'); - expect(response.status).toEqual(200); - expect(response.body).toEqual(result); + expect(response.body).toEqual(happyK8SResult); }); it('happy path: lists kubernetes objects with auth in request body', async () => { - const result = { - clusterOne: { - pods: [ - { - metadata: { - name: 'pod1', - }, - }, - ], - }, - } as any; - kubernetesFanOutHandler.getKubernetesObjectsByEntity.mockReturnValueOnce( - Promise.resolve(result), - ); - const response = await request(app) - .post('/services/test-service') + .post('/api/kubernetes/services/test-service') .send({ auth: { google: 'google_token_123', }, }) .set('Content-Type', 'application/json'); - expect(response.status).toEqual(200); - expect(response.body).toEqual(result); + expect(response.body).toEqual(happyK8SResult); }); it('internal error: lists kubernetes objects', async () => { - kubernetesFanOutHandler.getKubernetesObjectsByEntity.mockRejectedValue( - Error('some internal error'), - ); + objectsProviderMock.getKubernetesObjectsByEntity = jest + .fn() + .mockRejectedValue(Error('some internal error')); - const response = await request(app).post('/services/test-service'); + const response = await request(app).post( + '/api/kubernetes/services/test-service', + ); expect(response.status).toEqual(500); expect(response.body).toEqual({ error: 'some internal error' }); }); it('custom service locator', async () => { - const logger = getVoidLogger(); - const someCluster: ClusterDetails = { + const someCluster = { name: 'some-cluster', url: 'https://localhost:1234', authMetadata: { @@ -212,11 +258,13 @@ describe('KubernetesBuilder', () => { authMetadata: { [ANNOTATION_KUBERNETES_AUTH_PROVIDER]: 'google' }, }, ]; - const clusterSupplier: KubernetesClustersSupplier = { - async getClusters() { - return clusters; - }, + + const clusterSupplierMock = { + getClusters: jest.fn().mockImplementation(_ => { + return Promise.resolve(clusters); + }), }; + const pod = { metadata: { name: 'pod1', @@ -240,7 +288,7 @@ describe('KubernetesBuilder', () => { ], }; - const serviceLocator: KubernetesServiceLocator = { + const mockServiceLocator: KubernetesServiceLocator = { getClustersByEntity( _entity: Entity, ): Promise<{ clusters: ClusterDetails[] }> { @@ -248,7 +296,7 @@ describe('KubernetesBuilder', () => { }, }; - const fetcher: KubernetesFetcher = { + const mockFetcher: KubernetesFetcher = { fetchPodMetricsByNamespaces( _clusterDetails: ClusterDetails, _credential: KubernetesCredential, @@ -271,20 +319,67 @@ describe('KubernetesBuilder', () => { }, }; - const { router } = await KubernetesBuilder.createBuilder({ - logger, - config, - catalogApi, - permissions, - }) - .setClusterSupplier(clusterSupplier) - .setServiceLocator(serviceLocator) - .setFetcher(fetcher) - .build(); - app = express().use(router); + const { server } = await startTestBackend({ + features: [ + mockServices.rootConfig.factory({ + data: { + kubernetes: { + serviceLocatorMethod: { + type: 'multiTenant', + }, + clusterLocatorMethods: [ + { + type: 'config', + clusters: [], + }, + ], + }, + }, + }), + import('@backstage/plugin-kubernetes-backend/alpha'), + createBackendModule({ + pluginId: 'kubernetes', + moduleId: 'testClusterSupplier', + register(env) { + env.registerInit({ + deps: { extension: kubernetesClusterSupplierExtensionPoint }, + async init({ extension }) { + extension.addClusterSupplier(clusterSupplierMock); + }, + }); + }, + }), + createBackendModule({ + pluginId: 'kubernetes', + moduleId: 'testFetcher', + register(env) { + env.registerInit({ + deps: { extension: kubernetesFetcherExtensionPoint }, + async init({ extension }) { + extension.addFetcher(mockFetcher); + }, + }); + }, + }), + createBackendModule({ + pluginId: 'kubernetes', + moduleId: 'testServiceLocator', + register(env) { + env.registerInit({ + deps: { extension: kubernetesServiceLocatorExtensionPoint }, + async init({ extension }) { + extension.addServiceLocator(mockServiceLocator); + }, + }); + }, + }), + ], + }); + + app = server; const response = await request(app) - .post('/services/test-service') + .post('/api/kubernetes/services/test-service') .send({ entity: { metadata: { @@ -298,9 +393,6 @@ describe('KubernetesBuilder', () => { }); it('reads auth data for custom strategy', async () => { - permissions.authorize.mockResolvedValue([ - { result: AuthorizeResult.ALLOW }, - ]); const mockFetcher = { fetchPodMetricsByNamespaces: jest .fn() @@ -312,43 +404,93 @@ describe('KubernetesBuilder', () => { ], }), }; - const { router } = await KubernetesBuilder.createBuilder({ - logger: getVoidLogger(), - config, - catalogApi, - permissions, - }) - .addAuthStrategy('custom', { - getCredential: jest - .fn< - Promise, - [ClusterDetails, KubernetesRequestAuth] - >() - .mockImplementation(async (_, requestAuth) => ({ - type: 'bearer token', - token: requestAuth.custom as string, - })), - validateCluster: jest.fn().mockReturnValue([]), - }) - .setClusterSupplier({ - getClusters: jest - .fn, []>() - .mockResolvedValue([ - { - name: 'custom-cluster', - url: 'http://my.cluster.url', - authMetadata: { - [ANNOTATION_KUBERNETES_AUTH_PROVIDER]: 'custom', - }, + + const clusterSupplierMock = { + getClusters: jest.fn().mockImplementation(_ => { + return Promise.resolve([ + { + name: 'custom-cluster', + url: 'http://my.cluster.url', + authMetadata: { + [ANNOTATION_KUBERNETES_AUTH_PROVIDER]: 'custom', }, - ]), - }) - .setFetcher(mockFetcher) - .build(); - app = express().use(router); + }, + ]); + }), + }; + + const { server } = await startTestBackend({ + features: [ + mockServices.rootConfig.factory({ + data: { + kubernetes: { + serviceLocatorMethod: { + type: 'multiTenant', + }, + clusterLocatorMethods: [ + { + type: 'config', + clusters: [], + }, + ], + }, + }, + }), + import('@backstage/plugin-kubernetes-backend/alpha'), + createBackendModule({ + pluginId: 'kubernetes', + moduleId: 'testClusterSupplier', + register(env) { + env.registerInit({ + deps: { extension: kubernetesClusterSupplierExtensionPoint }, + async init({ extension }) { + extension.addClusterSupplier(clusterSupplierMock); + }, + }); + }, + }), + createBackendModule({ + pluginId: 'kubernetes', + moduleId: 'testAuthStrategy', + register(env) { + env.registerInit({ + deps: { extension: kubernetesAuthStrategyExtensionPoint }, + async init({ extension }) { + extension.addAuthStrategy('custom', { + getCredential: jest + .fn< + Promise, + [ClusterDetails, KubernetesRequestAuth] + >() + .mockImplementation(async (_, requestAuth) => ({ + type: 'bearer token', + token: requestAuth.custom as string, + })), + validateCluster: jest.fn().mockReturnValue([]), + }); + }, + }); + }, + }), + createBackendModule({ + pluginId: 'kubernetes', + moduleId: 'testFetcher', + register(env) { + env.registerInit({ + deps: { extension: kubernetesFetcherExtensionPoint }, + async init({ extension }) { + extension.addFetcher(mockFetcher); + }, + }); + }, + }), + ], + }); + + app = server; await request(app) - .post('/services/test-service') + .post('/api/kubernetes/services/test-service') .send({ entity: { metadata: { @@ -400,12 +542,8 @@ describe('KubernetesBuilder', () => { }, }; - permissions.authorize.mockReturnValue( - Promise.resolve([{ result: AuthorizeResult.ALLOW }]), - ); - const proxyEndpointRequest = request(app) - .post('/proxy/api/v1/namespaces') + .post('/api/kubernetes/proxy/api/v1/namespaces') .set(HEADER_KUBERNETES_CLUSTER, 'some-cluster') .set(HEADER_KUBERNETES_AUTH, 'randomtoken') .send(requestBody); @@ -425,12 +563,8 @@ metadata: name: new-ns `; - permissions.authorize.mockReturnValue( - Promise.resolve([{ result: AuthorizeResult.ALLOW }]), - ); - const proxyEndpointRequest = request(app) - .post('/proxy/api/v1/namespaces') + .post('/api/kubernetes/proxy/api/v1/namespaces') .set(HEADER_KUBERNETES_CLUSTER, 'some-cluster') .set(HEADER_KUBERNETES_AUTH, 'randomtoken') .set('content-type', 'application/yaml') @@ -451,12 +585,35 @@ metadata: }, }; - permissions.authorize.mockReturnValue( - Promise.resolve([{ result: AuthorizeResult.DENY }]), - ); + permissionsMock.authorize.mockResolvedValue([ + { result: AuthorizeResult.DENY }, + ]); - const proxyEndpointRequest = request(app) - .post('/proxy/api/v1/namespaces') + const { server } = await startTestBackend({ + features: [ + mockServices.rootConfig.factory({ + data: { + kubernetes: { + serviceLocatorMethod: { + type: 'multiTenant', + }, + clusterLocatorMethods: [ + { + type: 'config', + clusters: [], + }, + ], + }, + }, + }), + permissionsMock.factory, + import('@backstage/plugin-kubernetes-backend/alpha'), + // import('@backstage/plugin-permission-backend/alpha'), + ], + }); + + const proxyEndpointRequest = request(server) + .post('/api/kubernetes/proxy/api/v1/namespaces') .set(HEADER_KUBERNETES_CLUSTER, 'some-cluster') .set(HEADER_KUBERNETES_AUTH, 'randomtoken') .send(requestBody); @@ -477,42 +634,90 @@ metadata: return res(ctx.json({ items: [] })); }), ); - permissions.authorize.mockResolvedValue([ - { result: AuthorizeResult.ALLOW }, - ]); - const { router } = await KubernetesBuilder.createBuilder({ - logger: getVoidLogger(), - config, - catalogApi, - permissions, - }) - .addAuthStrategy('custom', { - getCredential: jest - .fn< - Promise, - [ClusterDetails, KubernetesRequestAuth] - >() - .mockResolvedValue({ type: 'anonymous' }), - validateCluster: jest.fn().mockReturnValue([]), - }) - .setClusterSupplier({ - getClusters: jest - .fn, []>() - .mockResolvedValue([ - { - name: 'custom-cluster', - url: 'http://my.cluster.url', - authMetadata: { - [ANNOTATION_KUBERNETES_AUTH_PROVIDER]: 'custom', - }, + + const clusterSupplierMock = { + getClusters: jest.fn().mockImplementation(_ => { + return Promise.resolve([ + { + name: 'custom-cluster', + url: 'http://my.cluster.url', + authMetadata: { + [ANNOTATION_KUBERNETES_AUTH_PROVIDER]: 'custom', }, - ]), - }) - .build(); - app = express().use(router); + }, + ]); + }), + }; + + const { server } = await startTestBackend({ + features: [ + mockServices.rootConfig.factory({ + data: { + kubernetes: { + serviceLocatorMethod: { + type: 'multiTenant', + }, + clusterLocatorMethods: [ + { + type: 'config', + clusters: [], + }, + ], + }, + }, + }), + import('@backstage/plugin-kubernetes-backend/alpha'), + createBackendModule({ + pluginId: 'kubernetes', + moduleId: 'testObjectsProvider', + register(env) { + env.registerInit({ + deps: { extension: kubernetesObjectsProviderExtensionPoint }, + async init({ extension }) { + extension.addObjectsProvider(objectsProviderMock); + }, + }); + }, + }), + createBackendModule({ + pluginId: 'kubernetes', + moduleId: 'testClusterSupplier', + register(env) { + env.registerInit({ + deps: { extension: kubernetesClusterSupplierExtensionPoint }, + async init({ extension }) { + extension.addClusterSupplier(clusterSupplierMock); + }, + }); + }, + }), + createBackendModule({ + pluginId: 'kubernetes', + moduleId: 'testAuthStrategy', + register(env) { + env.registerInit({ + deps: { extension: kubernetesAuthStrategyExtensionPoint }, + async init({ extension }) { + extension.addAuthStrategy('custom', { + getCredential: jest + .fn< + Promise, + [ClusterDetails, KubernetesRequestAuth] + >() + .mockResolvedValue({ type: 'anonymous' }), + validateCluster: jest.fn().mockReturnValue([]), + }); + }, + }); + }, + }), + ], + }); + + app = server; const proxyEndpointRequest = request(app) - .get('/proxy/api/v1/namespaces') + .get('/api/kubernetes/proxy/api/v1/namespaces') .set(HEADER_KUBERNETES_CLUSTER, 'custom-cluster') .set(HEADER_KUBERNETES_AUTH, 'custom-token'); worker.use(rest.all(proxyEndpointRequest.url, req => req.passthrough())); @@ -522,29 +727,44 @@ metadata: }); it('should not permit custom auth strategies with dashes', async () => { - const throwError = () => - KubernetesBuilder.createBuilder({ - logger: getVoidLogger(), - config, - catalogApi, - permissions, - }).addAuthStrategy('custom-strategy', { - getCredential: jest - .fn< - Promise, - [ClusterDetails, KubernetesRequestAuth] - >() - .mockResolvedValue({ type: 'anonymous' }), - validateCluster: jest.fn().mockReturnValue([]), + const throwError = async () => { + await startTestBackend({ + features: [ + import('@backstage/plugin-kubernetes-backend/alpha'), + createBackendModule({ + pluginId: 'kubernetes', + moduleId: 'testAuthStrategy', + register(env) { + env.registerInit({ + deps: { extension: kubernetesAuthStrategyExtensionPoint }, + async init({ extension }) { + extension.addAuthStrategy('custom-strategy', { + getCredential: jest + .fn< + Promise, + [ClusterDetails, KubernetesRequestAuth] + >() + .mockResolvedValue({ type: 'anonymous' }), + validateCluster: jest.fn().mockReturnValue([]), + }); + }, + }); + }, + }), + ], }); + }; - expect(throwError).toThrow('Strategy name can not include dashes'); + await expect(throwError).rejects.toThrow( + 'Strategy name can not include dashes', + ); }); }); + describe('get /.well-known/backstage/permissions/metadata', () => { it('lists permissions supported by the kubernetes plugin', async () => { const response = await request(app).get( - '/.well-known/backstage/permissions/metadata', + '/api/kubernetes/.well-known/backstage/permissions/metadata', ); expect(response.status).toEqual(200); diff --git a/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts b/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts index 3bc7402179..c1ff4688e7 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts @@ -46,7 +46,6 @@ import { MultiTenantServiceLocator } from '../service-locator/MultiTenantService import { SingleTenantServiceLocator } from '../service-locator/SingleTenantServiceLocator'; import { CustomResource, - KubernetesClustersSupplier, KubernetesFetcher, KubernetesObjectsProviderOptions, KubernetesObjectTypes, @@ -54,7 +53,10 @@ import { ObjectsByEntityRequest, ServiceLocatorMethod, } from '../types/types'; -import { KubernetesObjectsProvider } from '@backstage/plugin-kubernetes-node'; +import { + KubernetesClustersSupplier, + KubernetesObjectsProvider, +} from '@backstage/plugin-kubernetes-node'; import { DEFAULT_OBJECTS, KubernetesFanOutHandler, diff --git a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts index 3ea06e061e..7a8ff1bf2d 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts @@ -17,7 +17,6 @@ import { Entity } from '@backstage/catalog-model'; import { Logger } from 'winston'; import { - ClusterDetails, KubernetesFetcher, KubernetesObjectsProviderOptions, KubernetesServiceLocator, @@ -26,7 +25,6 @@ import { ObjectToFetch, CustomResource, } from '../types/types'; -import { AuthenticationStrategy, KubernetesCredential } from '../auth/types'; import { ClientContainerStatus, ClientCurrentResourceUsage, @@ -45,7 +43,10 @@ import { PodStatus, } from '@kubernetes/client-node'; import { + AuthenticationStrategy, + ClusterDetails, CustomResourcesByEntity, + KubernetesCredential, KubernetesObjectsByEntity, } from '@backstage/plugin-kubernetes-node'; diff --git a/plugins/kubernetes-backend/src/service/KubernetesFetcher.ts b/plugins/kubernetes-backend/src/service/KubernetesFetcher.ts index d5c945a864..99501c48c6 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesFetcher.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesFetcher.ts @@ -26,12 +26,10 @@ import { import lodash, { Dictionary } from 'lodash'; import { Logger } from 'winston'; import { - ClusterDetails, FetchResponseWrapper, KubernetesFetcher, ObjectFetchParams, } from '../types/types'; -import { KubernetesCredential } from '../auth/types'; import { ANNOTATION_KUBERNETES_AUTH_PROVIDER, FetchResponse, @@ -43,6 +41,10 @@ import fetch, { RequestInit, Response } from 'node-fetch'; import * as https from 'https'; import fs from 'fs-extra'; import { JsonObject } from '@backstage/types'; +import { + ClusterDetails, + KubernetesCredential, +} from '@backstage/plugin-kubernetes-node'; export interface KubernetesClientBasedFetcherOptions { logger: Logger; diff --git a/plugins/kubernetes-backend/src/types/index.ts b/plugins/kubernetes-backend/src/types/index.ts index c8413c1aa9..db229eae34 100644 --- a/plugins/kubernetes-backend/src/types/index.ts +++ b/plugins/kubernetes-backend/src/types/index.ts @@ -15,9 +15,3 @@ */ export * from './types'; - -export type { - CustomResourcesByEntity, - KubernetesObjectsByEntity, - KubernetesObjectsProvider, -} from '@backstage/plugin-kubernetes-node'; diff --git a/plugins/kubernetes-backend/src/types/types.ts b/plugins/kubernetes-backend/src/types/types.ts index 6781dc1161..57a12bb58a 100644 --- a/plugins/kubernetes-backend/src/types/types.ts +++ b/plugins/kubernetes-backend/src/types/types.ts @@ -14,131 +14,10 @@ * limitations under the License. */ -import { Entity } from '@backstage/catalog-model'; import { Logger } from 'winston'; -import type { JsonObject } from '@backstage/types'; -import type { - CustomResourceMatcher, - FetchResponse, - KubernetesFetchError, - KubernetesRequestBody, -} from '@backstage/plugin-kubernetes-common'; +import type { KubernetesRequestBody } from '@backstage/plugin-kubernetes-common'; import { Config } from '@backstage/config'; -import { KubernetesCredential } from '../auth/types'; - -/** - * - * @public - */ -export interface ObjectFetchParams { - serviceId: string; - clusterDetails: ClusterDetails; - credential: KubernetesCredential; - objectTypesToFetch: Set; - labelSelector?: string; - customResources: CustomResource[]; - namespace?: string; -} - -/** - * Fetches information from a kubernetes cluster using the cluster details object to target a specific cluster - * - * @public - */ -export interface KubernetesFetcher { - fetchObjectsForService( - params: ObjectFetchParams, - ): Promise; - fetchPodMetricsByNamespaces( - clusterDetails: ClusterDetails, - credential: KubernetesCredential, - namespaces: Set, - labelSelector?: string, - ): Promise; -} - -/** - * - * @public - */ -export interface FetchResponseWrapper { - errors: KubernetesFetchError[]; - responses: FetchResponse[]; -} - -/** - * - * @public - */ -export interface ObjectToFetch { - objectType: KubernetesObjectTypes; - group: string; - apiVersion: string; - plural: string; -} - -/** - * - * @public - */ -export interface CustomResource extends ObjectToFetch { - objectType: 'customresources'; -} - -/** - * - * @public - */ -export type KubernetesObjectTypes = - | 'pods' - | 'services' - | 'configmaps' - | 'deployments' - | 'limitranges' - | 'resourcequotas' - | 'replicasets' - | 'horizontalpodautoscalers' - | 'jobs' - | 'cronjobs' - | 'ingresses' - | 'customresources' - | 'statefulsets' - | 'daemonsets'; -// If updating this list, also make sure to update -// `objectTypes` and `apiVersionOverrides` in config.d.ts! - -/** - * Used to load cluster details from different sources - * @public - */ -export interface KubernetesClustersSupplier { - /** - * Returns the cached list of clusters. - * - * Implementations _should_ cache the clusters and refresh them periodically, - * as getClusters is called whenever the list of clusters is needed. - */ - getClusters(): Promise; -} - -/** - * @public - */ -export interface ServiceLocatorRequestContext { - objectTypesToFetch: Set; - customResources: CustomResourceMatcher[]; -} - -/** - * Used to locate which cluster(s) a service is running on - * @public - */ -export interface KubernetesServiceLocator { - getClustersByEntity( - entity: Entity, - requestContext: ServiceLocatorRequestContext, - ): Promise<{ clusters: ClusterDetails[] }>; -} +import * as k8sTypes from '@backstage/plugin-kubernetes-node'; /** * @@ -146,70 +25,6 @@ export interface KubernetesServiceLocator { */ export type ServiceLocatorMethod = 'multiTenant' | 'singleTenant' | 'http'; // TODO implement http -/** - * Provider-specific authentication configuration - * @public - */ -export type AuthMetadata = Record; - -/** - * - * @public - */ -export interface ClusterDetails { - /** - * Specifies the name of the Kubernetes cluster. - */ - name: string; - url: string; - authMetadata: AuthMetadata; - skipTLSVerify?: boolean; - /** - * Whether to skip the lookup to the metrics server to retrieve pod resource usage. - * It is not guaranteed that the Kubernetes distro has the metrics server installed. - */ - skipMetricsLookup?: boolean; - caData?: string | undefined; - caFile?: string | undefined; - /** - * Specifies the link to the Kubernetes dashboard managing this cluster. - * @remarks - * Note that you should specify the app used for the dashboard - * using the dashboardApp property, in order to properly format - * links to kubernetes resources, otherwise it will assume that you're running the standard one. - * @see dashboardApp - * @see dashboardParameters - */ - dashboardUrl?: string; - /** - * Specifies the app that provides the Kubernetes dashboard. - * This will be used for formatting links to kubernetes objects inside the dashboard. - * @remarks - * The existing apps are: standard, rancher, openshift, gke, aks, eks - * Note that it will default to the regular dashboard provided by the Kubernetes project (standard). - * Note that you can add your own formatter by registering it to the clusterLinksFormatters dictionary. - * @defaultValue standard - * @see dashboardUrl - * @example - * ```ts - * import { clusterLinksFormatters } from '@backstage/plugin-kubernetes'; - * clusterLinksFormatters.myDashboard = (options) => ...; - * ``` - */ - dashboardApp?: string; - /** - * Specifies specific parameters used by some dashboard URL formatters. - * This is used by the GKE formatter which requires the project, region and cluster name. - * @see dashboardApp - */ - dashboardParameters?: JsonObject; - /** - * Specifies which custom resources to look for when returning an entity's - * Kubernetes resources. - */ - customResources?: CustomResourceMatcher[]; -} - /** * * @public @@ -217,10 +32,10 @@ export interface ClusterDetails { export interface KubernetesObjectsProviderOptions { logger: Logger; config: Config; - fetcher: KubernetesFetcher; - serviceLocator: KubernetesServiceLocator; - customResources: CustomResource[]; - objectTypesToFetch?: ObjectToFetch[]; + fetcher: k8sTypes.KubernetesFetcher; + serviceLocator: k8sTypes.KubernetesServiceLocator; + customResources: k8sTypes.CustomResource[]; + objectTypesToFetch?: k8sTypes.ObjectToFetch[]; } /** @@ -228,3 +43,73 @@ export interface KubernetesObjectsProviderOptions { * @public */ export type ObjectsByEntityRequest = KubernetesRequestBody; + +// TODO remove this re-export as a breaking change after a couple of releases +/** + * @public @deprecated Import it from \@backstage/plugin-kubernetes-node instead + */ +export type KubernetesObjectsProvider = k8sTypes.KubernetesObjectsProvider; + +/** + * @public @deprecated Import it from \@backstage/plugin-kubernetes-node instead + */ +export type CustomResourcesByEntity = k8sTypes.CustomResourcesByEntity; + +/** + * @public + * @deprecated Import it from \@backstage/plugin-kubernetes-node instead + */ +export type AuthMetadata = k8sTypes.AuthMetadata; + +/** + * @public + * @deprecated Import it from \@backstage/plugin-kubernetes-node instead + */ +export type ClusterDetails = k8sTypes.ClusterDetails; + +/** + * @public + * @deprecated Import it from \@backstage/plugin-kubernetes-node instead + */ +export type KubernetesClustersSupplier = k8sTypes.KubernetesClustersSupplier; + +/** + * @public @deprecated Import it from \@backstage/plugin-kubernetes-node instead + */ +export type KubernetesObjectTypes = k8sTypes.KubernetesObjectTypes; + +/** + * @public @deprecated Import it from \@backstage/plugin-kubernetes-node instead + */ +export type ObjectToFetch = k8sTypes.ObjectToFetch; + +/** + * @public @deprecated Import it from \@backstage/plugin-kubernetes-node instead + */ +export type CustomResource = k8sTypes.CustomResource; + +/** + * @public @deprecated Import it from \@backstage/plugin-kubernetes-node instead + */ +export type ObjectFetchParams = k8sTypes.ObjectFetchParams; + +/** + * @public @deprecated Import it from \@backstage/plugin-kubernetes-node instead + */ +export type FetchResponseWrapper = k8sTypes.FetchResponseWrapper; + +/** + * @public @deprecated Import it from \@backstage/plugin-kubernetes-node instead + */ +export type KubernetesFetcher = k8sTypes.KubernetesFetcher; + +/** + * @public @deprecated Import it from \@backstage/plugin-kubernetes-node instead + */ +export type ServiceLocatorRequestContext = + k8sTypes.ServiceLocatorRequestContext; + +/** + * @public @deprecated Import it from \@backstage/plugin-kubernetes-node instead + */ +export type KubernetesServiceLocator = k8sTypes.KubernetesServiceLocator; diff --git a/plugins/kubernetes-cluster/CHANGELOG.md b/plugins/kubernetes-cluster/CHANGELOG.md index 13d9388d63..06b0d3e8eb 100644 --- a/plugins/kubernetes-cluster/CHANGELOG.md +++ b/plugins/kubernetes-cluster/CHANGELOG.md @@ -1,5 +1,33 @@ # @backstage/plugin-kubernetes-cluster +## 0.0.5-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-kubernetes-common@0.7.3-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-kubernetes-react@0.2.1-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.0.4 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-kubernetes-react@0.2.0 + - @backstage/plugin-kubernetes-common@0.7.2 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.0.4-next.3 ### Patch Changes diff --git a/plugins/kubernetes-cluster/package.json b/plugins/kubernetes-cluster/package.json index f47ccbc64e..02d143c22b 100644 --- a/plugins/kubernetes-cluster/package.json +++ b/plugins/kubernetes-cluster/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-kubernetes-cluster", "description": "A Backstage plugin that shows details of Kubernetes clusters", - "version": "0.0.4-next.3", + "version": "0.0.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,18 +35,14 @@ }, "dependencies": { "@backstage/catalog-model": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", - "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-kubernetes-common": "workspace:^", "@backstage/plugin-kubernetes-react": "workspace:^", - "@backstage/theme": "workspace:^", "@kubernetes-models/apimachinery": "^1.1.0", "@kubernetes-models/base": "^4.0.1", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "cronstrue": "^2.2.0", @@ -63,15 +59,11 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", - "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/node": "^16.11.26", - "msw": "^1.0.0" + "@types/node": "^16.11.26" }, "files": [ "dist" diff --git a/plugins/kubernetes-common/CHANGELOG.md b/plugins/kubernetes-common/CHANGELOG.md index b46fdd9a64..725c5f7887 100644 --- a/plugins/kubernetes-common/CHANGELOG.md +++ b/plugins/kubernetes-common/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-kubernetes-common +## 0.7.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/catalog-model@1.4.3 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.11 + +## 0.7.2 + +### Patch Changes + +- 706fc3a: Updated dependency `@kubernetes/client-node` to `0.20.0`. +- 5d79682: Remove unused dependency +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.7.2-next.1 ### Patch Changes diff --git a/plugins/kubernetes-common/package.json b/plugins/kubernetes-common/package.json index 318024535f..e9f746f41a 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.7.2-next.1", + "version": "0.7.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -40,7 +40,6 @@ }, "dependencies": { "@backstage/catalog-model": "workspace:^", - "@backstage/errors": "workspace:^", "@backstage/plugin-permission-common": "workspace:^", "@backstage/types": "workspace:^", "@kubernetes/client-node": "0.20.0", @@ -49,10 +48,7 @@ "luxon": "^3.0.0" }, "devDependencies": { - "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", - "@backstage/test-utils": "workspace:^", - "msw": "^1.3.1" + "@backstage/cli": "workspace:^" }, "jest": { "roots": [ diff --git a/plugins/kubernetes-node/CHANGELOG.md b/plugins/kubernetes-node/CHANGELOG.md index 2c6b12f2bd..6cdbd6ec93 100644 --- a/plugins/kubernetes-node/CHANGELOG.md +++ b/plugins/kubernetes-node/CHANGELOG.md @@ -1,5 +1,33 @@ # @backstage/plugin-kubernetes-node +## 0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-kubernetes-common@0.7.3-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/types@1.1.1 + +## 0.1.2 + +### Patch Changes + +- 6010564: The `kubernetes-node` plugin has been modified to house a new extension points for Kubernetes backend plugin; + `KubernetesClusterSupplierExtensionPoint` is introduced . + `kubernetesAuthStrategyExtensionPoint` is introduced . + `kubernetesFetcherExtensionPoint` is introduced . + `kubernetesServiceLocatorExtensionPoint` is introduced . + + The `kubernetes-backend` plugin was modified to use this new extension point. + +- Updated dependencies + - @backstage/plugin-kubernetes-common@0.7.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/types@1.1.1 + ## 0.1.2-next.3 ### Patch Changes diff --git a/plugins/kubernetes-node/api-report.md b/plugins/kubernetes-node/api-report.md index d2981b32d1..2272035742 100644 --- a/plugins/kubernetes-node/api-report.md +++ b/plugins/kubernetes-node/api-report.md @@ -3,19 +3,131 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { AuthenticationStrategy as AuthenticationStrategy_2 } from '@backstage/plugin-kubernetes-node'; import { CustomResourceMatcher } from '@backstage/plugin-kubernetes-common'; import { Entity } from '@backstage/catalog-model'; import { ExtensionPoint } from '@backstage/backend-plugin-api'; +import { FetchResponse } from '@backstage/plugin-kubernetes-common'; +import { JsonObject } from '@backstage/types'; +import { KubernetesClustersSupplier as KubernetesClustersSupplier_2 } from '@backstage/plugin-kubernetes-node'; +import { KubernetesFetcher as KubernetesFetcher_2 } from '@backstage/plugin-kubernetes-node'; +import { KubernetesFetchError } from '@backstage/plugin-kubernetes-common'; import { KubernetesObjectsProvider as KubernetesObjectsProvider_2 } from '@backstage/plugin-kubernetes-node'; import { KubernetesRequestAuth } from '@backstage/plugin-kubernetes-common'; +import { KubernetesServiceLocator as KubernetesServiceLocator_2 } from '@backstage/plugin-kubernetes-node'; import { ObjectsByEntityResponse } from '@backstage/plugin-kubernetes-common'; +// @public (undocumented) +export interface AuthenticationStrategy { + // (undocumented) + getCredential( + clusterDetails: ClusterDetails, + authConfig: KubernetesRequestAuth, + ): Promise; + // (undocumented) + validateCluster(authMetadata: AuthMetadata): Error[]; +} + +// @public +export type AuthMetadata = Record; + +// @public (undocumented) +export interface ClusterDetails { + // (undocumented) + authMetadata: AuthMetadata; + // (undocumented) + caData?: string | undefined; + // (undocumented) + caFile?: string | undefined; + customResources?: CustomResourceMatcher[]; + dashboardApp?: string; + dashboardParameters?: JsonObject; + dashboardUrl?: string; + name: string; + skipMetricsLookup?: boolean; + // (undocumented) + skipTLSVerify?: boolean; + // (undocumented) + url: string; +} + +// @public (undocumented) +export interface CustomResource extends ObjectToFetch { + // (undocumented) + objectType: 'customresources'; +} + // @public (undocumented) export interface CustomResourcesByEntity extends KubernetesObjectsByEntity { // (undocumented) customResources: CustomResourceMatcher[]; } +// @public (undocumented) +export interface FetchResponseWrapper { + // (undocumented) + errors: KubernetesFetchError[]; + // (undocumented) + responses: FetchResponse[]; +} + +// @public +export interface KubernetesAuthStrategyExtensionPoint { + // (undocumented) + addAuthStrategy(key: string, strategy: AuthenticationStrategy_2): void; +} + +// @public +export const kubernetesAuthStrategyExtensionPoint: ExtensionPoint; + +// @public +export interface KubernetesClustersSupplier { + getClusters(): Promise; +} + +// @public +export interface KubernetesClusterSupplierExtensionPoint { + // (undocumented) + addClusterSupplier(clusterSupplier: KubernetesClustersSupplier_2): void; +} + +// @public +export const kubernetesClusterSupplierExtensionPoint: ExtensionPoint; + +// @public +export type KubernetesCredential = + | { + type: 'bearer token'; + token: string; + } + | { + type: 'anonymous'; + }; + +// @public +export interface KubernetesFetcher { + // (undocumented) + fetchObjectsForService( + params: ObjectFetchParams, + ): Promise; + // (undocumented) + fetchPodMetricsByNamespaces( + clusterDetails: ClusterDetails, + credential: KubernetesCredential, + namespaces: Set, + labelSelector?: string, + ): Promise; +} + +// @public +export interface KubernetesFetcherExtensionPoint { + // (undocumented) + addFetcher(fetcher: KubernetesFetcher_2): void; +} + +// @public +export const kubernetesFetcherExtensionPoint: ExtensionPoint; + // @public (undocumented) export interface KubernetesObjectsByEntity { // (undocumented) @@ -44,4 +156,79 @@ export interface KubernetesObjectsProviderExtensionPoint { // @public export const kubernetesObjectsProviderExtensionPoint: ExtensionPoint; + +// @public (undocumented) +export type KubernetesObjectTypes = + | 'pods' + | 'services' + | 'configmaps' + | 'deployments' + | 'limitranges' + | 'resourcequotas' + | 'replicasets' + | 'horizontalpodautoscalers' + | 'jobs' + | 'cronjobs' + | 'ingresses' + | 'customresources' + | 'statefulsets' + | 'daemonsets'; + +// @public +export interface KubernetesServiceLocator { + // (undocumented) + getClustersByEntity( + entity: Entity, + requestContext: ServiceLocatorRequestContext, + ): Promise<{ + clusters: ClusterDetails[]; + }>; +} + +// @public +export interface KubernetesServiceLocatorExtensionPoint { + // (undocumented) + addServiceLocator(serviceLocator: KubernetesServiceLocator_2): void; +} + +// @public +export const kubernetesServiceLocatorExtensionPoint: ExtensionPoint; + +// @public (undocumented) +export interface ObjectFetchParams { + // (undocumented) + clusterDetails: ClusterDetails; + // (undocumented) + credential: KubernetesCredential; + // (undocumented) + customResources: CustomResource[]; + // (undocumented) + labelSelector?: string; + // (undocumented) + namespace?: string; + // (undocumented) + objectTypesToFetch: Set; + // (undocumented) + serviceId: string; +} + +// @public (undocumented) +export interface ObjectToFetch { + // (undocumented) + apiVersion: string; + // (undocumented) + group: string; + // (undocumented) + objectType: KubernetesObjectTypes; + // (undocumented) + plural: string; +} + +// @public (undocumented) +export interface ServiceLocatorRequestContext { + // (undocumented) + customResources: CustomResourceMatcher[]; + // (undocumented) + objectTypesToFetch: Set; +} ``` diff --git a/plugins/kubernetes-node/package.json b/plugins/kubernetes-node/package.json index 25e7a5da44..fcb4ea1d1e 100644 --- a/plugins/kubernetes-node/package.json +++ b/plugins/kubernetes-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-kubernetes-node", "description": "Node.js library for the kubernetes plugin", - "version": "0.1.2-next.3", + "version": "0.1.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,6 +30,7 @@ "dependencies": { "@backstage/backend-plugin-api": "workspace:^", "@backstage/catalog-model": "workspace:^", - "@backstage/plugin-kubernetes-common": "workspace:^" + "@backstage/plugin-kubernetes-common": "workspace:^", + "@backstage/types": "workspace:^" } } diff --git a/plugins/kubernetes-node/src/extensions.ts b/plugins/kubernetes-node/src/extensions.ts index 152622cf96..d898244161 100644 --- a/plugins/kubernetes-node/src/extensions.ts +++ b/plugins/kubernetes-node/src/extensions.ts @@ -14,7 +14,13 @@ * limitations under the License. */ import { createExtensionPoint } from '@backstage/backend-plugin-api'; -import { KubernetesObjectsProvider } from '@backstage/plugin-kubernetes-node'; +import { + AuthenticationStrategy, + KubernetesClustersSupplier, + KubernetesFetcher, + KubernetesObjectsProvider, + KubernetesServiceLocator, +} from '@backstage/plugin-kubernetes-node'; /** * The interface for {@link kubernetesObjectsProviderExtensionPoint}. @@ -34,3 +40,79 @@ export const kubernetesObjectsProviderExtensionPoint = createExtensionPoint({ id: 'kubernetes.objects-provider', }); + +/** + * The interface for {@link kubernetesClusterSupplierExtensionPoint}. + * + * @public + */ +export interface KubernetesClusterSupplierExtensionPoint { + addClusterSupplier(clusterSupplier: KubernetesClustersSupplier): void; +} + +/** + * An extension point the exposes the ability to configure a cluster supplier. + * + * @public + */ +export const kubernetesClusterSupplierExtensionPoint = + createExtensionPoint({ + id: 'kubernetes.cluster-supplier', + }); + +/** + * The interface for {@link kubernetesAuthStrategyExtensionPoint}. + * + * @public + */ +export interface KubernetesAuthStrategyExtensionPoint { + addAuthStrategy(key: string, strategy: AuthenticationStrategy): void; +} + +/** + * An extension point the exposes the ability to add an Auth Strategy. + * + * @public + */ +export const kubernetesAuthStrategyExtensionPoint = + createExtensionPoint({ + id: 'kubernetes.auth-strategy', + }); + +/** + * The interface for {@link kubernetesFetcherExtensionPoint}. + * + * @public + */ +export interface KubernetesFetcherExtensionPoint { + addFetcher(fetcher: KubernetesFetcher): void; +} + +/** + * An extension point the exposes the ability to configure a kubernetes fetcher. + * + * @public + */ +export const kubernetesFetcherExtensionPoint = + createExtensionPoint({ + id: 'kubernetes.fetcher', + }); + +/** + * The interface for {@link kubernetesServiceLocatorExtensionPoint}. + * + * @public + */ +export interface KubernetesServiceLocatorExtensionPoint { + addServiceLocator(serviceLocator: KubernetesServiceLocator): void; +} + +/** + * An extension point the exposes the ability to configure a kubernetes service locator. + * + * @public + */ +export const kubernetesServiceLocatorExtensionPoint = + createExtensionPoint({ + id: 'kubernetes.service-locator', + }); diff --git a/plugins/kubernetes-node/src/index.ts b/plugins/kubernetes-node/src/index.ts index 09ea4123ce..162d5baf26 100644 --- a/plugins/kubernetes-node/src/index.ts +++ b/plugins/kubernetes-node/src/index.ts @@ -29,9 +29,5 @@ * @packageDocumentation */ -export { - kubernetesObjectsProviderExtensionPoint, - type KubernetesObjectsProviderExtensionPoint, -} from './extensions'; - +export * from './extensions'; export * from './types'; diff --git a/plugins/kubernetes-node/src/types/types.ts b/plugins/kubernetes-node/src/types/types.ts index 182f3ecfeb..a0f48d0c26 100644 --- a/plugins/kubernetes-node/src/types/types.ts +++ b/plugins/kubernetes-node/src/types/types.ts @@ -16,9 +16,12 @@ import { Entity } from '@backstage/catalog-model'; import { CustomResourceMatcher, + FetchResponse, + KubernetesFetchError, KubernetesRequestAuth, ObjectsByEntityResponse, } from '@backstage/plugin-kubernetes-common'; +import { JsonObject } from '@backstage/types'; /** * @@ -51,3 +54,200 @@ export interface KubernetesObjectsByEntity { export interface CustomResourcesByEntity extends KubernetesObjectsByEntity { customResources: CustomResourceMatcher[]; } + +/** + * Provider-specific authentication configuration + * @public + */ +export type AuthMetadata = Record; + +/** + * + * @public + */ +export interface ClusterDetails { + /** + * Specifies the name of the Kubernetes cluster. + */ + name: string; + url: string; + authMetadata: AuthMetadata; + skipTLSVerify?: boolean; + /** + * Whether to skip the lookup to the metrics server to retrieve pod resource usage. + * It is not guaranteed that the Kubernetes distro has the metrics server installed. + */ + skipMetricsLookup?: boolean; + caData?: string | undefined; + caFile?: string | undefined; + /** + * Specifies the link to the Kubernetes dashboard managing this cluster. + * @remarks + * Note that you should specify the app used for the dashboard + * using the dashboardApp property, in order to properly format + * links to kubernetes resources, otherwise it will assume that you're running the standard one. + * @see dashboardApp + * @see dashboardParameters + */ + dashboardUrl?: string; + /** + * Specifies the app that provides the Kubernetes dashboard. + * This will be used for formatting links to kubernetes objects inside the dashboard. + * @remarks + * The existing apps are: standard, rancher, openshift, gke, aks, eks + * Note that it will default to the regular dashboard provided by the Kubernetes project (standard). + * Note that you can add your own formatter by registering it to the clusterLinksFormatters dictionary. + * @defaultValue standard + * @see dashboardUrl + * @example + * ```ts + * import { clusterLinksFormatters } from '@backstage/plugin-kubernetes'; + * clusterLinksFormatters.myDashboard = (options) => ...; + * ``` + */ + dashboardApp?: string; + /** + * Specifies specific parameters used by some dashboard URL formatters. + * This is used by the GKE formatter which requires the project, region and cluster name. + * @see dashboardApp + */ + dashboardParameters?: JsonObject; + /** + * Specifies which custom resources to look for when returning an entity's + * Kubernetes resources. + */ + customResources?: CustomResourceMatcher[]; +} + +/** + * Used to load cluster details from different sources + * @public + */ +export interface KubernetesClustersSupplier { + /** + * Returns the cached list of clusters. + * + * Implementations _should_ cache the clusters and refresh them periodically, + * as getClusters is called whenever the list of clusters is needed. + */ + getClusters(): Promise; +} + +/** + * Authentication data used to make a request to Kubernetes + * @public + */ +export type KubernetesCredential = + | { type: 'bearer token'; token: string } + | { type: 'anonymous' }; + +/** + * + * @public + */ +export interface AuthenticationStrategy { + getCredential( + clusterDetails: ClusterDetails, + authConfig: KubernetesRequestAuth, + ): Promise; + validateCluster(authMetadata: AuthMetadata): Error[]; +} + +/** + * + * @public + */ +export type KubernetesObjectTypes = + | 'pods' + | 'services' + | 'configmaps' + | 'deployments' + | 'limitranges' + | 'resourcequotas' + | 'replicasets' + | 'horizontalpodautoscalers' + | 'jobs' + | 'cronjobs' + | 'ingresses' + | 'customresources' + | 'statefulsets' + | 'daemonsets'; +// If updating this list, also make sure to update +// `objectTypes` and `apiVersionOverrides` in config.d.ts on @backstage/plugin-kubernetes-backend! + +/** + * + * @public + */ +export interface ObjectToFetch { + objectType: KubernetesObjectTypes; // TODO - Review + group: string; + apiVersion: string; + plural: string; +} + +/** + * + * @public + */ +export interface CustomResource extends ObjectToFetch { + objectType: 'customresources'; +} + +/** + * + * @public + */ +export interface ObjectFetchParams { + serviceId: string; + clusterDetails: ClusterDetails; + credential: KubernetesCredential; + objectTypesToFetch: Set; + labelSelector?: string; + customResources: CustomResource[]; + namespace?: string; +} + +/** + * + * @public + */ +export interface FetchResponseWrapper { + errors: KubernetesFetchError[]; + responses: FetchResponse[]; +} + +/** + * Fetches information from a kubernetes cluster using the cluster details object to target a specific cluster + * + * @public + */ +export interface KubernetesFetcher { + fetchObjectsForService( + params: ObjectFetchParams, + ): Promise; + fetchPodMetricsByNamespaces( + clusterDetails: ClusterDetails, + credential: KubernetesCredential, + namespaces: Set, + labelSelector?: string, + ): Promise; +} +/** + * @public + */ +export interface ServiceLocatorRequestContext { + objectTypesToFetch: Set; + customResources: CustomResourceMatcher[]; +} + +/** + * Used to locate which cluster(s) a service is running on + * @public + */ +export interface KubernetesServiceLocator { + getClustersByEntity( + entity: Entity, + requestContext: ServiceLocatorRequestContext, + ): Promise<{ clusters: ClusterDetails[] }>; +} diff --git a/plugins/kubernetes-react/CHANGELOG.md b/plugins/kubernetes-react/CHANGELOG.md index 830ed6579e..984befe348 100644 --- a/plugins/kubernetes-react/CHANGELOG.md +++ b/plugins/kubernetes-react/CHANGELOG.md @@ -1,5 +1,38 @@ # @backstage/plugin-kubernetes-react +## 0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-kubernetes-common@0.7.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## 0.2.0 + +### Minor Changes + +- 899d71a: Change `formatClusterLink` to be an API and make it async for further customization possibilities. + + **BREAKING** + If you have a custom k8s page and used `formatClusterLink` directly, you need to migrate to new `kubernetesClusterLinkFormatterApiRef` + +### Patch Changes + +- b5ae2e5: Add ID property to the table displaying kubernetes pods to avoid closing the info sidebar when the data reloads and needs to rerender. +- 706fc3a: Updated dependency `@kubernetes/client-node` to `0.20.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/plugin-kubernetes-common@0.7.2 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.2.0-next.3 ### Patch Changes diff --git a/plugins/kubernetes-react/package.json b/plugins/kubernetes-react/package.json index b53c2c138b..0ba7e579bb 100644 --- a/plugins/kubernetes-react/package.json +++ b/plugins/kubernetes-react/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-kubernetes-react", "description": "Web library for the kubernetes-react plugin", - "version": "0.2.0-next.3", + "version": "0.2.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/kubernetes/CHANGELOG.md b/plugins/kubernetes/CHANGELOG.md index 697775f2e4..0c48acdbd8 100644 --- a/plugins/kubernetes/CHANGELOG.md +++ b/plugins/kubernetes/CHANGELOG.md @@ -1,5 +1,40 @@ # @backstage/plugin-kubernetes +## 0.11.4-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-kubernetes-common@0.7.3-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-kubernetes-react@0.2.1-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.11.3 + +### Patch Changes + +- 899d71a: Change `formatClusterLink` to be an API and make it async for further customization possibilities. + + **BREAKING** + If you have a custom k8s page and used `formatClusterLink` directly, you need to migrate to new `kubernetesClusterLinkFormatterApiRef` + +- 706fc3a: Updated dependency `@kubernetes/client-node` to `0.20.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-kubernetes-react@0.2.0 + - @backstage/plugin-kubernetes-common@0.7.2 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.11.3-next.3 ### Patch Changes diff --git a/plugins/kubernetes/package.json b/plugins/kubernetes/package.json index bc2fee45f8..9f09e80f9e 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.11.3-next.3", + "version": "0.11.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,28 +35,21 @@ }, "dependencies": { "@backstage/catalog-model": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", - "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-kubernetes-common": "workspace:^", "@backstage/plugin-kubernetes-react": "workspace:^", - "@backstage/theme": "workspace:^", - "@backstage/types": "workspace:^", "@kubernetes-models/apimachinery": "^1.1.0", "@kubernetes-models/base": "^4.0.1", "@kubernetes/client-node": "0.20.0", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "cronstrue": "^2.2.0", "js-yaml": "^4.0.0", "kubernetes-models": "^4.1.0", "lodash": "^4.17.21", "luxon": "^3.0.0", - "react-use": "^17.2.4", "xterm": "^5.2.1", "xterm-addon-attach": "^0.9.0", "xterm-addon-fit": "^0.8.0" @@ -68,15 +61,11 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "jest-websocket-mock": "^2.4.1", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/lighthouse-backend/CHANGELOG.md b/plugins/lighthouse-backend/CHANGELOG.md index 674484f304..3791772113 100644 --- a/plugins/lighthouse-backend/CHANGELOG.md +++ b/plugins/lighthouse-backend/CHANGELOG.md @@ -1,5 +1,39 @@ # @backstage/plugin-lighthouse-backend +## 0.4.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-lighthouse-common@0.1.4 + +## 0.4.0 + +### Minor Changes + +- 7f0dbfd: Fixed crashes faced with custom schedule configuration. The configuration schema has been update to leverage the TaskScheduleDefinition interface. It is highly recommended to move the `lighthouse.shedule` and `lighthouse.timeout` respectively to `lighthouse.schedule.frequency` and `lighthouse.schedule.timeout`. + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-lighthouse-common@0.1.4 + ## 0.4.0-next.3 ### Patch Changes diff --git a/plugins/lighthouse-backend/package.json b/plugins/lighthouse-backend/package.json index 9123929adc..15c360d564 100644 --- a/plugins/lighthouse-backend/package.json +++ b/plugins/lighthouse-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-lighthouse-backend", "description": "Backend functionalities for lighthouse", - "version": "0.4.0-next.3", + "version": "0.4.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/lighthouse/CHANGELOG.md b/plugins/lighthouse/CHANGELOG.md index 7678da94e0..2028d95320 100644 --- a/plugins/lighthouse/CHANGELOG.md +++ b/plugins/lighthouse/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/plugin-lighthouse +## 0.4.14-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-lighthouse-common@0.1.4 + +## 0.4.13 + +### Patch Changes + +- ffbf656: Updated README +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-lighthouse-common@0.1.4 + ## 0.4.13-next.3 ### Patch Changes diff --git a/plugins/lighthouse/package.json b/plugins/lighthouse/package.json index b5c0731de3..d4a9b8e5ed 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.4.13-next.3", + "version": "0.4.14-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,12 +35,10 @@ }, "dependencies": { "@backstage/catalog-model": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-lighthouse-common": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", @@ -60,7 +58,6 @@ "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/linguist-backend/CHANGELOG.md b/plugins/linguist-backend/CHANGELOG.md index e76695b274..3c7357ab8d 100644 --- a/plugins/linguist-backend/CHANGELOG.md +++ b/plugins/linguist-backend/CHANGELOG.md @@ -1,5 +1,40 @@ # @backstage/plugin-linguist-backend +## 0.5.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-linguist-common@0.1.2 + +## 0.5.5 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-linguist-common@0.1.2 + ## 0.5.5-next.3 ### Patch Changes diff --git a/plugins/linguist-backend/package.json b/plugins/linguist-backend/package.json index a31ea857b7..c32f6cbb25 100644 --- a/plugins/linguist-backend/package.json +++ b/plugins/linguist-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-linguist-backend", - "version": "0.5.5-next.3", + "version": "0.5.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -56,7 +56,6 @@ "@backstage/cli": "workspace:^", "@types/supertest": "^2.0.8", "js-yaml": "^4.1.0", - "msw": "^1.0.0", "supertest": "^6.2.4" }, "files": [ diff --git a/plugins/linguist/CHANGELOG.md b/plugins/linguist/CHANGELOG.md index 3770d3d3e7..1616c8fb8d 100644 --- a/plugins/linguist/CHANGELOG.md +++ b/plugins/linguist/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/plugin-linguist +## 0.1.14-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-linguist-common@0.1.2 + +## 0.1.13 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-linguist-common@0.1.2 + ## 0.1.13-next.3 ### Patch Changes diff --git a/plugins/linguist/package.json b/plugins/linguist/package.json index 38e038e234..50ff0f8aaf 100644 --- a/plugins/linguist/package.json +++ b/plugins/linguist/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-linguist", - "version": "0.1.13-next.3", + "version": "0.1.14-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,9 +35,7 @@ "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-linguist-common": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.9.13", - "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "luxon": "^2.0.2", @@ -51,14 +49,10 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/microsoft-calendar/CHANGELOG.md b/plugins/microsoft-calendar/CHANGELOG.md index 81b7313074..cf13658162 100644 --- a/plugins/microsoft-calendar/CHANGELOG.md +++ b/plugins/microsoft-calendar/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-microsoft-calendar +## 0.1.11-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.1.10 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/errors@1.2.3 + ## 0.1.10-next.3 ### Patch Changes diff --git a/plugins/microsoft-calendar/package.json b/plugins/microsoft-calendar/package.json index 8c187ded67..9643f048fb 100644 --- a/plugins/microsoft-calendar/package.json +++ b/plugins/microsoft-calendar/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-microsoft-calendar", - "version": "0.1.10-next.3", + "version": "0.1.11-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -51,7 +51,6 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@microsoft/microsoft-graph-types": "^2.25.0", @@ -71,14 +70,10 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/newrelic-dashboard/CHANGELOG.md b/plugins/newrelic-dashboard/CHANGELOG.md index faf1509b90..79d4fb0e27 100644 --- a/plugins/newrelic-dashboard/CHANGELOG.md +++ b/plugins/newrelic-dashboard/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/plugin-newrelic-dashboard +## 0.3.4-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.3.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.3.3-next.3 ### Patch Changes diff --git a/plugins/newrelic-dashboard/package.json b/plugins/newrelic-dashboard/package.json index 3b6033aa58..c89982d137 100644 --- a/plugins/newrelic-dashboard/package.json +++ b/plugins/newrelic-dashboard/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-newrelic-dashboard", - "version": "0.3.3-next.3", + "version": "0.3.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,7 +36,6 @@ "@backstage/plugin-catalog-react": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "react-use": "^17.2.4" }, diff --git a/plugins/newrelic/CHANGELOG.md b/plugins/newrelic/CHANGELOG.md index b9808e0222..8c5450fa6c 100644 --- a/plugins/newrelic/CHANGELOG.md +++ b/plugins/newrelic/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-newrelic +## 0.3.44-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## 0.3.43 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + ## 0.3.43-next.3 ### Patch Changes diff --git a/plugins/newrelic/package.json b/plugins/newrelic/package.json index 05d49ebcf4..b159b3dad7 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.43-next.3", + "version": "0.3.44-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,9 +36,7 @@ "dependencies": { "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "parse-link-header": "^2.0.0", @@ -50,17 +48,13 @@ "react-router-dom": "6.0.0-beta.0 || ^6.3.0" }, "devDependencies": { - "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "@types/parse-link-header": "^2.0.1", - "cross-fetch": "^4.0.0", "msw": "^1.2.3" }, "files": [ diff --git a/plugins/nomad-backend/CHANGELOG.md b/plugins/nomad-backend/CHANGELOG.md index 672422c084..4b23f4cbbe 100644 --- a/plugins/nomad-backend/CHANGELOG.md +++ b/plugins/nomad-backend/CHANGELOG.md @@ -1,5 +1,26 @@ # @backstage/plugin-nomad-backend +## 0.1.11-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## 0.1.10 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.10-next.3 ### Patch Changes diff --git a/plugins/nomad-backend/package.json b/plugins/nomad-backend/package.json index 55f6e0de55..5812dcaaa5 100644 --- a/plugins/nomad-backend/package.json +++ b/plugins/nomad-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-nomad-backend", - "version": "0.1.10-next.3", + "version": "0.1.11-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -42,7 +42,6 @@ "devDependencies": { "@backstage/cli": "workspace:^", "@types/supertest": "^2.0.8", - "msw": "^1.0.0", "supertest": "^6.2.4" }, "files": [ diff --git a/plugins/nomad/CHANGELOG.md b/plugins/nomad/CHANGELOG.md index 05d60eb971..d5745fcc67 100644 --- a/plugins/nomad/CHANGELOG.md +++ b/plugins/nomad/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/plugin-nomad +## 0.1.10-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.1.9 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + ## 0.1.9-next.3 ### Patch Changes diff --git a/plugins/nomad/package.json b/plugins/nomad/package.json index 1c5c554192..22c31d74ee 100644 --- a/plugins/nomad/package.json +++ b/plugins/nomad/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-nomad", - "version": "0.1.9-next.3", + "version": "0.1.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,14 +30,11 @@ }, "dependencies": { "@backstage/catalog-model": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.9.13", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "^4.0.0-alpha.60", "@types/react": "^16.13.1 || ^17.0.0", "luxon": "^3.3.0", "react-use": "^17.2.4" @@ -49,14 +46,10 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "cross-fetch": "^4.0.0" }, "files": [ "dist" diff --git a/plugins/octopus-deploy/CHANGELOG.md b/plugins/octopus-deploy/CHANGELOG.md index 86102ae14f..fee4988107 100644 --- a/plugins/octopus-deploy/CHANGELOG.md +++ b/plugins/octopus-deploy/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-octopus-deploy +## 0.2.11-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.2.10 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + ## 0.2.10-next.3 ### Patch Changes diff --git a/plugins/octopus-deploy/package.json b/plugins/octopus-deploy/package.json index 4835bed903..e0e7d47fd6 100644 --- a/plugins/octopus-deploy/package.json +++ b/plugins/octopus-deploy/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-octopus-deploy", - "version": "0.2.10-next.3", + "version": "0.2.11-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,10 +33,7 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.9.13", - "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "react-use": "^17.2.4" }, @@ -47,14 +44,10 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist", diff --git a/plugins/opencost/CHANGELOG.md b/plugins/opencost/CHANGELOG.md index 44395ac60a..a87b48a272 100644 --- a/plugins/opencost/CHANGELOG.md +++ b/plugins/opencost/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-opencost +## 0.2.4-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + +## 0.2.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + ## 0.2.3-next.3 ### Patch Changes diff --git a/plugins/opencost/package.json b/plugins/opencost/package.json index aa6c5cc00c..8b78f91d6a 100644 --- a/plugins/opencost/package.json +++ b/plugins/opencost/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-opencost", - "version": "0.2.3-next.3", + "version": "0.2.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -25,18 +25,15 @@ "dependencies": { "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", - "@backstage/theme": "workspace:^", "@date-io/luxon": "1.x", "@material-ui/core": "^4.9.13", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "^4.0.0-alpha.60", "@material-ui/pickers": "^3.3.10", "@material-ui/styles": "^4.11.5", "@types/react": "^16.13.1 || ^17.0.0", "axios": "^1.4.0", "date-fns": "^2.30.0", "lodash": "^4.17.21", - "react-use": "^17.2.4", "recharts": "^2.5.0" }, "peerDependencies": { @@ -45,14 +42,8 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", - "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@testing-library/jest-dom": "^6.0.0" }, "files": [ "dist", diff --git a/plugins/org-react/CHANGELOG.md b/plugins/org-react/CHANGELOG.md index 735191b33d..76e0967e60 100644 --- a/plugins/org-react/CHANGELOG.md +++ b/plugins/org-react/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-org-react +## 0.1.18-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/catalog-model@1.4.3 + ## 0.1.17-next.3 ### Patch Changes diff --git a/plugins/org-react/package.json b/plugins/org-react/package.json index a81e1e7b75..d0865d4925 100644 --- a/plugins/org-react/package.json +++ b/plugins/org-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-org-react", - "version": "0.1.17-next.3", + "version": "0.1.18-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -37,7 +37,6 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", @@ -52,13 +51,11 @@ "devDependencies": { "@backstage/cli": "workspace:^", "@backstage/core-app-api": "workspace:^", - "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/user-event": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/org/CHANGELOG.md b/plugins/org/CHANGELOG.md index 3c6dfe8a75..8f75dc47ed 100644 --- a/plugins/org/CHANGELOG.md +++ b/plugins/org/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/plugin-org +## 0.6.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-common@1.0.19 + +## 0.6.18 + +### Patch Changes + +- 59c24b9: Fix issue where members inside of `` would be rendered as squished when the card itself was shrunk down. +- 3a65d9c: Support member list scrollable when parent has specified height +- 4785d05: Add permission check to catalog create and refresh button +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-catalog-common@1.0.19 + ## 0.6.18-next.3 ### Patch Changes diff --git a/plugins/org/package.json b/plugins/org/package.json index b40631afe6..b6e1ef9ca3 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.6.18-next.3", + "version": "0.6.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,7 +35,6 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-common": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", @@ -63,8 +62,7 @@ "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/user-event": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/org/src/__testUtils__/catalogMocks.ts b/plugins/org/src/__testUtils__/catalogMocks.ts index b14856e345..a97caa9971 100644 --- a/plugins/org/src/__testUtils__/catalogMocks.ts +++ b/plugins/org/src/__testUtils__/catalogMocks.ts @@ -208,8 +208,7 @@ export const groupAUserOne: Entity = { profile: { displayName: 'Group A User One', email: 'group-a-user-one@testing.email', - picture: - 'https://avatars.dicebear.com/api/avataaars/breanna-davison@example.com.svg', + picture: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Buster', }, }, }; @@ -224,8 +223,7 @@ export const groupBUserOne: Entity = { profile: { displayName: 'Group B User One', email: 'group-b-user-one@testing.email', - picture: - 'https://avatars.dicebear.com/api/avataaars/breanna-davison@example.com.svg', + picture: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Buster', }, }, }; @@ -240,8 +238,7 @@ export const groupDUserOne: Entity = { profile: { displayName: 'Group D User One', email: 'group-d-user-one@testing.email', - picture: - 'https://avatars.dicebear.com/api/avataaars/breanna-davison@example.com.svg', + picture: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Buster', }, }, }; @@ -256,8 +253,7 @@ export const groupEUserOne: Entity = { profile: { displayName: 'Group E User One', email: 'group-e-user-one@testing.email', - picture: - 'https://avatars.dicebear.com/api/avataaars/breanna-davison@example.com.svg', + picture: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Buster', }, }, }; @@ -272,8 +268,7 @@ export const groupFUserOne: Entity = { profile: { displayName: 'Group F User One', email: 'group-f-user-one@testing.email', - picture: - 'https://avatars.dicebear.com/api/avataaars/breanna-davison@example.com.svg', + picture: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Buster', }, }, }; @@ -288,8 +283,7 @@ export const duplicatedUser: Entity = { profile: { displayName: 'Duplicated User', email: 'duplicated-user@testing.email', - picture: - 'https://avatars.dicebear.com/api/avataaars/breanna-davison@example.com.svg', + picture: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Buster', }, }, }; diff --git a/plugins/org/src/components/Cards/Group/GroupProfile/GroupProfileCard.stories.tsx b/plugins/org/src/components/Cards/Group/GroupProfile/GroupProfileCard.stories.tsx index e10d6322e0..62ecca14e0 100644 --- a/plugins/org/src/components/Cards/Group/GroupProfile/GroupProfileCard.stories.tsx +++ b/plugins/org/src/components/Cards/Group/GroupProfile/GroupProfileCard.stories.tsx @@ -48,7 +48,7 @@ const defaultEntity: GroupEntity = { displayName: 'Team A', email: 'team-a@example.com', picture: - 'https://avatars.dicebear.com/api/identicon/team-a@example.com.svg?background=%23fff&margin=25', + 'https://api.dicebear.com/7.x/identicon/svg?seed=Fluffy&backgroundType=solid,gradientLinear&backgroundColor=ffd5dc,b6e3f4', }, type: 'group', children: [], @@ -111,7 +111,7 @@ const extraDetailsEntity: GroupEntity = { displayName: 'Team A', email: 'team-a@example.com', picture: - 'https://avatars.dicebear.com/api/identicon/team-a@example.com.svg?background=%23fff&margin=25', + 'https://api.dicebear.com/7.x/identicon/svg?seed=Fluffy&backgroundType=solid,gradientLinear&backgroundColor=ffd5dc,b6e3f4', }, type: 'group', children: [], @@ -141,7 +141,7 @@ const groupWithTitle: GroupEntity = { profile: { email: 'team-a@example.com', picture: - 'https://avatars.dicebear.com/api/identicon/team-a@example.com.svg?background=%23fff&margin=25', + 'https://api.dicebear.com/7.x/identicon/svg?seed=Fluffy&backgroundType=solid,gradientLinear&backgroundColor=ffd5dc,b6e3f4', }, type: 'group', children: [], diff --git a/plugins/org/src/components/Cards/Group/MembersList/MembersListCard.stories.tsx b/plugins/org/src/components/Cards/Group/MembersList/MembersListCard.stories.tsx index 6b34d8b934..0e2b6a39f7 100644 --- a/plugins/org/src/components/Cards/Group/MembersList/MembersListCard.stories.tsx +++ b/plugins/org/src/components/Cards/Group/MembersList/MembersListCard.stories.tsx @@ -55,7 +55,7 @@ const makeUser = ({ profile: { displayName, email, - picture: `https://avatars.dicebear.com/api/avataaars/${email}.svg?background=%23fff`, + picture: `https://api.dicebear.com/7.x/avataaars/svg?seed=bob${name}`, }, }, relations: [ @@ -83,7 +83,7 @@ const defaultEntity: GroupEntity = { displayName: 'Team A', email: 'team-a@example.com', picture: - 'https://avatars.dicebear.com/api/identicon/team-a@example.com.svg?background=%23fff&margin=25', + 'https://api.dicebear.com/7.x/identicon/svg?seed=Fluffy&backgroundType=solid,gradientLinear&backgroundColor=ffd5dc,b6e3f4', }, type: 'group', children: [], diff --git a/plugins/org/src/components/Cards/OwnershipCard/OwnershipCard.stories.tsx b/plugins/org/src/components/Cards/OwnershipCard/OwnershipCard.stories.tsx index 390fff12a4..1f50dc33d8 100644 --- a/plugins/org/src/components/Cards/OwnershipCard/OwnershipCard.stories.tsx +++ b/plugins/org/src/components/Cards/OwnershipCard/OwnershipCard.stories.tsx @@ -44,7 +44,7 @@ const defaultEntity: GroupEntity = { displayName: 'Team A', email: 'team-a@example.com', picture: - 'https://avatars.dicebear.com/api/identicon/team-a@example.com.svg?background=%23fff&margin=25', + 'https://api.dicebear.com/7.x/identicon/svg?seed=Fluffy&backgroundType=solid,gradientLinear&backgroundColor=ffd5dc,b6e3f4', }, type: 'group', children: [], diff --git a/plugins/org/src/components/Cards/User/UserProfileCard/UserProfileCard.stories.tsx b/plugins/org/src/components/Cards/User/UserProfileCard/UserProfileCard.stories.tsx index 02598691e0..6326a043bc 100644 --- a/plugins/org/src/components/Cards/User/UserProfileCard/UserProfileCard.stories.tsx +++ b/plugins/org/src/components/Cards/User/UserProfileCard/UserProfileCard.stories.tsx @@ -45,8 +45,6 @@ const defaultEntity: UserEntity = { profile: { displayName: 'Guest User', email: 'guest@example.com', - picture: - 'https://avatars.dicebear.com/api/avataaars/guest@example.com.svg?background=%23fff', }, memberOf: ['team-a'], }, @@ -125,8 +123,6 @@ const extraDetailsEntity: UserEntity = { profile: { displayName: 'Guest User', email: 'guest@example.com', - picture: - 'https://avatars.dicebear.com/api/avataaars/guest@example.com.svg?background=%23fff', }, memberOf: ['team-a'], }, diff --git a/plugins/pagerduty/CHANGELOG.md b/plugins/pagerduty/CHANGELOG.md index fe653317cf..49dd57559d 100644 --- a/plugins/pagerduty/CHANGELOG.md +++ b/plugins/pagerduty/CHANGELOG.md @@ -1,5 +1,35 @@ # @backstage/plugin-pagerduty +## 0.7.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-home-react@0.1.7-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.7.0 + +### Minor Changes + +- 5fca16f: This package has been deprecated, consider using [@pagerduty/backstage-plugin](https://github.com/pagerduty/backstage-plugin) instead. + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-home-react@0.1.6 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.7.0-next.3 ### Patch Changes diff --git a/plugins/pagerduty/package.json b/plugins/pagerduty/package.json index b51eb070a8..5b84a35f05 100644 --- a/plugins/pagerduty/package.json +++ b/plugins/pagerduty/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-pagerduty", "description": "This plugin has been deprecated, consider using [@pagerduty/backstage-plugin](https://github.com/pagerduty/backstage-plugin) instead.", - "version": "0.7.0-next.3", + "version": "0.7.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -40,12 +40,10 @@ "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-home-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", - "classnames": "^2.2.6", "luxon": "^3.0.0", "react-use": "^17.2.4" }, @@ -61,9 +59,7 @@ "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist", diff --git a/plugins/periskop-backend/CHANGELOG.md b/plugins/periskop-backend/CHANGELOG.md index 69ccab7743..4c9bff2525 100644 --- a/plugins/periskop-backend/CHANGELOG.md +++ b/plugins/periskop-backend/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-periskop-backend +## 0.2.7-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + +## 0.2.6 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + ## 0.2.6-next.3 ### Patch Changes diff --git a/plugins/periskop-backend/package.json b/plugins/periskop-backend/package.json index ff1ab298d0..64f6929c99 100644 --- a/plugins/periskop-backend/package.json +++ b/plugins/periskop-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-periskop-backend", - "version": "0.2.6-next.3", + "version": "0.2.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -54,7 +54,6 @@ "devDependencies": { "@backstage/cli": "workspace:^", "@types/supertest": "^2.0.8", - "msw": "^1.0.0", "supertest": "^6.1.6" }, "files": [ diff --git a/plugins/periskop/CHANGELOG.md b/plugins/periskop/CHANGELOG.md index 63902f0d1c..10f79f38fe 100644 --- a/plugins/periskop/CHANGELOG.md +++ b/plugins/periskop/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-periskop +## 0.1.27-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.1.26 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.1.26-next.3 ### Patch Changes diff --git a/plugins/periskop/package.json b/plugins/periskop/package.json index d7a218db49..fd26a8d79b 100644 --- a/plugins/periskop/package.json +++ b/plugins/periskop/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-periskop", - "version": "0.1.26-next.3", + "version": "0.1.27-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,10 +34,6 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", - "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "luxon": "^3.0.0", "react-use": "^17.2.4" @@ -49,15 +45,11 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/luxon": "^3.0.0", - "msw": "^1.0.0" + "@types/luxon": "^3.0.0" }, "files": [ "dist", diff --git a/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md b/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md index fc9fd9b432..dabe89979f 100644 --- a/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md +++ b/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/plugin-permission-backend-module-allow-all-policy +## 0.1.6-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## 0.1.5 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/backend-plugin-api@0.6.8 + ## 0.1.5-next.3 ### Patch Changes diff --git a/plugins/permission-backend-module-policy-allow-all/package.json b/plugins/permission-backend-module-policy-allow-all/package.json index d98a9c02ba..80104a5913 100644 --- a/plugins/permission-backend-module-policy-allow-all/package.json +++ b/plugins/permission-backend-module-policy-allow-all/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-permission-backend-module-allow-all-policy", "description": "Allow all policy backend module for the permission plugin.", - "version": "0.1.5-next.3", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,7 +23,6 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", "@backstage/plugin-permission-common": "workspace:^", diff --git a/plugins/permission-backend/CHANGELOG.md b/plugins/permission-backend/CHANGELOG.md index c4086086ff..60573e859c 100644 --- a/plugins/permission-backend/CHANGELOG.md +++ b/plugins/permission-backend/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/plugin-permission-backend +## 0.5.32-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + +## 0.5.31 + +### Patch Changes + +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.5.31-next.3 ### Patch Changes diff --git a/plugins/permission-backend/package.json b/plugins/permission-backend/package.json index e41f2bfe56..3cbbc2acec 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.31-next.3", + "version": "0.5.32-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -56,7 +56,7 @@ "node-fetch": "^2.6.7", "winston": "^3.2.1", "yn": "^4.0.0", - "zod": "^3.21.4" + "zod": "^3.22.4" }, "devDependencies": { "@backstage/cli": "workspace:^", diff --git a/plugins/permission-common/CHANGELOG.md b/plugins/permission-common/CHANGELOG.md index 26fb7356f9..862e8db4a5 100644 --- a/plugins/permission-common/CHANGELOG.md +++ b/plugins/permission-common/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-permission-common +## 0.7.11 + +### Patch Changes + +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.7.10 ### Patch Changes diff --git a/plugins/permission-common/package.json b/plugins/permission-common/package.json index 0cc2d043df..2907347889 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.7.10", + "version": "0.7.11", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { @@ -47,7 +47,7 @@ "@backstage/types": "workspace:^", "cross-fetch": "^4.0.0", "uuid": "^8.0.0", - "zod": "^3.21.4" + "zod": "^3.22.4" }, "devDependencies": { "@backstage/cli": "workspace:^", diff --git a/plugins/permission-node/CHANGELOG.md b/plugins/permission-node/CHANGELOG.md index 20206efcbc..e38922fe6e 100644 --- a/plugins/permission-node/CHANGELOG.md +++ b/plugins/permission-node/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/plugin-permission-node +## 0.7.20-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + +## 0.7.19 + +### Patch Changes + +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.7.19-next.3 ### Patch Changes diff --git a/plugins/permission-node/package.json b/plugins/permission-node/package.json index 51f3642a7a..740886a638 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.7.19-next.3", + "version": "0.7.20-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -55,7 +55,7 @@ "@types/express": "^4.17.6", "express": "^4.17.1", "express-promise-router": "^4.1.0", - "zod": "^3.21.4", + "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" }, "devDependencies": { diff --git a/plugins/permission-react/CHANGELOG.md b/plugins/permission-react/CHANGELOG.md index 3fedc6e80a..1880593ee7 100644 --- a/plugins/permission-react/CHANGELOG.md +++ b/plugins/permission-react/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-permission-react +## 0.4.19-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-permission-common@0.7.11 + +## 0.4.18 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/config@1.1.1 + ## 0.4.18-next.1 ### Patch Changes diff --git a/plugins/permission-react/package.json b/plugins/permission-react/package.json index 433ec8bcb4..242587043b 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.18-next.1", + "version": "0.4.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,8 +36,6 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-permission-common": "workspace:^", "@types/react": "^16.13.1 || ^17.0.0", - "cross-fetch": "^4.0.0", - "react-use": "^17.2.4", "swr": "^2.0.0" }, "peerDependencies": { diff --git a/plugins/playlist-backend/CHANGELOG.md b/plugins/playlist-backend/CHANGELOG.md index ecec9270f6..7fbe486e76 100644 --- a/plugins/playlist-backend/CHANGELOG.md +++ b/plugins/playlist-backend/CHANGELOG.md @@ -1,5 +1,39 @@ # @backstage/plugin-playlist-backend +## 0.3.13-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + - @backstage/plugin-playlist-common@0.1.13 + +## 0.3.12 + +### Patch Changes + +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-playlist-common@0.1.13 + ## 0.3.12-next.3 ### Patch Changes diff --git a/plugins/playlist-backend/package.json b/plugins/playlist-backend/package.json index 14c704d1c7..acaeacd10a 100644 --- a/plugins/playlist-backend/package.json +++ b/plugins/playlist-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-playlist-backend", - "version": "0.3.12-next.3", + "version": "0.3.13-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -46,13 +46,12 @@ "uuid": "^8.2.0", "winston": "^3.2.1", "yn": "^4.0.0", - "zod": "^3.21.4" + "zod": "^3.22.4" }, "devDependencies": { "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", "@types/supertest": "^2.0.8", - "msw": "^1.0.0", "supertest": "^6.1.3" }, "files": [ diff --git a/plugins/playlist-common/CHANGELOG.md b/plugins/playlist-common/CHANGELOG.md index af77b53222..3fcdbfc5bc 100644 --- a/plugins/playlist-common/CHANGELOG.md +++ b/plugins/playlist-common/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-playlist-common +## 0.1.13 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + ## 0.1.12 ### Patch Changes diff --git a/plugins/playlist-common/package.json b/plugins/playlist-common/package.json index f19883a74d..7d42844986 100644 --- a/plugins/playlist-common/package.json +++ b/plugins/playlist-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-playlist-common", "description": "Common functionalities for the playlist plugin", - "version": "0.1.12", + "version": "0.1.13", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/playlist/CHANGELOG.md b/plugins/playlist/CHANGELOG.md index aa4713a629..5629dbf15c 100644 --- a/plugins/playlist/CHANGELOG.md +++ b/plugins/playlist/CHANGELOG.md @@ -1,5 +1,39 @@ # @backstage/plugin-playlist +## 0.2.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-playlist-common@0.1.13 + +## 0.2.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-search-react@1.7.4 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-playlist-common@0.1.13 + ## 0.2.2-next.3 ### Patch Changes diff --git a/plugins/playlist/package.json b/plugins/playlist/package.json index c5cff7b053..2d114e4494 100644 --- a/plugins/playlist/package.json +++ b/plugins/playlist/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-playlist", - "version": "0.2.2-next.3", + "version": "0.2.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -39,7 +39,6 @@ "@backstage/plugin-permission-react": "workspace:^", "@backstage/plugin-playlist-common": "workspace:^", "@backstage/plugin-search-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", @@ -64,7 +63,6 @@ "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "msw": "^1.0.0", "swr": "^2.0.0" }, diff --git a/plugins/proxy-backend/CHANGELOG.md b/plugins/proxy-backend/CHANGELOG.md index a574c41a85..35870e495c 100644 --- a/plugins/proxy-backend/CHANGELOG.md +++ b/plugins/proxy-backend/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-proxy-backend +## 0.4.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + +## 0.4.6 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + ## 0.4.6-next.3 ### Patch Changes diff --git a/plugins/proxy-backend/package.json b/plugins/proxy-backend/package.json index cb387751df..036de4a24e 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.4.6-next.3", + "version": "0.4.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/puppetdb/CHANGELOG.md b/plugins/puppetdb/CHANGELOG.md index 04e8057c33..d4a5eb3350 100644 --- a/plugins/puppetdb/CHANGELOG.md +++ b/plugins/puppetdb/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-puppetdb +## 0.1.12-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.1.11 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.1.11-next.3 ### Patch Changes diff --git a/plugins/puppetdb/package.json b/plugins/puppetdb/package.json index 3068748b40..298c485539 100644 --- a/plugins/puppetdb/package.json +++ b/plugins/puppetdb/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-puppetdb", "description": "Backstage plugin to visualize resource information and Puppet facts from PuppetDB.", - "version": "0.1.11-next.3", + "version": "0.1.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -40,10 +40,7 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "^4.0.0-alpha.57", "@types/react": "^16.13.1 || ^17.0.0", "react-use": "^17.2.4" }, @@ -59,7 +56,6 @@ "@backstage/test-utils": "workspace:^", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "msw": "^1.0.1" }, "files": [ diff --git a/plugins/rollbar-backend/CHANGELOG.md b/plugins/rollbar-backend/CHANGELOG.md index 6189b88d36..be4a8e6462 100644 --- a/plugins/rollbar-backend/CHANGELOG.md +++ b/plugins/rollbar-backend/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-rollbar-backend +## 0.1.54-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + +## 0.1.53 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/config@1.1.1 + ## 0.1.53-next.3 ### Patch Changes diff --git a/plugins/rollbar-backend/package.json b/plugins/rollbar-backend/package.json index 785acee055..a12396d2fd 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.53-next.3", + "version": "0.1.54-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/rollbar/CHANGELOG.md b/plugins/rollbar/CHANGELOG.md index e7c12d9983..eff408db5b 100644 --- a/plugins/rollbar/CHANGELOG.md +++ b/plugins/rollbar/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-rollbar +## 0.4.29-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.4.28 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + ## 0.4.28-next.3 ### Patch Changes diff --git a/plugins/rollbar/package.json b/plugins/rollbar/package.json index 0e2f9db895..51da2a0964 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.28-next.3", + "version": "0.4.29-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -38,9 +38,7 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "lodash": "^4.17.21", @@ -54,15 +52,11 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist", diff --git a/plugins/scaffolder-backend-module-azure/CHANGELOG.md b/plugins/scaffolder-backend-module-azure/CHANGELOG.md index 144ccbe0d6..6fffd537fd 100644 --- a/plugins/scaffolder-backend-module-azure/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-azure/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/plugin-scaffolder-backend-module-azure +## 0.1.1-next.0 + +### Patch Changes + +- d076ee4: Updated dependency `azure-devops-node-api` to `^12.0.0`. +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## 0.1.0 + +### Minor Changes + +- 219d7f0: Create new scaffolder module for external integrations + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.0-next.0 ### Minor Changes diff --git a/plugins/scaffolder-backend-module-azure/package.json b/plugins/scaffolder-backend-module-azure/package.json index 4c4c74e398..4d652a0835 100644 --- a/plugins/scaffolder-backend-module-azure/package.json +++ b/plugins/scaffolder-backend-module-azure/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-scaffolder-backend-module-azure", "description": "The azure module for @backstage/plugin-scaffolder-backend", - "version": "0.1.0-next.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -28,7 +28,7 @@ "@backstage/errors": "workspace:^", "@backstage/integration": "workspace:^", "@backstage/plugin-scaffolder-node": "workspace:^", - "azure-devops-node-api": "^11.0.1", + "azure-devops-node-api": "^12.0.0", "yaml": "^2.0.0" }, "devDependencies": { diff --git a/plugins/scaffolder-backend-module-bitbucket/CHANGELOG.md b/plugins/scaffolder-backend-module-bitbucket/CHANGELOG.md index 08b34eeaef..315473d3d6 100644 --- a/plugins/scaffolder-backend-module-bitbucket/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-bitbucket/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/plugin-scaffolder-backend-module-bitbucket +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## 0.1.0 + +### Minor Changes + +- 219d7f0: Create new scaffolder module for external integrations + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.0-next.0 ### Minor Changes diff --git a/plugins/scaffolder-backend-module-bitbucket/package.json b/plugins/scaffolder-backend-module-bitbucket/package.json index d22a6caa4d..f9e7d75091 100644 --- a/plugins/scaffolder-backend-module-bitbucket/package.json +++ b/plugins/scaffolder-backend-module-bitbucket/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-scaffolder-backend-module-bitbucket", "description": "The bitbucket module for @backstage/plugin-scaffolder-backend", - "version": "0.1.0-next.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md b/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md index 9c933577b9..9a4623c804 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-scaffolder-backend-module-confluence-to-markdown +## 0.2.10-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## 0.2.9 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.2.9-next.3 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/package.json b/plugins/scaffolder-backend-module-confluence-to-markdown/package.json index 21e25729e2..cdd39adf52 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdown/package.json +++ b/plugins/scaffolder-backend-module-confluence-to-markdown/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-scaffolder-backend-module-confluence-to-markdown", "description": "The confluence-to-markdown module for @backstage/plugin-scaffolder-backend", - "version": "0.2.9-next.3", + "version": "0.2.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,7 +35,6 @@ "@backstage/errors": "workspace:^", "@backstage/integration": "workspace:^", "@backstage/plugin-scaffolder-node": "workspace:^", - "@backstage/types": "workspace:^", "fs-extra": "10.1.0", "git-url-parse": "^13.1.0", "node-fetch": "^2.6.7", diff --git a/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md b/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md index 256566fc2d..81fc4d5bce 100644 --- a/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/plugin-scaffolder-backend-module-cookiecutter +## 0.2.33-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/types@1.1.1 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## 0.2.32 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.2.32-next.3 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-cookiecutter/package.json b/plugins/scaffolder-backend-module-cookiecutter/package.json index 8ec33a4fd2..310abf087e 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.32-next.3", + "version": "0.2.33-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -44,8 +44,7 @@ "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", "@types/command-exists": "^1.2.0", - "@types/fs-extra": "^9.0.1", - "msw": "^1.0.0" + "@types/fs-extra": "^9.0.1" }, "files": [ "dist" diff --git a/plugins/scaffolder-backend-module-gerrit/CHANGELOG.md b/plugins/scaffolder-backend-module-gerrit/CHANGELOG.md index 4dd4742cd4..09c1667a7b 100644 --- a/plugins/scaffolder-backend-module-gerrit/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-gerrit/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/plugin-scaffolder-backend-module-gerrit +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## 0.1.0 + +### Minor Changes + +- 219d7f0: Create new scaffolder module for external integrations + +### Patch Changes + +- d86cd98: Add dry run support for the `publish:gerrit` action. +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.0-next.0 ### Minor Changes diff --git a/plugins/scaffolder-backend-module-gerrit/package.json b/plugins/scaffolder-backend-module-gerrit/package.json index d214551cee..a879b55df1 100644 --- a/plugins/scaffolder-backend-module-gerrit/package.json +++ b/plugins/scaffolder-backend-module-gerrit/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-scaffolder-backend-module-gerrit", "description": "The gerrit module for @backstage/plugin-scaffolder-backend", - "version": "0.1.0-next.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-backend-module-gerrit/src/actions/gerrit.test.ts b/plugins/scaffolder-backend-module-gerrit/src/actions/gerrit.test.ts index b56c27f59e..d05c8727c4 100644 --- a/plugins/scaffolder-backend-module-gerrit/src/actions/gerrit.test.ts +++ b/plugins/scaffolder-backend-module-gerrit/src/actions/gerrit.test.ts @@ -241,7 +241,22 @@ describe('publish:gerrit', () => { 'https://gerrithost.org/repo/+/refs/heads/master', ); }); + it('should not create new projects on dryRun', async () => { + await action.handler({ + ...mockContext, + isDryRun: true, + input: { + ...mockContext.input, + repoUrl: 'gerrithost.org?workspace=workspace&repo=repo', + sourcePath: 'repository/', + }, + }); + expect(mockContext.output).toHaveBeenCalledWith( + 'commitHash', + 'abcd-dry-run-1234', + ); + }); afterEach(() => { jest.resetAllMocks(); }); diff --git a/plugins/scaffolder-backend-module-gerrit/src/actions/gerrit.ts b/plugins/scaffolder-backend-module-gerrit/src/actions/gerrit.ts index b7369fd5d8..6f729227e6 100644 --- a/plugins/scaffolder-backend-module-gerrit/src/actions/gerrit.ts +++ b/plugins/scaffolder-backend-module-gerrit/src/actions/gerrit.ts @@ -100,6 +100,7 @@ export function createPublishGerritAction(options: { sourcePath?: string; }>({ id: 'publish:gerrit', + supportsDryRun: true, description: 'Initializes a git repository of the content in the workspace, and publishes it to Gerrit.', examples, @@ -190,6 +191,31 @@ export function createPublishGerritAction(options: { ); } + const repoContentsUrl = `${integrationConfig.config.gitilesBaseUrl}/${repo}/+/refs/heads/${defaultBranch}`; + const remoteUrl = `${integrationConfig.config.cloneUrl}/a/${repo}`; + const gitName = gitAuthorName + ? gitAuthorName + : config.getOptionalString('scaffolder.defaultAuthor.name'); + const gitEmail = gitAuthorEmail + ? gitAuthorEmail + : config.getOptionalString('scaffolder.defaultAuthor.email'); + const commitMessage = generateCommitMessage(config, gitCommitMessage); + + if (ctx.isDryRun) { + ctx.logger.info( + `Dry run arguments: ${{ + gitName, + gitEmail, + commitMessage, + ...ctx.input, + }}`, + ); + ctx.output('remoteUrl', remoteUrl); + ctx.output('commitHash', 'abcd-dry-run-1234'); + ctx.output('repoContentsUrl', repoContentsUrl); + return; + } + await createGerritProject(integrationConfig.config, { description, owner: owner, @@ -201,15 +227,10 @@ export function createPublishGerritAction(options: { password: integrationConfig.config.password!, }; const gitAuthorInfo = { - name: gitAuthorName - ? gitAuthorName - : config.getOptionalString('scaffolder.defaultAuthor.name'), - email: gitAuthorEmail - ? gitAuthorEmail - : config.getOptionalString('scaffolder.defaultAuthor.email'), + name: gitName, + email: gitEmail, }; - const remoteUrl = `${integrationConfig.config.cloneUrl}/a/${repo}`; const commitResult = await initRepoAndPush({ dir: getRepoSourceDirectory(ctx.workspacePath, sourcePath), remoteUrl, @@ -220,7 +241,6 @@ export function createPublishGerritAction(options: { gitAuthorInfo, }); - const repoContentsUrl = `${integrationConfig.config.gitilesBaseUrl}/${repo}/+/refs/heads/${defaultBranch}`; ctx.output('remoteUrl', remoteUrl); ctx.output('commitHash', commitResult?.commitHash); ctx.output('repoContentsUrl', repoContentsUrl); diff --git a/plugins/scaffolder-backend-module-github/CHANGELOG.md b/plugins/scaffolder-backend-module-github/CHANGELOG.md index 6baca784c7..ade20bb7bb 100644 --- a/plugins/scaffolder-backend-module-github/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-github/CHANGELOG.md @@ -1,5 +1,34 @@ # @backstage/plugin-scaffolder-backend-module-github +## 0.1.1-next.0 + +### Patch Changes + +- bf92ae3: Updated dependency `octokit` to `^3.0.0`. +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## 0.1.0 + +### Minor Changes + +- 219d7f0: Create new scaffolder module for external integrations + +### Patch Changes + +- cb6a65e: The `scaffolder.defaultCommitMessage` config value is now being used if provided and uses "initial commit" when it is not provided. +- 28949ea: Add a new action for creating github-autolink references for a repository: `github:autolinks:create` +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.0-next.0 ### Minor Changes diff --git a/plugins/scaffolder-backend-module-github/api-report.md b/plugins/scaffolder-backend-module-github/api-report.md index bb3ec4e7c4..920be79d12 100644 --- a/plugins/scaffolder-backend-module-github/api-report.md +++ b/plugins/scaffolder-backend-module-github/api-report.md @@ -31,6 +31,21 @@ export function createGithubActionsDispatchAction(options: { JsonObject >; +// @public +export function createGithubAutolinksAction(options: { + integrations: ScmIntegrations; + githubCredentialsProvider?: GithubCredentialsProvider; +}): TemplateAction< + { + repoUrl: string; + keyPrefix: string; + urlTemplate: string; + isAlphanumeric?: boolean | undefined; + token?: string | undefined; + }, + JsonObject +>; + // @public export function createGithubDeployKeyAction(options: { integrations: ScmIntegrationRegistry; diff --git a/plugins/scaffolder-backend-module-github/package.json b/plugins/scaffolder-backend-module-github/package.json index 76356d2555..4cf23c38c3 100644 --- a/plugins/scaffolder-backend-module-github/package.json +++ b/plugins/scaffolder-backend-module-github/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-scaffolder-backend-module-github", "description": "The github module for @backstage/plugin-scaffolder-backend", - "version": "0.1.0-next.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,7 +30,7 @@ "@backstage/plugin-scaffolder-node": "workspace:^", "@octokit/webhooks": "^10.0.0", "libsodium-wrappers": "^0.7.11", - "octokit": "^2.0.0", + "octokit": "^3.0.0", "octokit-plugin-create-pull-request": "^3.10.0", "winston": "^3.2.1", "yaml": "^2.0.0" diff --git a/plugins/scaffolder-backend-module-github/src/actions/gitHelpers.ts b/plugins/scaffolder-backend-module-github/src/actions/gitHelpers.ts index f94cf1e71c..84d8e507b3 100644 --- a/plugins/scaffolder-backend-module-github/src/actions/gitHelpers.ts +++ b/plugins/scaffolder-backend-module-github/src/actions/gitHelpers.ts @@ -14,7 +14,6 @@ * limitations under the License. */ -import { Config } from '@backstage/config'; import { assertError } from '@backstage/errors'; import { Octokit } from 'octokit'; import { Logger } from 'winston'; @@ -129,15 +128,6 @@ export const enableBranchProtectionOnDefaultRepoBranch = async ({ } }; -export function getGitCommitMessage( - gitCommitMessage: string | undefined, - config: Config, -): string | undefined { - return gitCommitMessage - ? gitCommitMessage - : config.getOptionalString('scaffolder.defaultCommitMessage'); -} - export function entityRefToName(name: string): string { return name.replace(/^.*[:/]/g, ''); } diff --git a/plugins/scaffolder-backend-module-github/src/actions/github.test.ts b/plugins/scaffolder-backend-module-github/src/actions/github.test.ts index c22d8ca7c3..a2a8e11e15 100644 --- a/plugins/scaffolder-backend-module-github/src/actions/github.test.ts +++ b/plugins/scaffolder-backend-module-github/src/actions/github.test.ts @@ -564,7 +564,7 @@ describe('publish:github', () => { defaultBranch: 'master', auth: { username: 'x-access-token', password: 'tokenlols' }, logger: mockContext.logger, - commitMessage: 'initial commit', + commitMessage: 'Test commit message', gitAuthorInfo: { email: undefined, name: undefined }, }); }); diff --git a/plugins/scaffolder-backend-module-github/src/actions/github.ts b/plugins/scaffolder-backend-module-github/src/actions/github.ts index 62f657b01c..91d7a34aea 100644 --- a/plugins/scaffolder-backend-module-github/src/actions/github.ts +++ b/plugins/scaffolder-backend-module-github/src/actions/github.ts @@ -187,7 +187,7 @@ export function createPublishGithubAction(options: { protectDefaultBranch = true, protectEnforceAdmins = true, deleteBranchOnMerge = false, - gitCommitMessage = 'initial commit', + gitCommitMessage, gitAuthorName, gitAuthorEmail, allowMergeCommit = true, diff --git a/plugins/scaffolder-backend-module-github/src/actions/githubAutolinks.examples.test.ts b/plugins/scaffolder-backend-module-github/src/actions/githubAutolinks.examples.test.ts new file mode 100644 index 0000000000..612f68dea2 --- /dev/null +++ b/plugins/scaffolder-backend-module-github/src/actions/githubAutolinks.examples.test.ts @@ -0,0 +1,90 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { getVoidLogger } from '@backstage/backend-common'; +import { ConfigReader } from '@backstage/config'; +import { + DefaultGithubCredentialsProvider, + GithubCredentialsProvider, + ScmIntegrations, +} from '@backstage/integration'; +import { TemplateAction } from '@backstage/plugin-scaffolder-node'; +import { PassThrough } from 'stream'; +import { createGithubAutolinksAction } from './githubAutolinks'; +import { examples } from './githubAutolinks.examples'; +import yaml from 'yaml'; + +const mockOctokit = { + rest: { + repos: { + createAutolink: jest.fn(), + }, + }, +}; +jest.mock('octokit', () => ({ + Octokit: class { + constructor() { + return mockOctokit; + } + }, +})); + +describe('github:autolinks:create', () => { + const config = new ConfigReader({ + integrations: { + github: [ + { host: 'github.com', token: 'tokenlols' }, + { host: 'ghe.github.com' }, + ], + }, + }); + + const integrations = ScmIntegrations.fromConfig(config); + let githubCredentialsProvider: GithubCredentialsProvider; + let action: TemplateAction; + + it('should call the githubApis for creating autolink reference', async () => { + const input = yaml.parse(examples[0].example).steps[0].input; + githubCredentialsProvider = + DefaultGithubCredentialsProvider.fromIntegrations(integrations); + action = createGithubAutolinksAction({ + integrations, + githubCredentialsProvider, + }); + + mockOctokit.rest.repos.createAutolink.mockResolvedValue({ + data: { + id: '1', + }, + }); + await action.handler({ + input, + workspacePath: 'lol', + logger: getVoidLogger(), + logStream: new PassThrough(), + output: jest.fn(), + createTemporaryDirectory: jest.fn(), + }); + + expect(mockOctokit.rest.repos.createAutolink).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + key_prefix: 'TICKET-', + url_template: 'https://example.com/TICKET?query=', + is_alphanumeric: false, + }); + }); +}); diff --git a/plugins/scaffolder-backend-module-github/src/actions/githubAutolinks.examples.ts b/plugins/scaffolder-backend-module-github/src/actions/githubAutolinks.examples.ts new file mode 100644 index 0000000000..5acaeeb6e2 --- /dev/null +++ b/plugins/scaffolder-backend-module-github/src/actions/githubAutolinks.examples.ts @@ -0,0 +1,38 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { TemplateExample } from '@backstage/plugin-scaffolder-node'; +import yaml from 'yaml'; + +export const examples: TemplateExample[] = [ + { + description: 'GitHub alphanumric autolink reference', + example: yaml.stringify({ + steps: [ + { + action: 'github:autolinks:create', + name: 'Create an autolink reference', + input: { + repoUrl: 'github.com?repo=repo&owner=owner', + keyPrefix: 'TICKET-', + urlTemplate: 'https://example.com/TICKET?query=', + isAlphanumeric: false, + }, + }, + ], + }), + }, +]; diff --git a/plugins/scaffolder-backend-module-github/src/actions/githubAutolinks.test.ts b/plugins/scaffolder-backend-module-github/src/actions/githubAutolinks.test.ts new file mode 100644 index 0000000000..95c0226104 --- /dev/null +++ b/plugins/scaffolder-backend-module-github/src/actions/githubAutolinks.test.ts @@ -0,0 +1,125 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { getVoidLogger } from '@backstage/backend-common'; +import { ConfigReader } from '@backstage/config'; +import { + DefaultGithubCredentialsProvider, + GithubCredentialsProvider, + ScmIntegrations, +} from '@backstage/integration'; +import { TemplateAction } from '@backstage/plugin-scaffolder-node'; +import { PassThrough } from 'stream'; +import { createGithubAutolinksAction } from './githubAutolinks'; + +const mockOctokit = { + rest: { + repos: { + createAutolink: jest.fn(), + }, + }, +}; +jest.mock('octokit', () => ({ + Octokit: class { + constructor() { + return mockOctokit; + } + }, +})); + +describe('github:autolinks:create', () => { + const config = new ConfigReader({ + integrations: { + github: [ + { host: 'github.com', token: 'tokenlols' }, + { host: 'ghe.github.com' }, + ], + }, + }); + + const integrations = ScmIntegrations.fromConfig(config); + let githubCredentialsProvider: GithubCredentialsProvider; + let action: TemplateAction; + const mockContext = { + workspacePath: 'lol', + logger: getVoidLogger(), + logStream: new PassThrough(), + output: jest.fn(), + createTemporaryDirectory: jest.fn(), + }; + + it('should call the githubApis for creating alphanumeric autolink reference', async () => { + githubCredentialsProvider = + DefaultGithubCredentialsProvider.fromIntegrations(integrations); + action = createGithubAutolinksAction({ + integrations, + githubCredentialsProvider, + }); + + mockOctokit.rest.repos.createAutolink.mockResolvedValue({ + data: { + id: '1', + }, + }); + await action.handler({ + input: { + repoUrl: 'github.com?repo=repo&owner=owner', + keyPrefix: 'TICKET-', + urlTemplate: 'https://example.com/TICKET?query=', + }, + ...mockContext, + }); + + expect(mockOctokit.rest.repos.createAutolink).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + key_prefix: 'TICKET-', + url_template: 'https://example.com/TICKET?query=', + }); + }); + + it('should call the githubApis for creating numeric autolink reference', async () => { + githubCredentialsProvider = + DefaultGithubCredentialsProvider.fromIntegrations(integrations); + action = createGithubAutolinksAction({ + integrations, + githubCredentialsProvider, + }); + + mockOctokit.rest.repos.createAutolink.mockResolvedValue({ + data: { + id: '1', + }, + }); + await action.handler({ + input: { + repoUrl: 'github.com?repo=repo&owner=owner', + keyPrefix: 'TICKET-', + urlTemplate: 'https://example.com/TICKET?query=', + isAlphanumeric: false, + }, + ...mockContext, + }); + + expect(mockOctokit.rest.repos.createAutolink).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + key_prefix: 'TICKET-', + url_template: 'https://example.com/TICKET?query=', + is_alphanumeric: false, + }); + }); +}); diff --git a/plugins/scaffolder-backend-module-github/src/actions/githubAutolinks.ts b/plugins/scaffolder-backend-module-github/src/actions/githubAutolinks.ts new file mode 100644 index 0000000000..4b0d0e1e1f --- /dev/null +++ b/plugins/scaffolder-backend-module-github/src/actions/githubAutolinks.ts @@ -0,0 +1,118 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { InputError } from '@backstage/errors'; +import { + GithubCredentialsProvider, + ScmIntegrations, +} from '@backstage/integration'; +import { + createTemplateAction, + parseRepoUrl, +} from '@backstage/plugin-scaffolder-node'; +import { Octokit } from 'octokit'; +import { examples } from './githubAutolinks.examples'; +import { getOctokitOptions } from './helpers'; + +/** + * Create an autolink reference for a repository + * @public + */ +export function createGithubAutolinksAction(options: { + integrations: ScmIntegrations; + githubCredentialsProvider?: GithubCredentialsProvider; +}) { + const { integrations, githubCredentialsProvider } = options; + + return createTemplateAction<{ + repoUrl: string; + keyPrefix: string; + urlTemplate: string; + isAlphanumeric?: boolean; + token?: string; + }>({ + id: 'github:autolinks:create', + description: 'Create an autolink reference for a repository', + examples, + schema: { + input: { + type: 'object', + required: ['repoUrl', 'keyPrefix', 'urlTemplate'], + properties: { + repoUrl: { + title: 'Repository Location', + description: `Accepts the format 'github.com?repo=reponame&owner=owner' where 'reponame' is the new repository name and 'owner' is an organization or username`, + type: 'string', + }, + keyPrefix: { + title: 'Key Prefix', + description: + 'This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit.', + type: 'string', + }, + urlTemplate: { + title: 'URL Template', + description: + 'The URL must contain for the reference number. matches different characters depending on the value of isAlphanumeric.', + type: 'string', + }, + isAlphanumeric: { + title: 'Alphanumeric', + description: + 'Whether this autolink reference matches alphanumeric characters. If true, the parameter of the url_template matches alphanumeric characters A-Z (case insensitive), 0-9, and -. If false, this autolink reference only matches numeric characters. Default: true', + type: 'boolean', + }, + token: { + title: 'Authentication Token', + type: 'string', + description: 'The token to use for authorization to GitHub', + }, + }, + }, + }, + async handler(ctx) { + const { repoUrl, keyPrefix, urlTemplate, isAlphanumeric, token } = + ctx.input; + + ctx.logger.info(`Creating autolink reference for repo ${repoUrl}`); + + const { owner, repo } = parseRepoUrl(repoUrl, integrations); + + if (!owner) { + throw new InputError('Invalid repository owner provided in repoUrl'); + } + + const client = new Octokit( + await getOctokitOptions({ + integrations, + repoUrl, + credentialsProvider: githubCredentialsProvider, + token, + }), + ); + + await client.rest.repos.createAutolink({ + owner, + repo, + key_prefix: keyPrefix, + url_template: urlTemplate, + is_alphanumeric: isAlphanumeric, + }); + + ctx.logger.info(`Autolink reference created successfully`); + }, + }); +} diff --git a/plugins/scaffolder-backend-module-github/src/actions/helper.test.ts b/plugins/scaffolder-backend-module-github/src/actions/helper.test.ts new file mode 100644 index 0000000000..3934e07db7 --- /dev/null +++ b/plugins/scaffolder-backend-module-github/src/actions/helper.test.ts @@ -0,0 +1,47 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ConfigReader } from '@backstage/config'; +import { getGitCommitMessage } from './helpers'; + +describe('getGitCommitMessage', () => { + it('should return gitCommitMessage when provided', () => { + const mockConfig = new ConfigReader({}); + const gitCommitMessage = 'Custom commit message'; + + const result = getGitCommitMessage(gitCommitMessage, mockConfig); + + expect(result).toEqual('Custom commit message'); + }); + + it('should return default commit message from config when gitCommitMessage is undefined', () => { + const mockConfig = new ConfigReader({ + scaffolder: { + defaultCommitMessage: 'Default commit message', + }, + }); + const result = getGitCommitMessage(undefined, mockConfig); + + expect(result).toEqual('Default commit message'); + }); + + it('should return undefined when both gitCommitMessage and default commit message are undefined', () => { + const mockConfig = new ConfigReader({}); + const result = getGitCommitMessage(undefined, mockConfig); + + expect(result).toBeUndefined(); + }); +}); diff --git a/plugins/scaffolder-backend-module-github/src/actions/helpers.ts b/plugins/scaffolder-backend-module-github/src/actions/helpers.ts index c6c4bd4ce5..4d95a6494f 100644 --- a/plugins/scaffolder-backend-module-github/src/actions/helpers.ts +++ b/plugins/scaffolder-backend-module-github/src/actions/helpers.ts @@ -354,9 +354,8 @@ export async function initRepoPushAndProtect( : config.getOptionalString('scaffolder.defaultAuthor.email'), }; - const commitMessage = gitCommitMessage - ? gitCommitMessage - : config.getOptionalString('scaffolder.defaultCommitMessage'); + const commitMessage = + getGitCommitMessage(gitCommitMessage, config) || 'initial commit'; const commitResult = await initRepoAndPush({ dir: getRepoSourceDirectory(workspacePath, sourcePath), diff --git a/plugins/scaffolder-backend-module-github/src/actions/index.ts b/plugins/scaffolder-backend-module-github/src/actions/index.ts index ebcda41d93..27eaca0e85 100644 --- a/plugins/scaffolder-backend-module-github/src/actions/index.ts +++ b/plugins/scaffolder-backend-module-github/src/actions/index.ts @@ -27,3 +27,4 @@ export { type CreateGithubPullRequestActionOptions, } from './githubPullRequest'; export { createPublishGithubAction } from './github'; +export { createGithubAutolinksAction } from './githubAutolinks'; diff --git a/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md b/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md index d44730ab90..807f3f9c7c 100644 --- a/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-scaffolder-backend-module-gitlab +## 0.2.12-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## 0.2.11 + +### Patch Changes + +- 219d7f0: Extract some more actions to this library +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.2.11-next.3 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-gitlab/package.json b/plugins/scaffolder-backend-module-gitlab/package.json index 045872573c..29128b401f 100644 --- a/plugins/scaffolder-backend-module-gitlab/package.json +++ b/plugins/scaffolder-backend-module-gitlab/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-gitlab", - "version": "0.2.11-next.3", + "version": "0.2.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -39,7 +39,7 @@ "@gitbeaker/core": "^35.8.0", "@gitbeaker/node": "^35.8.0", "yaml": "^2.0.0", - "zod": "^3.21.4" + "zod": "^3.22.4" }, "devDependencies": { "@backstage/backend-test-utils": "workspace:^", diff --git a/plugins/scaffolder-backend-module-rails/CHANGELOG.md b/plugins/scaffolder-backend-module-rails/CHANGELOG.md index cef3096177..cb0acd94d2 100644 --- a/plugins/scaffolder-backend-module-rails/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-rails/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-scaffolder-backend-module-rails +## 0.4.26-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/types@1.1.1 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## 0.4.25 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/integration@1.8.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.4.25-next.3 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-rails/package.json b/plugins/scaffolder-backend-module-rails/package.json index 4086a5d0d2..9e7cad4915 100644 --- a/plugins/scaffolder-backend-module-rails/package.json +++ b/plugins/scaffolder-backend-module-rails/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-scaffolder-backend-module-rails", "description": "A module for the scaffolder backend that lets you template projects using Rails", - "version": "0.4.25-next.3", + "version": "0.4.26-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-backend-module-sentry/CHANGELOG.md b/plugins/scaffolder-backend-module-sentry/CHANGELOG.md index 6ab8c63f99..0a029deefe 100644 --- a/plugins/scaffolder-backend-module-sentry/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-sentry/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-scaffolder-backend-module-sentry +## 0.1.17-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## 0.1.16 + +### Patch Changes + +- 7f8a801: Added examples for `sentry:project:create` scaffolder action and unit tests. +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.16-next.3 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-sentry/package.json b/plugins/scaffolder-backend-module-sentry/package.json index 3084fb0a44..38e6a2e1ad 100644 --- a/plugins/scaffolder-backend-module-sentry/package.json +++ b/plugins/scaffolder-backend-module-sentry/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-sentry", - "version": "0.1.16-next.3", + "version": "0.1.17-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md b/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md index 6a587c62b8..5e62520446 100644 --- a/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-scaffolder-backend-module-yeoman +## 0.2.30-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/types@1.1.1 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## 0.2.29 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + ## 0.2.29-next.3 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-yeoman/package.json b/plugins/scaffolder-backend-module-yeoman/package.json index a7ae9a3f43..c01d114234 100644 --- a/plugins/scaffolder-backend-module-yeoman/package.json +++ b/plugins/scaffolder-backend-module-yeoman/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-yeoman", - "version": "0.2.29-next.3", + "version": "0.2.30-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -28,7 +28,6 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/config": "workspace:^", "@backstage/plugin-scaffolder-node": "workspace:^", "@backstage/types": "workspace:^", "winston": "^3.2.1", diff --git a/plugins/scaffolder-backend/CHANGELOG.md b/plugins/scaffolder-backend/CHANGELOG.md index 504ceab93d..a85ac745fa 100644 --- a/plugins/scaffolder-backend/CHANGELOG.md +++ b/plugins/scaffolder-backend/CHANGELOG.md @@ -1,5 +1,65 @@ # @backstage/plugin-scaffolder-backend +## 1.19.3-next.0 + +### Patch Changes + +- e9ab1c4: Fixed an issue where not passing a `value` to any of the action's permission conditions caused an error. +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-scaffolder-backend-module-github@0.1.1-next.0 + - @backstage/plugin-scaffolder-backend-module-azure@0.1.1-next.0 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.6-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + - @backstage/plugin-scaffolder-backend-module-bitbucket@0.1.1-next.0 + - @backstage/plugin-scaffolder-backend-module-gerrit@0.1.1-next.0 + - @backstage/plugin-scaffolder-backend-module-gitlab@0.2.12-next.0 + - @backstage/plugin-scaffolder-common@1.4.4 + - @backstage/plugin-scaffolder-node@0.2.10-next.0 + +## 1.19.2 + +### Patch Changes + +- 219d7f0: Refactor some methods to `-node` instead and use the new external modules +- aff34fc: Fix issue with Circular JSON dependencies in templating +- 48667b4: Fix creating env secret in github:environment:create action +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- 28949ea: Add a new action for creating github-autolink references for a repository: `github:autolinks:create` +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-scaffolder-backend-module-github@0.1.0 + - @backstage/plugin-scaffolder-backend-module-gitlab@0.2.11 + - @backstage/plugin-scaffolder-backend-module-gerrit@0.1.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/plugin-scaffolder-node@0.2.9 + - @backstage/backend-tasks@0.5.13 + - @backstage/integration@1.8.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-scaffolder-backend-module-bitbucket@0.1.0 + - @backstage/plugin-scaffolder-backend-module-azure@0.1.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.5 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-scaffolder-common@1.4.4 + ## 1.19.2-next.3 ### Patch Changes diff --git a/plugins/scaffolder-backend/package.json b/plugins/scaffolder-backend/package.json index 6f4f889867..9f342b4390 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.19.2-next.3", + "version": "1.19.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -87,7 +87,7 @@ "winston": "^3.2.1", "yaml": "^2.0.0", "zen-observable": "^0.10.0", - "zod": "^3.21.4" + "zod": "^3.22.4" }, "devDependencies": { "@backstage/backend-test-utils": "workspace:^", diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts index 6fc50c6453..dfef2d3c92 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts @@ -42,6 +42,7 @@ import { } from './filesystem'; import { createGithubActionsDispatchAction, + createGithubAutolinksAction, createGithubDeployKeyAction, createGithubEnvironmentAction, createGithubIssuesLabelAction, @@ -218,6 +219,10 @@ export const createBuiltinActions = ( createGithubDeployKeyAction({ integrations, }), + createGithubAutolinksAction({ + integrations, + githubCredentialsProvider, + }), ]; return actions as TemplateAction[]; diff --git a/plugins/scaffolder-backend/src/service/rules.test.ts b/plugins/scaffolder-backend/src/service/rules.test.ts index e6032dde15..8e24cacb32 100644 --- a/plugins/scaffolder-backend/src/service/rules.test.ts +++ b/plugins/scaffolder-backend/src/service/rules.test.ts @@ -23,6 +23,9 @@ import { hasStringProperty, hasTag, } from './rules'; +import { createConditionAuthorizer } from '@backstage/plugin-permission-node'; +import { RESOURCE_TYPE_SCAFFOLDER_ACTION } from '@backstage/plugin-scaffolder-common/alpha'; +import { AuthorizeResult } from '@backstage/plugin-permission-common'; describe('hasTag', () => { describe('apply', () => { @@ -206,6 +209,84 @@ describe('hasProperty', () => { ).toEqual(true); }, ); + + it('should throw if params are invalid', () => { + const isActionAuthorized = createConditionAuthorizer([hasProperty]); + + expect(() => + isActionAuthorized( + { + resourceType: RESOURCE_TYPE_SCAFFOLDER_ACTION, + pluginId: 'scaffolder', + result: AuthorizeResult.CONDITIONAL, + conditions: { + resourceType: RESOURCE_TYPE_SCAFFOLDER_ACTION, + rule: 'HAS_PROPERTY', + params: { + key: 1, + }, + }, + }, + { action: 'an-action', input: {} }, + ), + ).toThrow(); + expect(() => + isActionAuthorized( + { + resourceType: RESOURCE_TYPE_SCAFFOLDER_ACTION, + pluginId: 'scaffolder', + result: AuthorizeResult.CONDITIONAL, + conditions: { + resourceType: RESOURCE_TYPE_SCAFFOLDER_ACTION, + rule: 'HAS_PROPERTY', + params: {}, + }, + }, + { action: 'an-action', input: {} }, + ), + ).toThrow(); + }); + + it('should not throw if params are valid', () => { + const isActionAuthorized = createConditionAuthorizer([hasProperty]); + + expect(() => + isActionAuthorized( + { + resourceType: RESOURCE_TYPE_SCAFFOLDER_ACTION, + pluginId: 'scaffolder', + result: AuthorizeResult.CONDITIONAL, + conditions: { + resourceType: RESOURCE_TYPE_SCAFFOLDER_ACTION, + rule: 'HAS_PROPERTY', + params: { + key: 'key', + }, + }, + }, + { action: 'an-action', input: {} }, + ), + ).not.toThrow(); + + expect(() => + isActionAuthorized( + { + resourceType: RESOURCE_TYPE_SCAFFOLDER_ACTION, + pluginId: 'scaffolder', + result: AuthorizeResult.CONDITIONAL, + conditions: { + resourceType: RESOURCE_TYPE_SCAFFOLDER_ACTION, + rule: 'HAS_PROPERTY', + params: { + key: 'key', + value: 'value', + }, + }, + }, + { action: 'an-action', input: {} }, + ), + ).not.toThrow(); + }); }); }); diff --git a/plugins/scaffolder-backend/src/service/rules.ts b/plugins/scaffolder-backend/src/service/rules.ts index 19b34b9f7c..b197810757 100644 --- a/plugins/scaffolder-backend/src/service/rules.ts +++ b/plugins/scaffolder-backend/src/service/rules.ts @@ -106,7 +106,9 @@ function buildHasProperty>({ key: z .string() .describe(`Property within the action parameters to match on`), - value: valueSchema.describe(`Value of the given property to match on`), + value: valueSchema + .optional() + .describe(`Value of the given property to match on`), }) as unknown as z.ZodType<{ key: string; value?: z.infer }>, apply: (resource, { key, value }) => { const foundValue = get(resource.input, key); diff --git a/plugins/scaffolder-common/CHANGELOG.md b/plugins/scaffolder-common/CHANGELOG.md index ed63af5d36..35d5782df7 100644 --- a/plugins/scaffolder-common/CHANGELOG.md +++ b/plugins/scaffolder-common/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-scaffolder-common +## 1.4.4 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + - @backstage/catalog-model@1.4.3 + - @backstage/types@1.1.1 + ## 1.4.3 ### Patch Changes diff --git a/plugins/scaffolder-common/package.json b/plugins/scaffolder-common/package.json index fc189b3a48..73fa8e760e 100644 --- a/plugins/scaffolder-common/package.json +++ b/plugins/scaffolder-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-scaffolder-common", "description": "Common functionalities for the scaffolder, to be shared between scaffolder and scaffolder-backend plugin", - "version": "1.4.3", + "version": "1.4.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-node/CHANGELOG.md b/plugins/scaffolder-node/CHANGELOG.md index 855dfa7320..965771637d 100644 --- a/plugins/scaffolder-node/CHANGELOG.md +++ b/plugins/scaffolder-node/CHANGELOG.md @@ -1,5 +1,33 @@ # @backstage/plugin-scaffolder-node +## 0.2.10-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/types@1.1.1 + - @backstage/plugin-scaffolder-common@1.4.4 + +## 0.2.9 + +### Patch Changes + +- 219d7f0: Refactor some methods to `-node` instead and use the new external modules +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-scaffolder-common@1.4.4 + ## 0.2.9-next.3 ### Patch Changes diff --git a/plugins/scaffolder-node/package.json b/plugins/scaffolder-node/package.json index 08ccb510b9..c8a27e6b30 100644 --- a/plugins/scaffolder-node/package.json +++ b/plugins/scaffolder-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-scaffolder-node", "description": "The plugin-scaffolder-node module for @backstage/plugin-scaffolder-backend", - "version": "0.2.9-next.3", + "version": "0.2.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -54,7 +54,7 @@ "jsonschema": "^1.2.6", "p-limit": "^3.1.0", "winston": "^3.2.1", - "zod": "^3.21.4", + "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" }, "devDependencies": { diff --git a/plugins/scaffolder-react/CHANGELOG.md b/plugins/scaffolder-react/CHANGELOG.md index 5b2b14f967..b0e7adeb92 100644 --- a/plugins/scaffolder-react/CHANGELOG.md +++ b/plugins/scaffolder-react/CHANGELOG.md @@ -1,5 +1,67 @@ # @backstage/plugin-scaffolder-react +## 1.7.1-next.0 + +### Patch Changes + +- c28f281: Scaffolder form now shows a list of errors at the top of the form. +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-scaffolder-common@1.4.4 + +## 1.7.0 + +### Minor Changes + +- 33edf50: Added support for dealing with user provided secrets using a new field extension `ui:field: Secret` + +### Patch Changes + +- 670c7cc: Fix bug where `properties` is set to empty object when it should be empty for schema dependencies +- fa66d1b: Fixed bug in `ReviewState` where `enum` value was displayed in step review instead of the corresponding label when using `enumNames` +- e516bf4: Step titles in the Stepper are now clickable and redirect the user to the corresponding step, as an alternative to using the back buttons. +- aaa6fb3: Minor updates for TypeScript 5.2.2+ compatibility +- 2aee53b: Add horizontal slider if stepper overflows +- 2b72591: Updated dependency `@rjsf/utils` to `5.14.3`. + Updated dependency `@rjsf/core` to `5.14.3`. + Updated dependency `@rjsf/material-ui` to `5.14.3`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.3`. +- 6cd12f2: Updated dependency `@rjsf/utils` to `5.14.1`. + Updated dependency `@rjsf/core` to `5.14.1`. + Updated dependency `@rjsf/material-ui` to `5.14.1`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.1`. +- a518c5a: Updated dependency `@react-hookz/web` to `^23.0.0`. +- 64301d3: Updated dependency `@rjsf/utils` to `5.15.0`. + Updated dependency `@rjsf/core` to `5.15.0`. + Updated dependency `@rjsf/material-ui` to `5.15.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.15.0`. +- 63c494e: Updated dependency `@rjsf/utils` to `5.14.2`. + Updated dependency `@rjsf/core` to `5.14.2`. + Updated dependency `@rjsf/material-ui` to `5.14.2`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.2`. +- c8908d4: Use new option from RJSF 5.15 +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- 5bb5240: Fixed issue for showing undefined for hidden form items +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-client@1.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-scaffolder-common@1.4.4 + ## 1.6.2-next.3 ### Patch Changes diff --git a/plugins/scaffolder-react/package.json b/plugins/scaffolder-react/package.json index 585a741fdb..528f529b85 100644 --- a/plugins/scaffolder-react/package.json +++ b/plugins/scaffolder-react/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-scaffolder-react", "description": "A frontend library that helps other Backstage plugins interact with the Scaffolder", - "version": "1.6.2-next.3", + "version": "1.7.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -50,7 +50,6 @@ "@backstage/catalog-model": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", - "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-scaffolder-common": "workspace:^", "@backstage/theme": "workspace:^", @@ -77,7 +76,7 @@ "react-use": "^17.2.4", "use-immer": "^0.9.0", "zen-observable": "^0.10.0", - "zod": "^3.21.4", + "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" }, "peerDependencies": { diff --git a/plugins/scaffolder-react/src/next/components/Stepper/ErrorListTemplate/errorListTemplate.test.tsx b/plugins/scaffolder-react/src/next/components/Stepper/ErrorListTemplate/errorListTemplate.test.tsx new file mode 100644 index 0000000000..c5ddf6854f --- /dev/null +++ b/plugins/scaffolder-react/src/next/components/Stepper/ErrorListTemplate/errorListTemplate.test.tsx @@ -0,0 +1,43 @@ +/* + * Copyright 2022 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import React from 'react'; +import { ErrorListTemplate } from './errorListTemplate'; +import { renderInTestApp } from '@backstage/test-utils'; +import { ErrorListProps } from '@rjsf/utils'; + +describe('Error List Template', () => { + const errorList = { + errors: [ + { + stack: 'Test error 1', + }, + { + stack: 'Test error 2', + }, + ], + errorSchema: {}, + } as Partial as ErrorListProps; + + it('should render the error messages', async () => { + const { getByText } = await renderInTestApp( + , + ); + + for (const error of errorList.errors) { + expect(getByText(error.stack)).toBeInTheDocument(); + } + }); +}); diff --git a/plugins/scaffolder-react/src/next/components/Stepper/ErrorListTemplate/errorListTemplate.tsx b/plugins/scaffolder-react/src/next/components/Stepper/ErrorListTemplate/errorListTemplate.tsx new file mode 100644 index 0000000000..9b6920108b --- /dev/null +++ b/plugins/scaffolder-react/src/next/components/Stepper/ErrorListTemplate/errorListTemplate.tsx @@ -0,0 +1,66 @@ +/* + * Copyright 2022 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import React from 'react'; +import { ErrorListProps } from '@rjsf/utils'; +import { + List, + ListItem, + ListItemIcon, + ListItemText, + Paper, + Theme, + createStyles, + makeStyles, +} from '@material-ui/core'; +import ErrorIcon from '@material-ui/icons/Error'; + +const useStyles = makeStyles((_theme: Theme) => + createStyles({ + list: { + width: '100%', + }, + text: { + textWrap: 'wrap', + }, + }), +); + +/** + * Shows a list of errors found in the form + * + * @public + */ +export const ErrorListTemplate = ({ errors }: ErrorListProps) => { + const classes = useStyles(); + + return ( + + + {errors.map((error, index) => ( + + + + + + + ))} + + + ); +}; diff --git a/plugins/scaffolder-react/src/next/components/Stepper/ErrorListTemplate/index.ts b/plugins/scaffolder-react/src/next/components/Stepper/ErrorListTemplate/index.ts new file mode 100644 index 0000000000..8a982bc68b --- /dev/null +++ b/plugins/scaffolder-react/src/next/components/Stepper/ErrorListTemplate/index.ts @@ -0,0 +1,16 @@ +/* + * Copyright 2022 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export { ErrorListTemplate } from './errorListTemplate'; diff --git a/plugins/scaffolder-react/src/next/components/Stepper/Stepper.test.tsx b/plugins/scaffolder-react/src/next/components/Stepper/Stepper.test.tsx index 2bb66fd782..d7e271f8b3 100644 --- a/plugins/scaffolder-react/src/next/components/Stepper/Stepper.test.tsx +++ b/plugins/scaffolder-react/src/next/components/Stepper/Stepper.test.tsx @@ -21,6 +21,7 @@ import { act, fireEvent } from '@testing-library/react'; import type { RJSFValidationError } from '@rjsf/utils'; import { JsonValue } from '@backstage/types'; import { FieldExtensionComponentProps } from '../../../extensions'; +import { SecretsContextProvider } from '../../../secrets'; import { LayoutTemplate } from '../../../layouts'; describe('Stepper', () => { @@ -34,7 +35,9 @@ describe('Stepper', () => { }; const { getByText } = await renderInTestApp( - , + + + , ); for (const step of manifest.steps) { @@ -52,7 +55,9 @@ describe('Stepper', () => { }; const { getByRole } = await renderInTestApp( - , + + + , ); expect(getByRole('button', { name: 'Next' })).toBeInTheDocument(); @@ -92,7 +97,9 @@ describe('Stepper', () => { }; const { getByRole } = await renderInTestApp( - , + + + , ); await fireEvent.change(getByRole('textbox', { name: 'name' }), { @@ -140,7 +147,9 @@ describe('Stepper', () => { }; const { getByRole, getByLabelText } = await renderInTestApp( - , + + + , ); await fireEvent.change(getByRole('textbox', { name: 'name' }), { @@ -219,14 +228,16 @@ describe('Stepper', () => { }); const { getByRole } = await renderInTestApp( - , + + + , ); await fireEvent.change(getByRole('textbox', { name: 'repo' }), { @@ -275,11 +286,13 @@ describe('Stepper', () => { }; const { getByText } = await renderInTestApp( - , + + + , ); expect(getByText('im a custom field extension')).toBeInTheDocument(); @@ -308,17 +321,19 @@ describe('Stepper', () => { }; const { getByRole } = await renderInTestApp( - new Promise(r => setTimeout(r, 1000)), - }, - ]} - onCreate={jest.fn()} - />, + + new Promise(r => setTimeout(r, 1000)), + }, + ]} + onCreate={jest.fn()} + /> + , ); act(() => { @@ -356,12 +371,14 @@ describe('Stepper', () => { }; const { getByText, getByRole } = await renderInTestApp( - , + + + , ); await fireEvent.change(getByRole('textbox', { name: 'postcode' }), { @@ -401,7 +418,9 @@ describe('Stepper', () => { }); const { getByRole } = await renderInTestApp( - , + + + , ); expect(getByRole('textbox', { name: 'firstName' })).toHaveValue('John'); @@ -429,7 +448,9 @@ describe('Stepper', () => { }); const { getByRole } = await renderInTestApp( - , + + + , ); await act(async () => { @@ -464,15 +485,17 @@ describe('Stepper', () => { }; const { getByRole } = await renderInTestApp( - Make, - reviewButtonText: Inspect, - }} - />, + + Make, + reviewButtonText: Inspect, + }} + /> + , ); await act(async () => { @@ -516,12 +539,14 @@ describe('Stepper', () => { }; const { getByText, getByRole } = await renderInTestApp( - , + + + , ); expect(getByText('A Scaffolder Layout')).toBeInTheDocument(); diff --git a/plugins/scaffolder-react/src/next/components/Stepper/Stepper.tsx b/plugins/scaffolder-react/src/next/components/Stepper/Stepper.tsx index 5b41163ae4..9b475870d2 100644 --- a/plugins/scaffolder-react/src/next/components/Stepper/Stepper.tsx +++ b/plugins/scaffolder-react/src/next/components/Stepper/Stepper.tsx @@ -51,6 +51,7 @@ import { FormProps, } from '@backstage/plugin-scaffolder-react'; import { ReviewStepProps } from '@backstage/plugin-scaffolder-react'; +import { ErrorListTemplate } from './ErrorListTemplate'; const useStyles = makeStyles(theme => ({ backButton: { @@ -228,7 +229,8 @@ export const Stepper = (stepperProps: StepperProps) => { uiSchema={currentStep.uiSchema} onSubmit={handleNext} fields={fields} - showErrorList={false} + showErrorList="top" + templates={{ ErrorListTemplate }} onChange={handleChange} experimental_defaultFormStateBehavior={{ allOf: 'populateDefaults', diff --git a/plugins/scaffolder/CHANGELOG.md b/plugins/scaffolder/CHANGELOG.md index add726aa54..2904886d29 100644 --- a/plugins/scaffolder/CHANGELOG.md +++ b/plugins/scaffolder/CHANGELOG.md @@ -1,5 +1,74 @@ # @backstage/plugin-scaffolder +## 1.17.1-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/plugin-scaffolder-react@1.7.1-next.0 + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-permission-react@0.4.19-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-scaffolder-common@1.4.4 + +## 1.17.0 + +### Minor Changes + +- df88d09: Add a new git repository url picker for `gitea`. This `GiteaRepoPicker` can be used in a template to scaffold a project to be cloned using gitea. +- 33edf50: Added support for dealing with user provided secrets using a new field extension `ui:field: Secret` + +### Patch Changes + +- 6806d10: Added `headerOptions` to `TemplateListPage` to optionally override default values. + Changed `themeId` of TemplateListPage from `website` to `home`. +- aaa6fb3: Minor updates for TypeScript 5.2.2+ compatibility +- 2b72591: Updated dependency `@rjsf/utils` to `5.14.3`. + Updated dependency `@rjsf/core` to `5.14.3`. + Updated dependency `@rjsf/material-ui` to `5.14.3`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.3`. +- 6cd12f2: Updated dependency `@rjsf/utils` to `5.14.1`. + Updated dependency `@rjsf/core` to `5.14.1`. + Updated dependency `@rjsf/material-ui` to `5.14.1`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.1`. +- a518c5a: Updated dependency `@react-hookz/web` to `^23.0.0`. +- 64301d3: Updated dependency `@rjsf/utils` to `5.15.0`. + Updated dependency `@rjsf/core` to `5.15.0`. + Updated dependency `@rjsf/material-ui` to `5.15.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.15.0`. +- 63c494e: Updated dependency `@rjsf/utils` to `5.14.2`. + Updated dependency `@rjsf/core` to `5.14.2`. + Updated dependency `@rjsf/material-ui` to `5.14.2`. + Updated dependency `@rjsf/validator-ajv8` to `5.14.2`. +- b5fa691: Fixing `headerOptions` not being passed through the `TemplatePage` component +- c8908d4: Use new option from RJSF 5.15 +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-scaffolder-react@1.7.0 + - @backstage/catalog-client@1.5.0 + - @backstage/integration@1.8.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-permission-react@0.4.18 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-scaffolder-common@1.4.4 + ## 1.16.2-next.3 ### Patch Changes diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json index 697bce4668..45df069ae0 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.16.2-next.3", + "version": "1.17.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -48,7 +48,6 @@ "dependencies": { "@backstage/catalog-client": "workspace:^", "@backstage/catalog-model": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", @@ -59,7 +58,6 @@ "@backstage/plugin-permission-react": "workspace:^", "@backstage/plugin-scaffolder-common": "workspace:^", "@backstage/plugin-scaffolder-react": "workspace:^", - "@backstage/theme": "workspace:^", "@backstage/types": "workspace:^", "@codemirror/language": "^6.0.0", "@codemirror/legacy-modes": "^6.1.0", @@ -88,7 +86,7 @@ "react-use": "^17.2.4", "yaml": "^2.0.0", "zen-observable": "^0.10.0", - "zod": "^3.21.4", + "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" }, "peerDependencies": { diff --git a/plugins/scaffolder/src/components/fields/SecretInput/SecretInput.test.tsx b/plugins/scaffolder/src/components/fields/SecretInput/SecretInput.test.tsx new file mode 100644 index 0000000000..fa810b9d17 --- /dev/null +++ b/plugins/scaffolder/src/components/fields/SecretInput/SecretInput.test.tsx @@ -0,0 +1,70 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import React from 'react'; +import { + SecretsContextProvider, + useTemplateSecrets, +} from '@backstage/plugin-scaffolder-react'; +import { SecretInput } from './SecretInput'; +import { renderInTestApp } from '@backstage/test-utils'; +import { Form } from '@backstage/plugin-scaffolder-react/alpha'; +import validator from '@rjsf/validator-ajv8'; +import { fireEvent, act } from '@testing-library/react'; + +describe('', () => { + const SecretsComponent = () => { + const { secrets } = useTemplateSecrets(); + return ( +
    {JSON.stringify({ secrets })}
    + ); + }; + + it('should set the secret value to the unmasked value', async () => { + const mockSecret = 'backstage'; + const onSubmit = jest.fn(); + + const { getByLabelText, getByTestId } = await renderInTestApp( + +
    + + , + ); + + const secretInput = getByLabelText('secret'); + + await act(async () => { + fireEvent.change(secretInput, { target: { value: mockSecret } }); + }); + + const { secrets } = JSON.parse(getByTestId('current-secrets').textContent!); + + expect(secrets.myKey).toBe(mockSecret); + }); +}); diff --git a/plugins/scaffolder/src/components/fields/SecretInput/SecretInput.tsx b/plugins/scaffolder/src/components/fields/SecretInput/SecretInput.tsx new file mode 100644 index 0000000000..e6eea9fc72 --- /dev/null +++ b/plugins/scaffolder/src/components/fields/SecretInput/SecretInput.tsx @@ -0,0 +1,56 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import React from 'react'; +import { useTemplateSecrets } from '@backstage/plugin-scaffolder-react'; +import { ScaffolderRJSFFieldProps } from '@backstage/plugin-scaffolder-react'; +import { ScaffolderField } from '@backstage/plugin-scaffolder-react/alpha'; +import { Input, InputLabel } from '@material-ui/core'; + +export const SecretInput = (props: ScaffolderRJSFFieldProps) => { + const { setSecrets, secrets } = useTemplateSecrets(); + const { + name, + onChange, + schema: { title, description }, + rawErrors, + disabled, + errors, + required, + } = props; + + return ( + + {title} + { + onChange(Array(e.target?.value.length).fill('*').join('')); + setSecrets({ [name]: e.target?.value }); + }} + value={secrets[name] ?? ''} + type="password" + autoComplete="off" + /> + + ); +}; diff --git a/plugins/scaffolder/src/components/fields/SecretInput/index.tsx b/plugins/scaffolder/src/components/fields/SecretInput/index.tsx new file mode 100644 index 0000000000..859a04a4d3 --- /dev/null +++ b/plugins/scaffolder/src/components/fields/SecretInput/index.tsx @@ -0,0 +1,16 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export * from './SecretInput'; diff --git a/plugins/scaffolder/src/components/fields/index.ts b/plugins/scaffolder/src/components/fields/index.ts index 7ee4448f6b..7f119f27be 100644 --- a/plugins/scaffolder/src/components/fields/index.ts +++ b/plugins/scaffolder/src/components/fields/index.ts @@ -19,4 +19,5 @@ export * from './RepoUrlPicker'; export * from './OwnedEntityPicker'; export * from './EntityTagsPicker'; export * from './MyGroupsPicker'; + export { type FieldSchema, makeFieldSchemaFromZod } from './utils'; diff --git a/plugins/scaffolder/src/extensions/default.ts b/plugins/scaffolder/src/extensions/default.ts index 013f242a12..2e4b7032de 100644 --- a/plugins/scaffolder/src/extensions/default.ts +++ b/plugins/scaffolder/src/extensions/default.ts @@ -44,6 +44,8 @@ import { MyGroupsPickerSchema, } from '../components/fields/MyGroupsPicker/MyGroupsPicker'; +import { SecretInput } from '../components/fields/SecretInput'; + export const DEFAULT_SCAFFOLDER_FIELD_EXTENSIONS = [ { component: EntityPicker, @@ -82,4 +84,8 @@ export const DEFAULT_SCAFFOLDER_FIELD_EXTENSIONS = [ name: 'MyGroupsPicker', schema: MyGroupsPickerSchema, }, + { + component: SecretInput, + name: 'Secret', + }, ]; diff --git a/plugins/search-backend-module-catalog/CHANGELOG.md b/plugins/search-backend-module-catalog/CHANGELOG.md index 143a4e2772..838fe9806e 100644 --- a/plugins/search-backend-module-catalog/CHANGELOG.md +++ b/plugins/search-backend-module-catalog/CHANGELOG.md @@ -1,5 +1,43 @@ # @backstage/plugin-search-backend-module-catalog +## 0.1.13-next.0 + +### Patch Changes + +- 2e6c56b: Update wording to show that the backend system no longer is in alpha +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + +## 0.1.12 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-search-common@1.2.9 + ## 0.1.12-next.3 ### Patch Changes diff --git a/plugins/search-backend-module-catalog/README.md b/plugins/search-backend-module-catalog/README.md index 4f37234a7e..a2825c17cd 100644 --- a/plugins/search-backend-module-catalog/README.md +++ b/plugins/search-backend-module-catalog/README.md @@ -1,7 +1,5 @@ # search-backend-module-catalog -> DISCLAIMER: The new backend system is in alpha, and so are the search backend module support for the new backend system. We don't recommend you to migrate your backend installations to the new system yet. But if you want to experiment, you can find getting started guides below. - This package exports a module that extends the search backend to also indexing the entities of your catalog. ## Installation diff --git a/plugins/search-backend-module-catalog/package.json b/plugins/search-backend-module-catalog/package.json index aa826645da..df0d8613c1 100644 --- a/plugins/search-backend-module-catalog/package.json +++ b/plugins/search-backend-module-catalog/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend-module-catalog", "description": "A module for the search backend that exports catalog modules", - "version": "0.1.12-next.3", + "version": "0.1.13-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-backend-module-elasticsearch/CHANGELOG.md b/plugins/search-backend-module-elasticsearch/CHANGELOG.md index 8e168f4b0b..1ed8c68c17 100644 --- a/plugins/search-backend-module-elasticsearch/CHANGELOG.md +++ b/plugins/search-backend-module-elasticsearch/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/plugin-search-backend-module-elasticsearch +## 1.3.12-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/integration-aws-node@0.1.8 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + +## 1.3.11 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/integration-aws-node@0.1.8 + - @backstage/plugin-search-common@1.2.9 + ## 1.3.11-next.3 ### Patch Changes diff --git a/plugins/search-backend-module-elasticsearch/package.json b/plugins/search-backend-module-elasticsearch/package.json index 27493f9594..90a8c2ed03 100644 --- a/plugins/search-backend-module-elasticsearch/package.json +++ b/plugins/search-backend-module-elasticsearch/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend-module-elasticsearch", "description": "A module for the search backend that implements search using ElasticSearch", - "version": "1.3.11-next.3", + "version": "1.3.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-backend-module-explore/CHANGELOG.md b/plugins/search-backend-module-explore/CHANGELOG.md index 12828c6274..eba2ae21b4 100644 --- a/plugins/search-backend-module-explore/CHANGELOG.md +++ b/plugins/search-backend-module-explore/CHANGELOG.md @@ -1,5 +1,33 @@ # @backstage/plugin-search-backend-module-explore +## 0.1.13-next.0 + +### Patch Changes + +- 2e6c56b: Update wording to show that the backend system no longer is in alpha +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + +## 0.1.12 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.9 + ## 0.1.12-next.3 ### Patch Changes diff --git a/plugins/search-backend-module-explore/README.md b/plugins/search-backend-module-explore/README.md index cf2a01b9f0..9ba33ae326 100644 --- a/plugins/search-backend-module-explore/README.md +++ b/plugins/search-backend-module-explore/README.md @@ -1,7 +1,5 @@ # search-backend-module-explore -> DISCLAIMER: The new backend system is in alpha, and so are the search backend module support for the new backend system. We don't recommend you to migrate your backend installations to the new system yet. But if you want to experiment, you can find getting started guides below. - This package exports a module that extends the search backend to also indexing the tools exposed by the [`explore` service](https://github.com/backstage/backstage/tree/master/plugins/explore-backend). ## Installation diff --git a/plugins/search-backend-module-explore/package.json b/plugins/search-backend-module-explore/package.json index c718371d88..7f4cad4379 100644 --- a/plugins/search-backend-module-explore/package.json +++ b/plugins/search-backend-module-explore/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend-module-explore", "description": "A module for the search backend that exports explore modules", - "version": "0.1.12-next.3", + "version": "0.1.13-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-backend-module-pg/CHANGELOG.md b/plugins/search-backend-module-pg/CHANGELOG.md index 0357bf9ead..c88813c084 100644 --- a/plugins/search-backend-module-pg/CHANGELOG.md +++ b/plugins/search-backend-module-pg/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/plugin-search-backend-module-pg +## 0.5.18-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + +## 0.5.17 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.9 + ## 0.5.17-next.3 ### Patch Changes diff --git a/plugins/search-backend-module-pg/package.json b/plugins/search-backend-module-pg/package.json index 80d8c0c14f..cf98a9453b 100644 --- a/plugins/search-backend-module-pg/package.json +++ b/plugins/search-backend-module-pg/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend-module-pg", "description": "A module for the search backend that implements search using PostgreSQL", - "version": "0.5.17-next.3", + "version": "0.5.18-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-backend-module-pg/src/database/util.test.ts b/plugins/search-backend-module-pg/src/database/util.test.ts index 781805b3a3..38d997c836 100644 --- a/plugins/search-backend-module-pg/src/database/util.test.ts +++ b/plugins/search-backend-module-pg/src/database/util.test.ts @@ -38,7 +38,7 @@ describe('util', () => { describe('supported', () => { const databases = TestDatabases.create({ - ids: ['POSTGRES_13', 'POSTGRES_9'], + ids: ['POSTGRES_16', 'POSTGRES_12'], }); if (databases.eachSupportedId().length < 1) { diff --git a/plugins/search-backend-module-stack-overflow-collator/CHANGELOG.md b/plugins/search-backend-module-stack-overflow-collator/CHANGELOG.md index 1614e469eb..341bddebea 100644 --- a/plugins/search-backend-module-stack-overflow-collator/CHANGELOG.md +++ b/plugins/search-backend-module-stack-overflow-collator/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/plugin-search-backend-module-stack-overflow-collator +## 0.1.2-next.0 + +### Patch Changes + +- 2e6c56b: Update wording to show that the backend system no longer is in alpha +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + +## 0.1.1 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.9 + ## 0.1.1-next.3 ### Patch Changes diff --git a/plugins/search-backend-module-stack-overflow-collator/README.md b/plugins/search-backend-module-stack-overflow-collator/README.md index 7df3229eeb..4790917375 100644 --- a/plugins/search-backend-module-stack-overflow-collator/README.md +++ b/plugins/search-backend-module-stack-overflow-collator/README.md @@ -65,8 +65,6 @@ indexBuilder.addCollator({ ## New Backend System -> DISCLAIMER: The new backend system is in alpha, and so are the search backend module support for the new backend system. We don't recommend you to migrate your backend installations to the new system yet. But if you want to experiment, you can find getting started guides below. - This package exports a module that extends the search backend to also indexing the questions exposed by the [`Stack Overflow` API](https://api.stackexchange.com/docs/questions). ### Installation diff --git a/plugins/search-backend-module-stack-overflow-collator/package.json b/plugins/search-backend-module-stack-overflow-collator/package.json index 6be8a845e4..4a77f49622 100644 --- a/plugins/search-backend-module-stack-overflow-collator/package.json +++ b/plugins/search-backend-module-stack-overflow-collator/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend-module-stack-overflow-collator", "description": "A module for the search backend that exports stack overflow modules", - "version": "0.1.1-next.3", + "version": "0.1.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-backend-module-techdocs/CHANGELOG.md b/plugins/search-backend-module-techdocs/CHANGELOG.md index 9e05f58a30..b638dec0cc 100644 --- a/plugins/search-backend-module-techdocs/CHANGELOG.md +++ b/plugins/search-backend-module-techdocs/CHANGELOG.md @@ -1,5 +1,43 @@ # @backstage/plugin-search-backend-module-techdocs +## 0.1.13-next.0 + +### Patch Changes + +- 2e6c56b: Update wording to show that the backend system no longer is in alpha +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + - @backstage/plugin-techdocs-node@1.11.1-next.0 + +## 0.1.12 + +### Patch Changes + +- cc4228e: Switched module ID to use kebab-case. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-techdocs-node@1.11.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-search-common@1.2.9 + ## 0.1.12-next.3 ### Patch Changes diff --git a/plugins/search-backend-module-techdocs/README.md b/plugins/search-backend-module-techdocs/README.md index 9ffdcb7f55..04c884efb0 100644 --- a/plugins/search-backend-module-techdocs/README.md +++ b/plugins/search-backend-module-techdocs/README.md @@ -1,7 +1,5 @@ # search-backend-module-techdocs -> DISCLAIMER: The new backend system is in alpha, and so are the search backend module support for the new backend system. We don't recommend you to migrate your backend installations to the new system yet. But if you want to experiment, you can find getting started guides below. - This package exports a module that extends the search backend to also index techdocs. ## Installation diff --git a/plugins/search-backend-module-techdocs/package.json b/plugins/search-backend-module-techdocs/package.json index 568f4c0664..c28f0d10ef 100644 --- a/plugins/search-backend-module-techdocs/package.json +++ b/plugins/search-backend-module-techdocs/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend-module-techdocs", "description": "A module for the search backend that exports techdocs modules", - "version": "0.1.12-next.3", + "version": "0.1.13-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-backend-node/CHANGELOG.md b/plugins/search-backend-node/CHANGELOG.md index 7e249d033d..aa90fd5ae0 100644 --- a/plugins/search-backend-node/CHANGELOG.md +++ b/plugins/search-backend-node/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/plugin-search-backend-node +## 1.2.13-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-search-common@1.2.9 + +## 1.2.12 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-search-common@1.2.9 + ## 1.2.12-next.3 ### Patch Changes diff --git a/plugins/search-backend-node/package.json b/plugins/search-backend-node/package.json index 9ee49b7bdb..227f6e1b99 100644 --- a/plugins/search-backend-node/package.json +++ b/plugins/search-backend-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend-node", "description": "A library for Backstage backend plugins that want to interact with the search backend plugin", - "version": "1.2.12-next.3", + "version": "1.2.13-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-backend/CHANGELOG.md b/plugins/search-backend/CHANGELOG.md index c7fa61cfbd..b4c74d5d2f 100644 --- a/plugins/search-backend/CHANGELOG.md +++ b/plugins/search-backend/CHANGELOG.md @@ -1,5 +1,41 @@ # @backstage/plugin-search-backend +## 1.4.9-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-openapi-utils@0.1.2-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.20-next.0 + - @backstage/plugin-search-backend-node@1.2.13-next.0 + - @backstage/plugin-search-common@1.2.9 + +## 1.4.8 + +### Patch Changes + +- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617 +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-openapi-utils@0.1.1 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-permission-node@0.7.19 + - @backstage/plugin-search-backend-node@1.2.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-search-common@1.2.9 + ## 1.4.8-next.3 ### Patch Changes diff --git a/plugins/search-backend/package.json b/plugins/search-backend/package.json index 2891897a00..12e1afb8c2 100644 --- a/plugins/search-backend/package.json +++ b/plugins/search-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend", "description": "The Backstage backend plugin that provides your backstage app with search", - "version": "1.4.8-next.3", + "version": "1.4.9-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -56,12 +56,11 @@ "@types/express": "^4.17.6", "dataloader": "^2.0.0", "express": "^4.17.1", - "express-promise-router": "^4.1.0", "lodash": "^4.17.21", "qs": "^6.10.1", "winston": "^3.2.1", "yn": "^4.0.0", - "zod": "^3.21.4" + "zod": "^3.22.4" }, "devDependencies": { "@backstage/backend-test-utils": "workspace:^", diff --git a/plugins/search-common/CHANGELOG.md b/plugins/search-common/CHANGELOG.md index a4cfc99d96..3263e8305c 100644 --- a/plugins/search-common/CHANGELOG.md +++ b/plugins/search-common/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-search-common +## 1.2.9 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.11 + - @backstage/types@1.1.1 + ## 1.2.8 ### Patch Changes diff --git a/plugins/search-common/package.json b/plugins/search-common/package.json index 23f5d2b545..7f02f8a359 100644 --- a/plugins/search-common/package.json +++ b/plugins/search-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-common", "description": "Common functionalities for Search, to be shared between various search-enabled plugins", - "version": "1.2.8", + "version": "1.2.9", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/plugins/search-react/CHANGELOG.md b/plugins/search-react/CHANGELOG.md index 67f4129eca..7f5bea475b 100644 --- a/plugins/search-react/CHANGELOG.md +++ b/plugins/search-react/CHANGELOG.md @@ -1,5 +1,36 @@ # @backstage/plugin-search-react +## 1.7.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-common@1.2.9 + +## 1.7.4 + +### Patch Changes + +- a5a0473: Internal refactor of alpha exports due to a change in how extension factories are defined. +- 84dabc5: Removed `@backstage/frontend-app-api` dependency. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 6f280fa: Capture analytics even when number of results is not available, since the total result count is not something that is always available for all search engines and configurations. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-common@1.2.9 + ## 1.7.4-next.3 ### Patch Changes diff --git a/plugins/search-react/package.json b/plugins/search-react/package.json index ea4be57cfa..090d23b235 100644 --- a/plugins/search-react/package.json +++ b/plugins/search-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search-react", - "version": "1.7.4-next.3", + "version": "1.7.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-react/src/context/SearchContext.test.tsx b/plugins/search-react/src/context/SearchContext.test.tsx index 39a9f09ef4..58fde35667 100644 --- a/plugins/search-react/src/context/SearchContext.test.tsx +++ b/plugins/search-react/src/context/SearchContext.test.tsx @@ -479,4 +479,61 @@ describe('SearchContext', () => { }); }); }); + + it('captures analytics events even if number of results does not exist', async () => { + const analyticsApiMock = { + captureEvent: jest.fn(), + } satisfies typeof analyticsApiRef.T; + + searchApiMock.query.mockResolvedValue({ + results: [], + }); + + const { result } = renderHook(() => useSearch(), { + wrapper: ({ children }) => { + const configApiMock = new MockConfigApi({}); + return ( + + + {children} + + + ); + }, + }); + + await waitFor(() => { + expect(result.current).toEqual(expect.objectContaining(initialState)); + }); + + const term = 'term'; + + await act(async () => { + result.current.setTerm(term); + }); + + await waitFor(() => { + expect(searchApiMock.query).toHaveBeenLastCalledWith({ + term: 'term', + types: ['*'], + filters: {}, + }); + expect(analyticsApiMock.captureEvent).toHaveBeenCalledWith({ + action: 'search', + subject: 'term', + value: undefined, + context: { + extension: 'App', + pluginId: 'root', + routeRef: 'unknown', + }, + }); + }); + }); }); diff --git a/plugins/search-react/src/context/SearchContext.tsx b/plugins/search-react/src/context/SearchContext.tsx index 6ce18501d9..f8140e2f19 100644 --- a/plugins/search-react/src/context/SearchContext.tsx +++ b/plugins/search-react/src/context/SearchContext.tsx @@ -138,9 +138,9 @@ const useSearchContextValue = ( pageLimit, pageCursor, }); - if (term && resultSet.numberOfResults !== undefined) { + if (term) { analytics.captureEvent('search', term, { - value: resultSet.numberOfResults, + value: result.value?.numberOfResults ?? undefined, }); } return resultSet; diff --git a/plugins/search/CHANGELOG.md b/plugins/search/CHANGELOG.md index 3ac05d8f29..f916e71cbc 100644 --- a/plugins/search/CHANGELOG.md +++ b/plugins/search/CHANGELOG.md @@ -1,5 +1,46 @@ # @backstage/plugin-search +## 1.4.5-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-common@1.2.9 + +## 1.4.4 + +### Patch Changes + +- 03d0b6d: The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 8f5d6c1: Updates to the `/alpha` exports to match the extension input wrapping change. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-search-react@1.7.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-common@1.2.9 + ## 1.4.4-next.4 ### Patch Changes diff --git a/plugins/search/package.json b/plugins/search/package.json index 892ff04364..1f51a02fb0 100644 --- a/plugins/search/package.json +++ b/plugins/search/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search", "description": "The Backstage plugin that provides your backstage app with search", - "version": "1.4.4-next.4", + "version": "1.4.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -46,8 +46,6 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/catalog-model": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/core-compat-api": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", @@ -56,12 +54,10 @@ "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-search-common": "workspace:^", "@backstage/plugin-search-react": "workspace:^", - "@backstage/theme": "workspace:^", "@backstage/types": "workspace:^", "@backstage/version-bridge": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "qs": "^6.9.4", "react-use": "^17.2.4" @@ -80,8 +76,7 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "history": "^5.0.0", - "msw": "^1.0.0" + "history": "^5.0.0" }, "files": [ "dist", diff --git a/plugins/sentry/CHANGELOG.md b/plugins/sentry/CHANGELOG.md index 20bcd1afef..ec87490ff7 100644 --- a/plugins/sentry/CHANGELOG.md +++ b/plugins/sentry/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-sentry +## 0.5.14-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.5.13 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + ## 0.5.13-next.3 ### Patch Changes diff --git a/plugins/sentry/package.json b/plugins/sentry/package.json index 06dc679bbc..e470284e45 100644 --- a/plugins/sentry/package.json +++ b/plugins/sentry/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-sentry", "description": "A Backstage plugin that integrates towards Sentry", - "version": "0.5.13-next.3", + "version": "0.5.14-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -38,12 +38,9 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "luxon": "^3.0.0", "react-sparklines": "^1.7.0", @@ -56,16 +53,12 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/luxon": "^3.0.0", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@types/luxon": "^3.0.0" }, "files": [ "dist", diff --git a/plugins/shortcuts/CHANGELOG.md b/plugins/shortcuts/CHANGELOG.md index acb0bddee4..132cdc88e7 100644 --- a/plugins/shortcuts/CHANGELOG.md +++ b/plugins/shortcuts/CHANGELOG.md @@ -1,5 +1,26 @@ # @backstage/plugin-shortcuts +## 0.3.18-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + +## 0.3.17 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + ## 0.3.17-next.3 ### Patch Changes diff --git a/plugins/shortcuts/package.json b/plugins/shortcuts/package.json index 3ca4254471..f61c5b21d4 100644 --- a/plugins/shortcuts/package.json +++ b/plugins/shortcuts/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-shortcuts", "description": "A Backstage plugin that provides a shortcuts feature to the sidebar", - "version": "0.3.17-next.3", + "version": "0.3.18-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,7 +36,6 @@ "@backstage/types": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "react-hook-form": "^7.12.2", "react-use": "^17.2.4", @@ -50,15 +49,12 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/zen-observable": "^0.8.2", - "msw": "^1.0.0" + "@types/zen-observable": "^0.8.2" }, "files": [ "dist" diff --git a/plugins/sonarqube-backend/CHANGELOG.md b/plugins/sonarqube-backend/CHANGELOG.md index 164290c5fc..098d9eba74 100644 --- a/plugins/sonarqube-backend/CHANGELOG.md +++ b/plugins/sonarqube-backend/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-sonarqube-backend +## 0.2.11-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## 0.2.10 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.2.10-next.3 ### Patch Changes diff --git a/plugins/sonarqube-backend/package.json b/plugins/sonarqube-backend/package.json index 7924821114..8054e99121 100644 --- a/plugins/sonarqube-backend/package.json +++ b/plugins/sonarqube-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-sonarqube-backend", - "version": "0.2.10-next.3", + "version": "0.2.11-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/sonarqube-react/CHANGELOG.md b/plugins/sonarqube-react/CHANGELOG.md index ff15e247ae..ddf82e979b 100644 --- a/plugins/sonarqube-react/CHANGELOG.md +++ b/plugins/sonarqube-react/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-sonarqube-react +## 0.1.11 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/catalog-model@1.4.3 + ## 0.1.11-next.1 ### Patch Changes diff --git a/plugins/sonarqube-react/package.json b/plugins/sonarqube-react/package.json index c5c90158a1..d02111a1bd 100644 --- a/plugins/sonarqube-react/package.json +++ b/plugins/sonarqube-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-sonarqube-react", - "version": "0.1.11-next.1", + "version": "0.1.11", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/sonarqube/CHANGELOG.md b/plugins/sonarqube/CHANGELOG.md index 0e1c931b4f..f117a04981 100644 --- a/plugins/sonarqube/CHANGELOG.md +++ b/plugins/sonarqube/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-sonarqube +## 0.7.11-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-sonarqube-react@0.1.11 + +## 0.7.10 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-sonarqube-react@0.1.11 + - @backstage/catalog-model@1.4.3 + ## 0.7.10-next.3 ### Patch Changes diff --git a/plugins/sonarqube/package.json b/plugins/sonarqube/package.json index 8525ff16bc..af1a6ee54e 100644 --- a/plugins/sonarqube/package.json +++ b/plugins/sonarqube/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-sonarqube", "description": "", - "version": "0.7.10-next.3", + "version": "0.7.11-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -40,10 +40,8 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-sonarqube-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@material-ui/styles": "^4.10.0", "@types/react": "^16.13.1 || ^17.0.0", "cross-fetch": "^4.0.0", @@ -64,7 +62,6 @@ "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/splunk-on-call/CHANGELOG.md b/plugins/splunk-on-call/CHANGELOG.md index 7df623fe06..7f734dac83 100644 --- a/plugins/splunk-on-call/CHANGELOG.md +++ b/plugins/splunk-on-call/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-splunk-on-call +## 0.4.18-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + +## 0.4.17 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + ## 0.4.17-next.3 ### Patch Changes diff --git a/plugins/splunk-on-call/package.json b/plugins/splunk-on-call/package.json index fddd8fdf60..e7dcc7933f 100644 --- a/plugins/splunk-on-call/package.json +++ b/plugins/splunk-on-call/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-splunk-on-call", "description": "A Backstage plugin that integrates towards Splunk On-Call", - "version": "0.4.17-next.3", + "version": "0.4.18-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -38,12 +38,10 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", - "classnames": "^2.2.6", "luxon": "^3.0.0", "react-use": "^17.2.4" }, @@ -60,9 +58,7 @@ "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/luxon": "^3.0.0", - "msw": "^1.0.0" + "@types/luxon": "^3.0.0" }, "configSchema": "config.d.ts", "files": [ diff --git a/plugins/stack-overflow-backend/CHANGELOG.md b/plugins/stack-overflow-backend/CHANGELOG.md index 72bac487ec..b849de521d 100644 --- a/plugins/stack-overflow-backend/CHANGELOG.md +++ b/plugins/stack-overflow-backend/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-stack-overflow-backend +## 0.2.13-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.2-next.0 + +## 0.2.12 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.1 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.9 + ## 0.2.12-next.3 ### Patch Changes diff --git a/plugins/stack-overflow-backend/package.json b/plugins/stack-overflow-backend/package.json index d2cac4c2f7..bd004ef7e0 100644 --- a/plugins/stack-overflow-backend/package.json +++ b/plugins/stack-overflow-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-stack-overflow-backend", "description": "Deprecated, consider using @backstage/plugin-search-backend-module-stack-overflow-collator instead", - "version": "0.2.12-next.3", + "version": "0.2.13-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,19 +33,14 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/plugin-search-backend-module-stack-overflow-collator": "workspace:^", - "@backstage/plugin-search-common": "workspace:^", "node-fetch": "^2.6.7", "qs": "^6.9.4", "winston": "^3.2.1" }, "devDependencies": { "@backstage/backend-test-utils": "workspace:^", - "@backstage/cli": "workspace:^", - "@backstage/plugin-search-backend-node": "workspace:^", - "msw": "^1.0.0" + "@backstage/cli": "workspace:^" }, "files": [ "dist", diff --git a/plugins/stack-overflow/CHANGELOG.md b/plugins/stack-overflow/CHANGELOG.md index 45e4f95291..c906e4ade4 100644 --- a/plugins/stack-overflow/CHANGELOG.md +++ b/plugins/stack-overflow/CHANGELOG.md @@ -1,5 +1,35 @@ # @backstage/plugin-stack-overflow +## 0.1.24-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-home-react@0.1.7-next.0 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-search-common@1.2.9 + +## 0.1.23 + +### Patch Changes + +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-search-react@1.7.4 + - @backstage/plugin-home-react@0.1.6 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.9 + ## 0.1.23-next.3 ### Patch Changes diff --git a/plugins/stack-overflow/package.json b/plugins/stack-overflow/package.json index 9e3b313edf..c1f1680cdc 100644 --- a/plugins/stack-overflow/package.json +++ b/plugins/stack-overflow/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-stack-overflow", - "version": "0.1.23-next.3", + "version": "0.1.24-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -49,7 +49,6 @@ "@backstage/plugin-home-react": "workspace:^", "@backstage/plugin-search-common": "workspace:^", "@backstage/plugin-search-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@testing-library/jest-dom": "^6.0.0", @@ -66,8 +65,6 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", - "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/react": "^14.0.0", diff --git a/plugins/stackstorm/CHANGELOG.md b/plugins/stackstorm/CHANGELOG.md index 54987f68d7..e9fa3b05c2 100644 --- a/plugins/stackstorm/CHANGELOG.md +++ b/plugins/stackstorm/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-stackstorm +## 0.1.10-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.1.9 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/errors@1.2.3 + ## 0.1.9-next.3 ### Patch Changes diff --git a/plugins/stackstorm/package.json b/plugins/stackstorm/package.json index 9f29a63872..c3de0c7976 100644 --- a/plugins/stackstorm/package.json +++ b/plugins/stackstorm/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-stackstorm", "description": "A Backstage plugin that integrates towards StackStorm", - "version": "0.1.9-next.3", + "version": "0.1.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -38,7 +38,6 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@types/react": "^16.13.1 || ^17.0.0", @@ -57,7 +56,6 @@ "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md b/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md index eda2e085c7..4a06dfa769 100644 --- a/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md +++ b/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-tech-insights-backend-module-jsonfc +## 0.1.41-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/plugin-tech-insights-node@0.4.15-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-tech-insights-common@0.2.12 + +## 0.1.40 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-tech-insights-node@0.4.14 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-tech-insights-common@0.2.12 + ## 0.1.40-next.3 ### Patch Changes diff --git a/plugins/tech-insights-backend-module-jsonfc/package.json b/plugins/tech-insights-backend-module-jsonfc/package.json index 51e83a1263..650a4f7d39 100644 --- a/plugins/tech-insights-backend-module-jsonfc/package.json +++ b/plugins/tech-insights-backend-module-jsonfc/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-tech-insights-backend-module-jsonfc", - "version": "0.1.40-next.3", + "version": "0.1.41-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,7 +34,6 @@ }, "dependencies": { "@backstage/backend-common": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-tech-insights-common": "workspace:^", "@backstage/plugin-tech-insights-node": "workspace:^", diff --git a/plugins/tech-insights-backend/CHANGELOG.md b/plugins/tech-insights-backend/CHANGELOG.md index 99d1d7d1c3..69ec461d08 100644 --- a/plugins/tech-insights-backend/CHANGELOG.md +++ b/plugins/tech-insights-backend/CHANGELOG.md @@ -1,5 +1,35 @@ # @backstage/plugin-tech-insights-backend +## 0.5.23-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-tech-insights-node@0.4.15-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## 0.5.22 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/plugin-tech-insights-node@0.4.14 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + ## 0.5.22-next.3 ### Patch Changes diff --git a/plugins/tech-insights-backend/package.json b/plugins/tech-insights-backend/package.json index fad9d7de40..49ad83c6b1 100644 --- a/plugins/tech-insights-backend/package.json +++ b/plugins/tech-insights-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-tech-insights-backend", - "version": "0.5.22-next.3", + "version": "0.5.23-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.test.ts b/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.test.ts index 5473b28c62..677b778b9b 100644 --- a/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.test.ts +++ b/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.test.ts @@ -117,7 +117,7 @@ describe('FactRetrieverEngine', () => { } const databases = TestDatabases.create({ - ids: ['POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], + ids: ['POSTGRES_16', 'POSTGRES_12', 'SQLITE_3'], }); async function createEngine( diff --git a/plugins/tech-insights-node/CHANGELOG.md b/plugins/tech-insights-node/CHANGELOG.md index c3c45d0adf..f27a57ca24 100644 --- a/plugins/tech-insights-node/CHANGELOG.md +++ b/plugins/tech-insights-node/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-tech-insights-node +## 0.4.15-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## 0.4.14 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + ## 0.4.14-next.3 ### Patch Changes diff --git a/plugins/tech-insights-node/package.json b/plugins/tech-insights-node/package.json index 0e33e5494b..a033e4f189 100644 --- a/plugins/tech-insights-node/package.json +++ b/plugins/tech-insights-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-tech-insights-node", - "version": "0.4.14-next.3", + "version": "0.4.15-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,7 +33,6 @@ }, "dependencies": { "@backstage/backend-common": "workspace:^", - "@backstage/backend-tasks": "workspace:^", "@backstage/config": "workspace:^", "@backstage/plugin-tech-insights-common": "workspace:^", "@backstage/types": "workspace:^", diff --git a/plugins/tech-insights/CHANGELOG.md b/plugins/tech-insights/CHANGELOG.md index fa4bf06b5a..0bea0a57a6 100644 --- a/plugins/tech-insights/CHANGELOG.md +++ b/plugins/tech-insights/CHANGELOG.md @@ -1,5 +1,33 @@ # @backstage/plugin-tech-insights +## 0.3.21-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## 0.3.20 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + ## 0.3.20-next.3 ### Patch Changes diff --git a/plugins/tech-insights/package.json b/plugins/tech-insights/package.json index add951ed30..78988f73be 100644 --- a/plugins/tech-insights/package.json +++ b/plugins/tech-insights/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-tech-insights", - "version": "0.3.20-next.3", + "version": "0.3.21-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,7 +35,6 @@ "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-tech-insights-common": "workspace:^", - "@backstage/theme": "workspace:^", "@backstage/types": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -51,14 +50,10 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/tech-radar/CHANGELOG.md b/plugins/tech-radar/CHANGELOG.md index 03457e118d..0bd0462bac 100644 --- a/plugins/tech-radar/CHANGELOG.md +++ b/plugins/tech-radar/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/plugin-tech-radar +## 0.6.12-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + +## 0.6.11 + +### Patch Changes + +- 03d0b6d: The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + ## 0.6.11-next.4 ### Patch Changes diff --git a/plugins/tech-radar/package.json b/plugins/tech-radar/package.json index fcd6640740..d148660d69 100644 --- a/plugins/tech-radar/package.json +++ b/plugins/tech-radar/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-tech-radar", "description": "A Backstage plugin that lets you display a Tech Radar for your organization", - "version": "0.6.11-next.4", + "version": "0.6.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -50,10 +50,8 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/frontend-plugin-api": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", "color": "^4.0.1", "d3-force": "^3.0.0", @@ -66,7 +64,6 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/frontend-test-utils": "workspace:^", "@backstage/test-utils": "workspace:^", @@ -75,9 +72,7 @@ "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", "@types/color": "^3.0.1", - "@types/d3-force": "^3.0.0", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "@types/d3-force": "^3.0.0" }, "files": [ "dist" diff --git a/plugins/techdocs-addons-test-utils/CHANGELOG.md b/plugins/techdocs-addons-test-utils/CHANGELOG.md index afdf3e2de9..0c64d05b8a 100644 --- a/plugins/techdocs-addons-test-utils/CHANGELOG.md +++ b/plugins/techdocs-addons-test-utils/CHANGELOG.md @@ -1,5 +1,40 @@ # @backstage/plugin-techdocs-addons-test-utils +## 1.0.26-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/plugin-techdocs-react@1.1.15-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/plugin-techdocs@1.9.3-next.0 + - @backstage/plugin-catalog@1.16.1-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/core-app-api@1.11.2 + - @backstage/core-plugin-api@1.8.1 + - @backstage/test-utils@1.4.7-next.0 + +## 1.0.25 + +### Patch Changes + +- 3f354e6: Move `@testing-library/react` to be a `peerDependency` +- 5d79682: Remove unnecessary catalog dependency +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-catalog@1.16.0 + - @backstage/core-app-api@1.11.2 + - @backstage/test-utils@1.4.6 + - @backstage/plugin-techdocs@1.9.2 + - @backstage/plugin-search-react@1.7.4 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-techdocs-react@1.1.14 + ## 1.0.25-next.4 ### Patch Changes diff --git a/plugins/techdocs-addons-test-utils/package.json b/plugins/techdocs-addons-test-utils/package.json index 455c0aba76..1a048b00c9 100644 --- a/plugins/techdocs-addons-test-utils/package.json +++ b/plugins/techdocs-addons-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-techdocs-addons-test-utils", - "version": "1.0.25-next.4", + "version": "1.0.26-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,7 +34,6 @@ }, "dependencies": { "@backstage/core-app-api": "workspace:^", - "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/integration-react": "workspace:^", "@backstage/plugin-catalog": "workspace:^", @@ -43,12 +42,7 @@ "@backstage/plugin-techdocs": "workspace:^", "@backstage/plugin-techdocs-react": "workspace:^", "@backstage/test-utils": "workspace:^", - "@backstage/theme": "workspace:^", - "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", - "react-use": "^17.2.4", "testing-library__dom": "^7.29.4-beta.1" }, "peerDependencies": { @@ -59,11 +53,8 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/dev-utils": "workspace:^", "@testing-library/dom": "^9.0.0", - "@testing-library/jest-dom": "^6.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/jest-dom": "^6.0.0" }, "files": [ "dist" diff --git a/plugins/techdocs-backend/CHANGELOG.md b/plugins/techdocs-backend/CHANGELOG.md index d00d81cf51..f2f8bee7b0 100644 --- a/plugins/techdocs-backend/CHANGELOG.md +++ b/plugins/techdocs-backend/CHANGELOG.md @@ -1,5 +1,42 @@ # @backstage/plugin-techdocs-backend +## 1.9.2-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/plugin-search-backend-module-techdocs@0.1.13-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-techdocs-node@1.11.1-next.0 + +## 1.9.1 + +### Patch Changes + +- a402644: Regenerates a fresh token for each call to the search index when collating techdocs. +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/catalog-client@1.5.0 + - @backstage/integration@1.8.0 + - @backstage/plugin-techdocs-node@1.11.0 + - @backstage/plugin-permission-common@0.7.11 + - @backstage/plugin-search-backend-module-techdocs@0.1.12 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.19 + - @backstage/plugin-search-common@1.2.9 + ## 1.9.1-next.3 ### Patch Changes diff --git a/plugins/techdocs-backend/package.json b/plugins/techdocs-backend/package.json index b973b60bbc..7d42b899d8 100644 --- a/plugins/techdocs-backend/package.json +++ b/plugins/techdocs-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-techdocs-backend", "description": "The Backstage backend plugin that renders technical documentation for your components", - "version": "1.9.1-next.3", + "version": "1.9.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -56,7 +56,6 @@ "@backstage/plugin-catalog-common": "workspace:^", "@backstage/plugin-permission-common": "workspace:^", "@backstage/plugin-search-backend-module-techdocs": "workspace:^", - "@backstage/plugin-search-common": "workspace:^", "@backstage/plugin-techdocs-node": "workspace:^", "@types/express": "^4.17.6", "dockerode": "^3.3.1", @@ -72,7 +71,6 @@ "devDependencies": { "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", - "@backstage/plugin-search-backend-node": "workspace:^", "@types/dockerode": "^3.3.0", "msw": "^1.0.0", "supertest": "^6.1.3" diff --git a/plugins/techdocs-module-addons-contrib/CHANGELOG.md b/plugins/techdocs-module-addons-contrib/CHANGELOG.md index 189f362ff5..6b49b02d64 100644 --- a/plugins/techdocs-module-addons-contrib/CHANGELOG.md +++ b/plugins/techdocs-module-addons-contrib/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/plugin-techdocs-module-addons-contrib +## 1.1.4-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-techdocs-react@1.1.15-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/core-plugin-api@1.8.1 + - @backstage/integration@1.8.0 + +## 1.1.3 + +### Patch Changes + +- a518c5a: Updated dependency `@react-hookz/web` to `^23.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/integration@1.8.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-techdocs-react@1.1.14 + ## 1.1.3-next.3 ### Patch Changes diff --git a/plugins/techdocs-module-addons-contrib/package.json b/plugins/techdocs-module-addons-contrib/package.json index 2d0b81462e..8b0685862f 100644 --- a/plugins/techdocs-module-addons-contrib/package.json +++ b/plugins/techdocs-module-addons-contrib/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-techdocs-module-addons-contrib", "description": "Plugin module for contributed TechDocs Addons", - "version": "1.1.3-next.3", + "version": "1.1.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -39,14 +39,11 @@ "@backstage/integration": "workspace:^", "@backstage/integration-react": "workspace:^", "@backstage/plugin-techdocs-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^23.0.0", "git-url-parse": "^13.0.0", - "photoswipe": "^5.3.7", - "react-use": "^17.2.4" + "photoswipe": "^5.3.7" }, "peerDependencies": { "react": "^16.13.1 || ^17.0.0 || ^18.0.0", @@ -55,16 +52,12 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", - "@backstage/dev-utils": "workspace:^", "@backstage/plugin-techdocs-addons-test-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "@types/react": "^16.13.1 || ^17.0.0", - "msw": "^1.0.0" + "@types/react": "^16.13.1 || ^17.0.0" }, "files": [ "dist" diff --git a/plugins/techdocs-node/CHANGELOG.md b/plugins/techdocs-node/CHANGELOG.md index 0260f4c5ed..7d82165929 100644 --- a/plugins/techdocs-node/CHANGELOG.md +++ b/plugins/techdocs-node/CHANGELOG.md @@ -1,5 +1,40 @@ # @backstage/plugin-techdocs-node +## 1.11.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/integration-aws-node@0.1.8 + - @backstage/plugin-search-common@1.2.9 + +## 1.11.0 + +### Minor Changes + +- d15d483: Add command `--runAsDefaultUser` for `@techdocs/cli generate` to bypass running the docker builds as host user for macOS and Linux. + +### Patch Changes + +- 99fb541: Updated dependency `@azure/identity` to `^4.0.0`. +- 2666675: Updated dependency `@google-cloud/storage` to `^7.0.0`. +- 4f773c1: Bumped the default TechDocs docker image version to the latest which was released several month ago +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration-aws-node@0.1.8 + - @backstage/plugin-search-common@1.2.9 + ## 1.11.0-next.3 ### Patch Changes diff --git a/plugins/techdocs-node/package.json b/plugins/techdocs-node/package.json index 55e1c0f3a7..698105591a 100644 --- a/plugins/techdocs-node/package.json +++ b/plugins/techdocs-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-techdocs-node", "description": "Common node.js functionalities for TechDocs, to be shared between techdocs-backend plugin and techdocs-cli", - "version": "1.11.0-next.3", + "version": "1.11.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/plugins/techdocs-react/CHANGELOG.md b/plugins/techdocs-react/CHANGELOG.md index 535a574eee..1ed9bff7b1 100644 --- a/plugins/techdocs-react/CHANGELOG.md +++ b/plugins/techdocs-react/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/plugin-techdocs-react +## 1.1.15-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.8.1 + - @backstage/version-bridge@1.0.7 + +## 1.1.14 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/version-bridge@1.0.7 + ## 1.1.14-next.3 ### Patch Changes diff --git a/plugins/techdocs-react/package.json b/plugins/techdocs-react/package.json index 9d205264a3..5b1328f022 100644 --- a/plugins/techdocs-react/package.json +++ b/plugins/techdocs-react/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-techdocs-react", "description": "Shared frontend utilities for TechDocs and Addons", - "version": "1.1.14-next.3", + "version": "1.1.15-next.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", @@ -40,7 +40,6 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/version-bridge": "workspace:^", "@material-ui/core": "^4.12.2", - "@material-ui/lab": "4.0.0-alpha.61", "@material-ui/styles": "^4.11.0", "@types/react": "^16.13.1 || ^17.0.0", "jss": "~10.10.0", diff --git a/plugins/techdocs/CHANGELOG.md b/plugins/techdocs/CHANGELOG.md index 399cb96f3c..12175000f4 100644 --- a/plugins/techdocs/CHANGELOG.md +++ b/plugins/techdocs/CHANGELOG.md @@ -1,5 +1,50 @@ # @backstage/plugin-techdocs +## 1.9.3-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-techdocs-react@1.1.15-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-search-react@1.7.5-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + - @backstage/theme@0.5.0 + - @backstage/plugin-search-common@1.2.9 + +## 1.9.2 + +### Patch Changes + +- 03d0b6d: The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/plugin-search-react@1.7.4 + - @backstage/integration@1.8.0 + - @backstage/integration-react@1.1.22 + - @backstage/plugin-techdocs-react@1.1.14 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-search-common@1.2.9 + ## 1.9.2-next.4 ### Patch Changes diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json index 6dff4cb321..0ca40eca09 100644 --- a/plugins/techdocs/package.json +++ b/plugins/techdocs/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-techdocs", "description": "The Backstage plugin that renders technical documentation for your components", - "version": "1.9.2-next.4", + "version": "1.9.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -91,9 +91,7 @@ "@testing-library/user-event": "^14.0.0", "@types/dompurify": "^2.2.2", "@types/event-source-polyfill": "^1.0.0", - "canvas": "^2.10.2", - "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "canvas": "^2.10.2" }, "files": [ "dist", diff --git a/plugins/todo-backend/CHANGELOG.md b/plugins/todo-backend/CHANGELOG.md index c808c11a6d..ad110c8736 100644 --- a/plugins/todo-backend/CHANGELOG.md +++ b/plugins/todo-backend/CHANGELOG.md @@ -1,5 +1,36 @@ # @backstage/plugin-todo-backend +## 0.3.7-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/catalog-client@1.5.2-next.0 + - @backstage/backend-openapi-utils@0.1.2-next.0 + - @backstage/plugin-catalog-node@1.6.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.8.0 + +## 0.3.6 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-catalog-node@1.6.0 + - @backstage/catalog-client@1.5.0 + - @backstage/backend-openapi-utils@0.1.1 + - @backstage/integration@1.8.0 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.3.6-next.3 ### Patch Changes diff --git a/plugins/todo-backend/package.json b/plugins/todo-backend/package.json index d24da6fa23..38eb4a08fb 100644 --- a/plugins/todo-backend/package.json +++ b/plugins/todo-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-todo-backend", "description": "A Backstage backend plugin that lets you browse TODO comments in your source code", - "version": "0.3.6-next.3", + "version": "0.3.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -40,7 +40,6 @@ "@backstage/plugin-catalog-node": "workspace:^", "@types/express": "^4.17.6", "express": "^4.17.1", - "express-promise-router": "^4.1.0", "leasot": "^12.0.0", "winston": "^3.2.1", "yn": "^4.0.0" @@ -48,7 +47,6 @@ "devDependencies": { "@backstage/cli": "workspace:^", "@types/supertest": "^2.0.8", - "msw": "^1.0.0", "supertest": "^6.1.3" }, "files": [ diff --git a/plugins/todo/CHANGELOG.md b/plugins/todo/CHANGELOG.md index 04a250551a..f3a3f523ae 100644 --- a/plugins/todo/CHANGELOG.md +++ b/plugins/todo/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-todo +## 0.2.33-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.2.32 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.2.32-next.3 ### Patch Changes diff --git a/plugins/todo/package.json b/plugins/todo/package.json index 830ec16c3f..de9ff03389 100644 --- a/plugins/todo/package.json +++ b/plugins/todo/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-todo", "description": "A Backstage plugin that lets you browse TODO comments in your source code", - "version": "0.2.32-next.3", + "version": "0.2.33-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,12 +35,8 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", - "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@material-ui/lab": "4.0.0-alpha.61", - "@types/react": "^16.13.1 || ^17.0.0", - "react-use": "^17.2.4" + "@types/react": "^16.13.1 || ^17.0.0" }, "peerDependencies": { "react": "^16.13.1 || ^17.0.0 || ^18.0.0", @@ -49,14 +45,11 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", - "msw": "^1.0.0" + "@testing-library/react": "^14.0.0" }, "files": [ "dist", diff --git a/plugins/user-settings-backend/CHANGELOG.md b/plugins/user-settings-backend/CHANGELOG.md index b26ca742b3..7fa896d66e 100644 --- a/plugins/user-settings-backend/CHANGELOG.md +++ b/plugins/user-settings-backend/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/plugin-user-settings-backend +## 0.2.8-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.3-next.0 + +## 0.2.7 + +### Patch Changes + +- 2633d64: Change user settings backend plugin id and fix when using user setting backend home page first will cause edit page loop render +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/plugin-auth-node@0.4.2 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.2.7-next.3 ### Patch Changes diff --git a/plugins/user-settings-backend/package.json b/plugins/user-settings-backend/package.json index 0215a62944..90cc994893 100644 --- a/plugins/user-settings-backend/package.json +++ b/plugins/user-settings-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-user-settings-backend", "description": "The Backstage backend plugin to manage user settings", - "version": "0.2.7-next.3", + "version": "0.2.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -44,7 +44,6 @@ "dependencies": { "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", - "@backstage/catalog-model": "workspace:^", "@backstage/config": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", diff --git a/plugins/user-settings/CHANGELOG.md b/plugins/user-settings/CHANGELOG.md index d5fdd7fcd4..9a5ddc3273 100644 --- a/plugins/user-settings/CHANGELOG.md +++ b/plugins/user-settings/CHANGELOG.md @@ -1,5 +1,42 @@ # @backstage/plugin-user-settings +## 0.7.15-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/core-app-api@1.11.2 + - @backstage/core-compat-api@0.1.1-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + - @backstage/theme@0.5.0 + - @backstage/types@1.1.1 + +## 0.7.14 + +### Patch Changes + +- 03d0b6d: The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. +- a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper. +- 5814122: Updated `/alpha` exports to fit new naming patterns. +- 8f5d6c1: Updates to the `/alpha` exports to match the extension input wrapping change. +- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. +- fb8f3bd: Updated alpha translation message keys to use nested format and camel case. +- Updated dependencies + - @backstage/core-compat-api@0.1.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/core-app-api@1.11.2 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.7.14-next.4 ### Patch Changes diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json index 22bd99f0d5..5521379a5b 100644 --- a/plugins/user-settings/package.json +++ b/plugins/user-settings/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-user-settings", "description": "A Backstage plugin that provides a settings page", - "version": "0.7.14-next.4", + "version": "0.7.15-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -76,7 +76,6 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/vault-backend/CHANGELOG.md b/plugins/vault-backend/CHANGELOG.md index 51e0e21c73..7e1674f654 100644 --- a/plugins/vault-backend/CHANGELOG.md +++ b/plugins/vault-backend/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/plugin-vault-backend +## 0.4.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.20.1-next.0 + - @backstage/backend-plugin-api@0.6.9-next.0 + - @backstage/backend-tasks@0.5.14-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-vault-node@0.1.2-next.0 + +## 0.4.1 + +### Patch Changes + +- b7de76a: Updated to test using PostgreSQL 12 and 16 +- Updated dependencies + - @backstage/backend-common@0.20.0 + - @backstage/backend-tasks@0.5.13 + - @backstage/backend-plugin-api@0.6.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-vault-node@0.1.1 + ## 0.4.1-next.3 ### Patch Changes diff --git a/plugins/vault-backend/package.json b/plugins/vault-backend/package.json index 56f0f2f5b6..7894b46f2c 100644 --- a/plugins/vault-backend/package.json +++ b/plugins/vault-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-vault-backend", "description": "A Backstage backend plugin that integrates towards Vault", - "version": "0.4.1-next.3", + "version": "0.4.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/vault-backend/src/service/router.test.ts b/plugins/vault-backend/src/service/router.test.ts index 97997b30ef..3fb78a6e8d 100644 --- a/plugins/vault-backend/src/service/router.test.ts +++ b/plugins/vault-backend/src/service/router.test.ts @@ -26,7 +26,7 @@ import { createRouter } from './router'; describe('createRouter', () => { let app: express.Express; const databases = TestDatabases.create({ - ids: ['POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], + ids: ['POSTGRES_16', 'POSTGRES_12', 'SQLITE_3'], }); beforeAll(async () => { diff --git a/plugins/vault-backend/src/service/standaloneApplication.ts b/plugins/vault-backend/src/service/standaloneApplication.ts index ba4c0edc3e..c0a011c61c 100644 --- a/plugins/vault-backend/src/service/standaloneApplication.ts +++ b/plugins/vault-backend/src/service/standaloneApplication.ts @@ -48,7 +48,7 @@ export async function createStandaloneApplication( const app = express(); const databases = TestDatabases.create({ - ids: ['POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'], + ids: ['POSTGRES_16', 'POSTGRES_12', 'SQLITE_3'], }); const knex = await databases.init('SQLITE_3'); const databaseManager: Partial = { diff --git a/plugins/vault-node/CHANGELOG.md b/plugins/vault-node/CHANGELOG.md index 908270f71e..d06414068e 100644 --- a/plugins/vault-node/CHANGELOG.md +++ b/plugins/vault-node/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-vault-node +## 0.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.9-next.0 + +## 0.1.1 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.8 + ## 0.1.1-next.3 ### Patch Changes diff --git a/plugins/vault-node/package.json b/plugins/vault-node/package.json index 2975b0c69a..5cd4d4b884 100644 --- a/plugins/vault-node/package.json +++ b/plugins/vault-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-vault-node", "description": "Node.js library for the vault plugin", - "version": "0.1.1-next.3", + "version": "0.1.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/vault/CHANGELOG.md b/plugins/vault/CHANGELOG.md index 5bd15305df..72e013ae84 100644 --- a/plugins/vault/CHANGELOG.md +++ b/plugins/vault/CHANGELOG.md @@ -1,5 +1,29 @@ # @backstage/plugin-vault +## 0.1.24-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/plugin-catalog-react@1.9.3-next.0 + - @backstage/catalog-model@1.4.3 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.1.23 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/plugin-catalog-react@1.9.2 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.1.23-next.3 ### Patch Changes diff --git a/plugins/vault/package.json b/plugins/vault/package.json index 055d49e253..dfc1ecdbf4 100644 --- a/plugins/vault/package.json +++ b/plugins/vault/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-vault", "description": "A Backstage plugin that integrates towards Vault", - "version": "0.1.23-next.3", + "version": "0.1.24-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -39,7 +39,6 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", @@ -59,7 +58,6 @@ "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/visualizer/.eslintrc.js b/plugins/visualizer/.eslintrc.js new file mode 100644 index 0000000000..e2a53a6ad2 --- /dev/null +++ b/plugins/visualizer/.eslintrc.js @@ -0,0 +1 @@ +module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); diff --git a/plugins/visualizer/CHANGELOG.md b/plugins/visualizer/CHANGELOG.md new file mode 100644 index 0000000000..e09ab4a6b1 --- /dev/null +++ b/plugins/visualizer/CHANGELOG.md @@ -0,0 +1,20 @@ +# @backstage/plugin-visualizer + +## 0.0.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/frontend-plugin-api@0.4.1-next.0 + - @backstage/core-plugin-api@1.8.1 + +## 0.0.1 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/frontend-plugin-api@0.4.0 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 diff --git a/plugins/visualizer/README.md b/plugins/visualizer/README.md new file mode 100644 index 0000000000..dd6f081a18 --- /dev/null +++ b/plugins/visualizer/README.md @@ -0,0 +1,3 @@ +# @backstage/plugin-visualizer + +A plugin to help visualize the structure of your Backstage app. diff --git a/plugins/visualizer/api-report.md b/plugins/visualizer/api-report.md new file mode 100644 index 0000000000..0cd9eface0 --- /dev/null +++ b/plugins/visualizer/api-report.md @@ -0,0 +1,13 @@ +## API Report File for "@backstage/plugin-visualizer" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts +import { BackstagePlugin } from '@backstage/frontend-plugin-api'; + +// @public (undocumented) +const visualizerPlugin: BackstagePlugin<{}, {}>; +export default visualizerPlugin; + +// (No @packageDocumentation comment for this package) +``` diff --git a/plugins/visualizer/catalog-info.yaml b/plugins/visualizer/catalog-info.yaml new file mode 100644 index 0000000000..f9cedddf87 --- /dev/null +++ b/plugins/visualizer/catalog-info.yaml @@ -0,0 +1,10 @@ +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: backstage-plugin-visualizer + title: '@backstage/plugin-visualizer' + description: Visualizes the Backstage app structure +spec: + lifecycle: experimental + type: backstage-frontend-plugin + owner: maintainers diff --git a/plugins/visualizer/package.json b/plugins/visualizer/package.json new file mode 100644 index 0000000000..96baf2f78a --- /dev/null +++ b/plugins/visualizer/package.json @@ -0,0 +1,44 @@ +{ + "name": "@backstage/plugin-visualizer", + "description": "Visualizes the Backstage app structure", + "private": true, + "version": "0.0.2-next.0", + "publishConfig": { + "access": "public" + }, + "backstage": { + "role": "frontend-plugin" + }, + "license": "Apache-2.0", + "main": "src/index.ts", + "types": "src/index.ts", + "sideEffects": false, + "scripts": { + "build": "backstage-cli package build", + "start": "backstage-cli package start", + "lint": "backstage-cli package lint", + "test": "backstage-cli package test", + "prepack": "backstage-cli package prepack", + "postpack": "backstage-cli package postpack", + "clean": "backstage-cli package clean" + }, + "dependencies": { + "@backstage/core-components": "workspace:^", + "@backstage/core-plugin-api": "workspace:^", + "@backstage/frontend-plugin-api": "workspace:^", + "@material-ui/core": "^4.12.2", + "@material-ui/icons": "^4.9.1", + "@types/react": "^16.13.1 || ^17.0.0" + }, + "peerDependencies": { + "react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-router-dom": "6.0.0-beta.0 || ^6.3.0" + }, + "devDependencies": { + "@backstage/cli": "workspace:^" + }, + "files": [ + "dist" + ] +} diff --git a/plugins/visualizer/src/components/AppVisualizerPage/AppVisualizerPage.tsx b/plugins/visualizer/src/components/AppVisualizerPage/AppVisualizerPage.tsx new file mode 100644 index 0000000000..b984f8ac59 --- /dev/null +++ b/plugins/visualizer/src/components/AppVisualizerPage/AppVisualizerPage.tsx @@ -0,0 +1,100 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Content, Header, HeaderTabs, Page } from '@backstage/core-components'; +import { useApi } from '@backstage/core-plugin-api'; +import { appTreeApiRef } from '@backstage/frontend-plugin-api'; +import Box from '@material-ui/core/Box'; +import React, { useCallback, useEffect, useMemo } from 'react'; +import { DetailedVisualizer } from './DetailedVisualizer'; +import { TextVisualizer } from './TextVisualizer'; +import { TreeVisualizer } from './TreeVisualizer'; +import { + matchRoutes, + useLocation, + useNavigate, + useParams, + useRoutes, +} from 'react-router-dom'; + +export function AppVisualizerPage() { + const appTreeApi = useApi(appTreeApiRef); + const { tree } = appTreeApi.getTree(); + + const tabs = useMemo( + () => [ + { + id: 'tree', + path: 'tree', + label: 'Tree', + element: , + }, + { + id: 'detailed', + path: 'detailed', + label: 'Detailed', + element: , + }, + { + id: 'text', + path: 'text', + label: 'Text', + element: , + }, + ], + [tree], + ); + + const location = useLocation(); + const element = useRoutes(tabs, location); + + const currentPath = `/${useParams()['*']}`; + const [matchedRoute] = matchRoutes(tabs, currentPath) ?? []; + + const currentTabIndex = matchedRoute + ? tabs.findIndex(t => t.path === matchedRoute.route.path) + : 0; + + const navigate = useNavigate(); + const handleTabChange = useCallback( + (index: number) => { + navigate(tabs[index].id); + }, + [navigate, tabs], + ); + + useEffect(() => { + if (!element) { + navigate(tabs[0].path); + } + }, [element, navigate, tabs]); + + return ( + +
    + + + + {element} + + + + ); +} diff --git a/plugins/visualizer/src/components/AppVisualizerPage/DetailedVisualizer.tsx b/plugins/visualizer/src/components/AppVisualizerPage/DetailedVisualizer.tsx new file mode 100644 index 0000000000..2356f38cfa --- /dev/null +++ b/plugins/visualizer/src/components/AppVisualizerPage/DetailedVisualizer.tsx @@ -0,0 +1,377 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + AppNode, + AppTree, + ExtensionDataRef, + RouteRef, + coreExtensionData, + createApiExtension, + createNavItemExtension, + createThemeExtension, + useRouteRef, +} from '@backstage/frontend-plugin-api'; +import Box from '@material-ui/core/Box'; +import Paper from '@material-ui/core/Paper'; +import Tooltip from '@material-ui/core/Tooltip'; +import Typography from '@material-ui/core/Typography'; +import * as colors from '@material-ui/core/colors'; +import { makeStyles } from '@material-ui/core/styles'; +import InputIcon from '@material-ui/icons/InputSharp'; +import DisabledIcon from '@material-ui/icons/NotInterestedSharp'; +import React from 'react'; +import { Link } from 'react-router-dom'; + +function createOutputColorGenerator( + colorMap: { [extDataId: string]: string }, + availableColors: string[], +) { + const map = new Map(); + let i = 0; + + return function getOutputColor(id: string) { + if (id in colorMap) { + return colorMap[id]; + } + let color = map.get(id); + if (color) { + return color; + } + color = availableColors[i]; + i += 1; + if (i >= availableColors.length) { + i = 0; + } + map.set(id, color); + return color; + }; +} + +const getOutputColor = createOutputColorGenerator( + { + [coreExtensionData.reactElement.id]: colors.green[500], + [coreExtensionData.routePath.id]: colors.yellow[500], + [coreExtensionData.routeRef.id]: colors.purple[500], + [createApiExtension.factoryDataRef.id]: colors.blue[500], + [createThemeExtension.themeDataRef.id]: colors.lime[500], + [createNavItemExtension.targetDataRef.id]: colors.orange[500], + }, + + [ + colors.blue[200], + colors.orange[200], + colors.green[200], + colors.red[200], + colors.yellow[200], + colors.purple[200], + colors.lime[200], + ], +); + +interface StyleProps { + enabled: boolean; + depth: number; +} + +const config = { + borderWidth: 0.75, +}; + +const useStyles = makeStyles(theme => ({ + extension: { + borderLeftWidth: theme.spacing(config.borderWidth), + borderLeftStyle: 'solid', + borderLeftColor: ({ depth }: StyleProps) => + colors.grey[(700 - (depth % 6) * 100) as keyof typeof colors.grey], + cursor: 'pointer', + + '&:hover $extensionHeader': { + color: ({ enabled }: StyleProps) => + enabled ? theme.palette.primary.main : theme.palette.text.secondary, + }, + }, + extensionHeader: { + display: 'flex', + alignItems: 'center', + width: 'fit-content', + + padding: theme.spacing(0.5, 1), + color: ({ enabled }: StyleProps) => + enabled ? theme.palette.text.primary : theme.palette.text.disabled, + background: theme.palette.background.paper, + + borderTopRightRadius: theme.shape.borderRadius, + borderBottomRightRadius: theme.shape.borderRadius, + }, + extensionHeaderId: { + userSelect: 'all', + }, + extensionHeaderOutputs: { + display: 'flex', + alignItems: 'center', + marginLeft: theme.spacing(1), + gap: theme.spacing(1), + }, + attachments: { + gap: theme.spacing(2), + display: 'flex', + flexDirection: 'column', + }, + attachmentsInput: { + '&:first-child $attachmentsInputTitle': { + borderTop: 0, + }, + }, + attachmentsInputTitle: { + display: 'flex', + alignItems: 'center', + width: 'fit-content', + padding: theme.spacing(1), + + borderTopWidth: theme.spacing(config.borderWidth), + borderTopStyle: 'solid', + borderTopColor: ({ depth }: StyleProps) => + colors.grey[(700 - (depth % 6) * 100) as keyof typeof colors.grey], + }, + attachmentsInputName: { + marginLeft: theme.spacing(1), + }, + attachmentsInputChildren: { + display: 'flex', + flexDirection: 'column', + alignItems: 'flex-start', + gap: theme.spacing(0.5), + marginLeft: theme.spacing(1), + marginBottom: theme.spacing(1), + }, +})); + +const useOutputStyles = makeStyles(theme => ({ + output: ({ color }: { color: string }) => ({ + padding: `0 10px`, + height: 20, + borderRadius: 10, + color: theme.palette.getContrastText(color), + backgroundColor: color, + }), +})); + +function getFullPath(node?: AppNode): string { + if (!node) { + return ''; + } + const parent = node.edges.attachedTo?.node; + const part = node.instance?.getData(coreExtensionData.routePath); + if (!part) { + return getFullPath(parent); + } + return getFullPath(parent) + part; +} + +function OutputLink(props: { + dataRef: ExtensionDataRef; + node?: AppNode; + className: string; +}) { + const routeRef = props.node?.instance?.getData(coreExtensionData.routeRef); + + let link: string | undefined = undefined; + try { + // eslint-disable-next-line react-hooks/rules-of-hooks + link = useRouteRef(routeRef as RouteRef)(); + } catch { + /* ignore */ + } + + return ( + {props.dataRef.id}}> + + {link ? link : null} + + + ); +} + +function Output(props: { dataRef: ExtensionDataRef; node?: AppNode }) { + const { dataRef, node } = props; + const { id } = dataRef; + const instance = node?.instance; + + const classes = useOutputStyles({ color: getOutputColor(id) }); + + if (id === coreExtensionData.routePath.id) { + return ( + {getFullPath(node)}}> + + {String(instance?.getData(dataRef) ?? '')} + + + ); + } + + if (id === coreExtensionData.routeRef.id) { + return ; + } + + return ( + {id}}> + + + ); +} + +function Attachments(props: { + node: AppNode; + enabled: boolean; + depth: number; +}) { + const { node, enabled, depth } = props; + const { attachments } = node.edges; + + const classes = useStyles({ enabled, depth }); + + if (attachments.size === 0) { + return null; + } + + return ( + + {[...attachments.entries()] + .sort(([a], [b]) => a.localeCompare(b)) + .map(([key, children]) => { + return ( + + + + + {key} + + + + {children.map(childNode => ( + + ))} + + + ); + })} + + ); +} + +function ExtensionTooltip(props: { node: AppNode }) { + const parts = []; + let node = props.node; + parts.push(node.spec.id); + while (node.edges.attachedTo) { + const input = node.edges.attachedTo.input; + node = node.edges.attachedTo.node; + parts.push(`${node.spec.id} [${input}]`); + } + parts.reverse(); + + return ( + <> + {parts.map(part => ( + {part} + ))} + + ); +} + +function Extension(props: { node: AppNode; depth: number }) { + const { node, depth } = props; + + const enabled = Boolean(node.instance); + const classes = useStyles({ enabled, depth }); + + const dataRefs = node.instance && [...node.instance.getDataRefs()]; + + return ( + + + }> + + {node.spec.id} + + + + {dataRefs && + dataRefs.length > 0 && + dataRefs + .sort((a, b) => a.id.localeCompare(b.id)) + .map(ref => )} + {!enabled && } + + + + + ); +} + +const legendMap = { + 'React Element': coreExtensionData.reactElement, + 'Utility API': createApiExtension.factoryDataRef, + 'Route Path': coreExtensionData.routePath, + 'Route Ref': coreExtensionData.routeRef, + 'Nav Target': createNavItemExtension.targetDataRef, + Theme: createThemeExtension.themeDataRef, +}; + +function Legend() { + return ( + + {Object.entries(legendMap).map(([label, dataRef]) => ( + + + {label} + + ))} + + ); +} + +export function DetailedVisualizer({ tree }: { tree: AppTree }) { + return ( + + + + + + + + + + ); +} diff --git a/plugins/visualizer/src/components/AppVisualizerPage/TextVisualizer.tsx b/plugins/visualizer/src/components/AppVisualizerPage/TextVisualizer.tsx new file mode 100644 index 0000000000..50b1f61484 --- /dev/null +++ b/plugins/visualizer/src/components/AppVisualizerPage/TextVisualizer.tsx @@ -0,0 +1,116 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AppNode, AppTree } from '@backstage/frontend-plugin-api'; +import Box from '@material-ui/core/Box'; +import Checkbox from '@material-ui/core/Checkbox'; +import FormControlLabel from '@material-ui/core/FormControlLabel'; +import Paper from '@material-ui/core/Paper'; +import React, { ReactNode, useState } from 'react'; + +function mkDiv( + children: ReactNode, + options?: { indent?: boolean; key?: string | number; color?: string }, +) { + return ( +
    + {children} +
    + ); +} + +function nodeToText( + node: AppNode, + options?: { showOutputs?: boolean; showDisabled?: boolean }, +): ReactNode { + const dataRefIds = + node.instance && [...node.instance.getDataRefs()].map(r => r.id); + const out = + options?.showOutputs && dataRefIds && dataRefIds.length > 0 + ? ` out="${[...dataRefIds].sort().join(', ')}"` + : ''; + const color = node.instance ? undefined : 'gray'; + + if (node.edges.attachments.size === 0) { + return mkDiv(`<${node.spec.id}${out}/>`, { color }); + } + + return mkDiv([ + mkDiv(`<${node.spec.id}${out}>`, { key: 'start', color }), + ...[...node.edges.attachments.entries()] + .sort(([a], [b]) => a.localeCompare(b)) + .map(([key, v]) => { + const children = v + .filter(e => options?.showDisabled || e.instance) + .sort((a, b) => a.spec.id.localeCompare(b.spec.id)); + if (children.length === 0) { + return mkDiv(`${key} []`, { indent: true }); + } + return mkDiv( + [ + mkDiv(`${key} [`), + ...children.map(e => + mkDiv(nodeToText(e, options), { indent: true }), + ), + mkDiv(']'), + ], + { key, indent: true }, + ); + }), + mkDiv(``, { key: 'end', color }), + ]); +} + +export function TextVisualizer({ tree }: { tree: AppTree }) { + const [showOutputs, setShowOutputs] = useState(false); + const [showDisabled, setShowDisabled] = useState(false); + + return ( + <> + +
    + {nodeToText(tree.root, { showOutputs, showDisabled })} +
    +
    + + setShowOutputs(value)} + /> + } + label="Show Outputs" + /> + setShowDisabled(value)} + /> + } + label="Show Disabled" + /> + + + ); +} diff --git a/plugins/visualizer/src/components/AppVisualizerPage/TreeVisualizer.tsx b/plugins/visualizer/src/components/AppVisualizerPage/TreeVisualizer.tsx new file mode 100644 index 0000000000..eac7c4e203 --- /dev/null +++ b/plugins/visualizer/src/components/AppVisualizerPage/TreeVisualizer.tsx @@ -0,0 +1,172 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from 'react'; +import { + DependencyGraph, + DependencyGraphTypes, +} from '@backstage/core-components'; +import { AppNode, AppTree } from '@backstage/frontend-plugin-api'; +import Box from '@material-ui/core/Box'; +import { makeStyles } from '@material-ui/core/styles'; +import { useLayoutEffect, useMemo, useRef, useState } from 'react'; + +type NodeType = + | ({ type: 'node'; id: string } & AppNode) + | { type: 'input'; id: string; name: string }; + +function inputId({ node, input }: { node: AppNode; input: string }) { + return `${node.spec.id}$$${input}`; +} + +function trimNodeId(id: string) { + let newId = id; + if (newId.startsWith('apis.')) { + newId = newId.slice('apis.'.length); + } + if (newId.startsWith('plugin.')) { + newId = newId.slice('plugin.'.length); + } + if (newId.startsWith('catalog.filter.entity.')) { + newId = newId.slice('catalog.filter.entity.'.length); + } + if (newId.endsWith('.nav.index')) { + newId = newId.slice(0, -'.nav.index'.length); + } + return newId; +} + +function resolveGraphData(tree: AppTree): { + nodes: NodeType[]; + edges: { from: string; to: string }[]; +} { + const nodes = [...tree.nodes.values()] + .filter(node => node.instance) + .map(node => ({ ...node, id: node.spec.id, type: 'node' as const })); + + return { + nodes: [ + ...nodes, + ...nodes.flatMap(node => + [...node.edges.attachments.keys()].map(input => ({ + id: inputId({ node, input }), + type: 'input' as const, + name: input, + })), + ), + ], + edges: [ + ...nodes + .filter(node => node.edges.attachedTo) + .map(node => ({ + from: inputId(node.edges.attachedTo!), + to: node.spec.id, + })), + ...nodes.flatMap(node => + [...node.edges.attachments.keys()].map(input => ({ + from: node.spec.id, + to: inputId({ node, input }), + })), + ), + ], + }; +} + +const useStyles = makeStyles(theme => ({ + node: { + fill: (node: NodeType) => + node.type === 'node' + ? theme.palette.primary.light + : theme.palette.grey[500], + stroke: (node: NodeType) => + node.type === 'node' + ? theme.palette.primary.main + : theme.palette.grey[600], + }, + text: { + fill: theme.palette.primary.contrastText, + }, +})); + +/** @public */ +export function Node(props: { node: NodeType }) { + const { node } = props; + const classes = useStyles(node); + const [width, setWidth] = useState(0); + const [height, setHeight] = useState(0); + const idRef = useRef(null); + + useLayoutEffect(() => { + // set the width to the length of the ID + if (idRef.current) { + let { height: renderedHeight, width: renderedWidth } = + idRef.current.getBBox(); + renderedHeight = Math.round(renderedHeight); + renderedWidth = Math.round(renderedWidth); + + if (renderedHeight !== height || renderedWidth !== width) { + setWidth(renderedWidth); + setHeight(renderedHeight); + } + } + }, [width, height]); + + const padding = 10; + const paddedWidth = width + padding * 2; + const paddedHeight = height + padding * 2; + + return ( + + + + {node.type === 'node' ? trimNodeId(node.id) : node.name} + + + ); +} + +export function TreeVisualizer({ tree }: { tree: AppTree }) { + const graphData = useMemo(() => resolveGraphData(tree), [tree]); + + return ( + + + + ); +} diff --git a/plugins/visualizer/src/components/AppVisualizerPage/index.ts b/plugins/visualizer/src/components/AppVisualizerPage/index.ts new file mode 100644 index 0000000000..971bc6ccb2 --- /dev/null +++ b/plugins/visualizer/src/components/AppVisualizerPage/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { AppVisualizerPage } from './AppVisualizerPage'; diff --git a/plugins/visualizer/src/index.ts b/plugins/visualizer/src/index.ts new file mode 100644 index 0000000000..b91a06c569 --- /dev/null +++ b/plugins/visualizer/src/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { visualizerPlugin as default } from './plugin'; diff --git a/plugins/visualizer/src/plugin.tsx b/plugins/visualizer/src/plugin.tsx new file mode 100644 index 0000000000..0aa8053604 --- /dev/null +++ b/plugins/visualizer/src/plugin.tsx @@ -0,0 +1,45 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + createNavItemExtension, + createPageExtension, + createPlugin, + createRouteRef, +} from '@backstage/frontend-plugin-api'; +import VisualizerIcon from '@material-ui/icons/Visibility'; +import React from 'react'; + +const rootRouteRef = createRouteRef(); + +const visualizerPage = createPageExtension({ + defaultPath: '/visualizer', + routeRef: rootRouteRef, + loader: () => + import('./components/AppVisualizerPage').then(m => ), +}); + +export const visualizerNavItem = createNavItemExtension({ + title: 'Visualizer', + icon: VisualizerIcon, + routeRef: rootRouteRef, +}); + +/** @public */ +export const visualizerPlugin = createPlugin({ + id: 'visualizer', + extensions: [visualizerPage, visualizerNavItem], +}); diff --git a/plugins/xcmetrics/CHANGELOG.md b/plugins/xcmetrics/CHANGELOG.md index 91ceb94cb2..bf6710aa8d 100644 --- a/plugins/xcmetrics/CHANGELOG.md +++ b/plugins/xcmetrics/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-xcmetrics +## 0.2.47-next.0 + +### Patch Changes + +- 4016f21: Remove some unused dependencies +- Updated dependencies + - @backstage/core-components@0.13.10-next.0 + - @backstage/core-plugin-api@1.8.1 + - @backstage/errors@1.2.3 + +## 0.2.46 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.8.1 + - @backstage/core-components@0.13.9 + - @backstage/theme@0.5.0 + - @backstage/errors@1.2.3 + ## 0.2.46-next.3 ### Patch Changes diff --git a/plugins/xcmetrics/package.json b/plugins/xcmetrics/package.json index 4cc181b610..7a801a4e33 100644 --- a/plugins/xcmetrics/package.json +++ b/plugins/xcmetrics/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-xcmetrics", "description": "A Backstage plugin that shows XCode build metrics for your components", - "version": "0.2.46-next.3", + "version": "0.2.47-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,7 +33,6 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", - "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", @@ -50,15 +49,13 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/dom": "^9.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "@types/luxon": "^3.0.0", - "msw": "^1.0.0" + "@types/luxon": "^3.0.0" }, "files": [ "dist" diff --git a/scripts/check-docs-quality.js b/scripts/check-docs-quality.js index 2890f1cf33..d3b51a49a3 100755 --- a/scripts/check-docs-quality.js +++ b/scripts/check-docs-quality.js @@ -14,7 +14,11 @@ * limitations under the License. */ const { spawnSync } = require('child_process'); -const { resolve: resolvePath, join: joinPath } = require('path'); +const { + resolve: resolvePath, + join: joinPath, + relative: relativePath, +} = require('path'); const fs = require('fs').promises; const IGNORED = [ @@ -94,9 +98,9 @@ async function runVale(files) { } async function main() { - const files = await listFiles(); - if (process.argv.includes('--ci-args')) { + const files = await listFiles(); + process.stdout.write( // Workaround for not being able to pass arguments to the vale action JSON.stringify([...files]), @@ -106,7 +110,14 @@ async function main() { await exitIfMissingVale(); - const success = await runVale(files); + const absolutePaths = process.argv + .slice(2) + .filter(path => !path.startsWith('-')); + const relativePaths = absolutePaths.map(path => relativePath(rootDir, path)); + + const success = await runVale( + relativePaths.length === 0 ? await listFiles() : relativePaths, + ); if (!success) { process.exit(2); } diff --git a/yarn.lock b/yarn.lock index ad150e9504..0b1b81f289 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1535,7 +1535,7 @@ __metadata: languageName: node linkType: hard -"@azure/core-util@npm:^1.0.0, @azure/core-util@npm:^1.1.0, @azure/core-util@npm:^1.1.1, @azure/core-util@npm:^1.2.0, @azure/core-util@npm:^1.3.0, @azure/core-util@npm:^1.6.1": +"@azure/core-util@npm:^1.0.0, @azure/core-util@npm:^1.1.0, @azure/core-util@npm:^1.1.1, @azure/core-util@npm:^1.2.0, @azure/core-util@npm:^1.3.0": version: 1.6.1 resolution: "@azure/core-util@npm:1.6.1" dependencies: @@ -1545,28 +1545,6 @@ __metadata: languageName: node linkType: hard -"@azure/identity@npm:^3.2.1": - version: 3.4.1 - resolution: "@azure/identity@npm:3.4.1" - dependencies: - "@azure/abort-controller": ^1.0.0 - "@azure/core-auth": ^1.5.0 - "@azure/core-client": ^1.4.0 - "@azure/core-rest-pipeline": ^1.1.0 - "@azure/core-tracing": ^1.0.0 - "@azure/core-util": ^1.6.1 - "@azure/logger": ^1.0.0 - "@azure/msal-browser": ^3.5.0 - "@azure/msal-node": ^2.5.1 - events: ^3.0.0 - jws: ^4.0.0 - open: ^8.0.0 - stoppable: ^1.1.0 - tslib: ^2.2.0 - checksum: dedb09a5073503fda3e5bf23a76e4839627ee6724967e2a26fd536322c3907e19ff04bf9c3ad2716a4eecc2f602e03be3be1230271a572fc3f44879c737014c4 - languageName: node - linkType: hard - "@azure/identity@npm:^4.0.0": version: 4.0.0 resolution: "@azure/identity@npm:4.0.0" @@ -1677,13 +1655,13 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.8.3": - version: 7.22.13 - resolution: "@babel/code-frame@npm:7.22.13" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.8.3": + version: 7.23.5 + resolution: "@babel/code-frame@npm:7.23.5" dependencies: - "@babel/highlight": ^7.22.13 + "@babel/highlight": ^7.23.4 chalk: ^2.4.2 - checksum: 22e342c8077c8b77eeb11f554ecca2ba14153f707b85294fcf6070b6f6150aae88a7b7436dd88d8c9289970585f3fe5b9b941c5aa3aa26a6d5a8ef3f292da058 + checksum: d90981fdf56a2824a9b14d19a4c0e8db93633fd488c772624b4e83e0ceac6039a27cd298a247c3214faa952bf803ba23696172ae7e7235f3b97f43ba278c569a languageName: node linkType: hard @@ -1694,38 +1672,38 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.19.6, @babel/core@npm:^7.23.0, @babel/core@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/core@npm:7.23.3" +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.19.6, @babel/core@npm:^7.23.0, @babel/core@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/core@npm:7.23.5" dependencies: "@ampproject/remapping": ^2.2.0 - "@babel/code-frame": ^7.22.13 - "@babel/generator": ^7.23.3 + "@babel/code-frame": ^7.23.5 + "@babel/generator": ^7.23.5 "@babel/helper-compilation-targets": ^7.22.15 "@babel/helper-module-transforms": ^7.23.3 - "@babel/helpers": ^7.23.2 - "@babel/parser": ^7.23.3 + "@babel/helpers": ^7.23.5 + "@babel/parser": ^7.23.5 "@babel/template": ^7.22.15 - "@babel/traverse": ^7.23.3 - "@babel/types": ^7.23.3 + "@babel/traverse": ^7.23.5 + "@babel/types": ^7.23.5 convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: d306c1fa68972f4e085e9e7ad165aee80eb801ef331f6f07808c86309f03534d638b82ad00a3bc08f4d3de4860ccd38512b2790a39e6acc2caf9ea21e526afe7 + checksum: 5e5dfb1e61f298676f1fca18c646dbf6fb164ca1056b0169b8d42b7f5c35e026d81823582ccb2358e93a61b035e22b3ad37e2abaae4bf43f1ffb93b6ce19466e languageName: node linkType: hard -"@babel/generator@npm:^7.23.3, @babel/generator@npm:^7.7.2": - version: 7.23.3 - resolution: "@babel/generator@npm:7.23.3" +"@babel/generator@npm:^7.23.5, @babel/generator@npm:^7.7.2": + version: 7.23.5 + resolution: "@babel/generator@npm:7.23.5" dependencies: - "@babel/types": ^7.23.3 + "@babel/types": ^7.23.5 "@jridgewell/gen-mapping": ^0.3.2 "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: b6e71cca852d4e1aa01a28a30b8c74ffc3b8d56ccb7ae3ee783028ee015f63ad861a2e386c3eb490a9a8634db485a503a33521680f4af510151e90346c46da17 + checksum: 845ddda7cf38a3edf4be221cc8a439dee9ea6031355146a1a74047aa8007bc030305b27d8c68ec9e311722c910610bde38c0e13a9ce55225251e7cb7e7f3edc8 languageName: node linkType: hard @@ -1935,10 +1913,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-string-parser@npm:7.22.5" - checksum: 836851ca5ec813077bbb303acc992d75a360267aa3b5de7134d220411c852a6f17de7c0d0b8c8dcc0f567f67874c00f4528672b2a4f1bc978a3ada64c8c78467 +"@babel/helper-string-parser@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/helper-string-parser@npm:7.23.4" + checksum: c0641144cf1a7e7dc93f3d5f16d5327465b6cf5d036b48be61ecba41e1eece161b48f46b7f960951b67f8c3533ce506b16dece576baef4d8b3b49f8c65410f90 languageName: node linkType: hard @@ -1967,34 +1945,34 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.23.2": - version: 7.23.2 - resolution: "@babel/helpers@npm:7.23.2" +"@babel/helpers@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/helpers@npm:7.23.5" dependencies: "@babel/template": ^7.22.15 - "@babel/traverse": ^7.23.2 - "@babel/types": ^7.23.0 - checksum: aaf4828df75ec460eaa70e5c9f66e6dadc28dae3728ddb7f6c13187dbf38030e142194b83d81aa8a31bbc35a5529a5d7d3f3cf59d5d0b595f5dd7f9d8f1ced8e + "@babel/traverse": ^7.23.5 + "@babel/types": ^7.23.5 + checksum: c16dc8a3bb3d0e02c7ee1222d9d0865ed4b92de44fb8db43ff5afd37a0fc9ea5e2906efa31542c95b30c1a3a9540d66314663c9a23b5bb9b5ec76e8ebc896064 languageName: node linkType: hard -"@babel/highlight@npm:^7.0.0, @babel/highlight@npm:^7.22.13": - version: 7.22.20 - resolution: "@babel/highlight@npm:7.22.20" +"@babel/highlight@npm:^7.0.0, @babel/highlight@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/highlight@npm:7.23.4" dependencies: "@babel/helper-validator-identifier": ^7.22.20 chalk: ^2.4.2 js-tokens: ^4.0.0 - checksum: 84bd034dca309a5e680083cd827a766780ca63cef37308404f17653d32366ea76262bd2364b2d38776232f2d01b649f26721417d507e8b4b6da3e4e739f6d134 + checksum: 643acecdc235f87d925979a979b539a5d7d1f31ae7db8d89047269082694122d11aa85351304c9c978ceeb6d250591ccadb06c366f358ccee08bb9c122476b89 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/parser@npm:7.23.3" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/parser@npm:7.23.5" bin: parser: ./bin/babel-parser.js - checksum: 4aa7366e401b5467192c1dbf2bef99ac0958c45ef69ed6704abbae68f98fab6409a527b417d1528fddc49d7664450670528adc7f45abb04db5fafca7ed766d57 + checksum: ea763629310f71580c4a3ea9d3705195b7ba994ada2cc98f9a584ebfdacf54e92b2735d351672824c2c2b03c7f19206899f4d95650d85ce514a822b19a8734c7 languageName: node linkType: hard @@ -3131,22 +3109,22 @@ __metadata: languageName: node linkType: hard -"@babel/runtime-corejs3@npm:^7.20.7, @babel/runtime-corejs3@npm:^7.22.15, @babel/runtime-corejs3@npm:^7.23.2": - version: 7.23.2 - resolution: "@babel/runtime-corejs3@npm:7.23.2" +"@babel/runtime-corejs3@npm:^7.20.7, @babel/runtime-corejs3@npm:^7.22.15, @babel/runtime-corejs3@npm:^7.23.5": + version: 7.23.6 + resolution: "@babel/runtime-corejs3@npm:7.23.6" dependencies: core-js-pure: ^3.30.2 regenerator-runtime: ^0.14.0 - checksum: 922f25c47996a8af604cea82441e41be8b11910e96c662511e54120078f4c64258c045a28a311467a8f14a0c17f46a1f057f7c0501e567869a4343a6ce017962 + checksum: 92576ea17ff674025aa3cd208bfb8301e4bde432cfa404b56f94242948cbd40125c1a4c9c54a99134e08ded8bcde305633a22b1f4c676687c3b868557d23b762 languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.18.6, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.1, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.4, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.4.4, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.0, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": - version: 7.23.5 - resolution: "@babel/runtime@npm:7.23.5" +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.18.6, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.1, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.6, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.4.4, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.0, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": + version: 7.23.6 + resolution: "@babel/runtime@npm:7.23.6" dependencies: regenerator-runtime: ^0.14.0 - checksum: 164d9802424f06908e62d29b8fd3a87db55accf82f46f964ac481dcead11ff7df8391e3696e5fa91a8ca10ea8845bf650acd730fa88cf13f8026cd8d5eec6936 + checksum: 1a8eaf3d3a103ef5227b60ca7ab5c589118c36ca65ef2d64e65380b32a98a3f3b5b3ef96660fa0471b079a18b619a8317f3e7f03ab2b930c45282a8b69ed9a16 languageName: node linkType: hard @@ -3161,32 +3139,32 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.23.3, @babel/traverse@npm:^7.4.5": - version: 7.23.3 - resolution: "@babel/traverse@npm:7.23.3" +"@babel/traverse@npm:^7.23.5, @babel/traverse@npm:^7.4.5": + version: 7.23.5 + resolution: "@babel/traverse@npm:7.23.5" dependencies: - "@babel/code-frame": ^7.22.13 - "@babel/generator": ^7.23.3 + "@babel/code-frame": ^7.23.5 + "@babel/generator": ^7.23.5 "@babel/helper-environment-visitor": ^7.22.20 "@babel/helper-function-name": ^7.23.0 "@babel/helper-hoist-variables": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/parser": ^7.23.3 - "@babel/types": ^7.23.3 + "@babel/parser": ^7.23.5 + "@babel/types": ^7.23.5 debug: ^4.1.0 globals: ^11.1.0 - checksum: f4e0c05f2f82368b9be7e1fed38cfcc2e1074967a8b76ac837b89661adbd391e99d0b1fd8c31215ffc3a04d2d5d7ee5e627914a09082db84ec5606769409fe2b + checksum: 0558b05360850c3ad6384e85bd55092126a8d5f93e29a8e227dd58fa1f9e1a4c25fd337c07c7ae509f0983e7a2b1e761ffdcfaa77a1e1bedbc867058e1de5a7d languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.10, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.3, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.23.3 - resolution: "@babel/types@npm:7.23.3" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.10, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.5, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.23.5 + resolution: "@babel/types@npm:7.23.5" dependencies: - "@babel/helper-string-parser": ^7.22.5 + "@babel/helper-string-parser": ^7.23.4 "@babel/helper-validator-identifier": ^7.22.20 to-fast-properties: ^2.0.0 - checksum: b96f1ec495351aeb2a5f98dd494aafa17df02a351548ae96999460f35c933261c839002a34c1e83552ff0d9f5e94d0b5b8e105d38131c7c9b0f5a6588676f35d + checksum: 3d21774480a459ef13b41c2e32700d927af649e04b70c5d164814d8e04ab584af66a93330602c2925e1a6925c2b829cc153418a613a4e7d79d011be1f29ad4b2 languageName: node linkType: hard @@ -3372,7 +3350,6 @@ __metadata: dependencies: "@backstage/backend-plugin-api": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" "@backstage/errors": "workspace:^" "@types/express": ^4.17.6 "@types/express-serve-static-core": ^4.17.5 @@ -3457,7 +3434,7 @@ __metadata: uuid: ^8.0.0 wait-for-expect: ^3.0.2 winston: ^3.2.1 - zod: ^3.21.4 + zod: ^3.22.4 languageName: unknown linkType: soft @@ -3490,14 +3467,15 @@ __metadata: languageName: unknown linkType: soft -"@backstage/catalog-client@npm:^1.4.6": - version: 1.4.6 - resolution: "@backstage/catalog-client@npm:1.4.6" +"@backstage/catalog-client@npm:^1.5.0": + version: 1.5.1 + resolution: "@backstage/catalog-client@npm:1.5.1" dependencies: "@backstage/catalog-model": ^1.4.3 "@backstage/errors": ^1.2.3 cross-fetch: ^4.0.0 - checksum: c62b479ea8865c23046f742d75db5fb36827627e78cfdff64e713eb72abd11fef071b8150c07e695e5e6d879d257a8a9dc85ec132b7c64229c6a0bd2ef821200 + uri-template: ^2.0.0 + checksum: 786fa1bafba3d44d88855d8479879577e33816f1f9d2e110b275fc22ca4348f8dce0ebe789d580786a38e9986989c98172f7a07c1e2145b8da689608a2aa4ec2 languageName: node linkType: hard @@ -3551,7 +3529,7 @@ __metadata: fs-extra: 10.1.0 mock-fs: ^5.2.0 semver: ^7.5.3 - zod: ^3.21.4 + zod: ^3.22.4 languageName: unknown linkType: soft @@ -3697,7 +3675,7 @@ __metadata: yaml: ^2.0.0 yml-loader: ^2.1.0 yn: ^4.0.0 - zod: ^3.21.4 + zod: ^3.22.4 peerDependencies: "@vitejs/plugin-react": ^4.0.4 vite: ^4.4.9 @@ -3805,7 +3783,7 @@ __metadata: react-router-stable: "npm:react-router@^6.3.0" react-use: ^17.2.4 zen-observable: ^0.10.0 - zod: ^3.21.4 + zod: ^3.22.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -3886,21 +3864,21 @@ __metadata: languageName: node linkType: hard -"@backstage/core-components@npm:^0.13.8": - version: 0.13.8 - resolution: "@backstage/core-components@npm:0.13.8" +"@backstage/core-components@npm:^0.13.8, @backstage/core-components@npm:^0.13.9": + version: 0.13.9 + resolution: "@backstage/core-components@npm:0.13.9" dependencies: "@backstage/config": ^1.1.1 - "@backstage/core-plugin-api": ^1.8.0 + "@backstage/core-plugin-api": ^1.8.1 "@backstage/errors": ^1.2.3 - "@backstage/theme": ^0.4.4 + "@backstage/theme": ^0.5.0 "@backstage/version-bridge": ^1.0.7 "@date-io/core": ^1.3.13 "@material-table/core": ^3.1.0 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 - "@react-hookz/web": ^20.0.0 + "@react-hookz/web": ^23.0.0 "@types/react": ^16.13.1 || ^17.0.0 "@types/react-sparklines": ^1.7.0 "@types/react-text-truncate": ^0.14.0 @@ -3912,8 +3890,8 @@ __metadata: dagre: ^0.8.5 history: ^5.0.0 immer: ^9.0.1 - linkify-react: 4.1.2 - linkifyjs: 4.1.2 + linkify-react: 4.1.3 + linkifyjs: 4.1.3 lodash: ^4.17.21 pluralize: ^8.0.0 qs: ^6.9.4 @@ -3930,12 +3908,12 @@ __metadata: react-window: ^1.8.6 remark-gfm: ^3.0.1 zen-observable: ^0.10.0 - zod: ^3.21.4 + zod: ^3.22.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: 45bbf5af46837611c8c7fecde2afba49b2f958f9a8f047fe956b382a9a420a7e80c29f56ac2a5ecc8aa43e87c3b7a8446256d42aa642171f3439b5dd2a84bb0b + checksum: 6674d70f5043cf2a6bca0097ce5fa2d1cb6594a4870c3c64e357ac9cc54b85e33502e9257918c9eebb3e87249d798ee9e223eacc5b02014b4196bd0f9804c2ac languageName: node linkType: hard @@ -4004,7 +3982,7 @@ __metadata: react-window: ^1.8.6 remark-gfm: ^3.0.1 zen-observable: ^0.10.0 - zod: ^3.21.4 + zod: ^3.22.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -4012,25 +3990,7 @@ __metadata: languageName: unknown linkType: soft -"@backstage/core-plugin-api@npm:^1.3.0, @backstage/core-plugin-api@npm:^1.5.0, @backstage/core-plugin-api@npm:^1.8.0": - version: 1.8.0 - resolution: "@backstage/core-plugin-api@npm:1.8.0" - dependencies: - "@backstage/config": ^1.1.1 - "@backstage/types": ^1.1.1 - "@backstage/version-bridge": ^1.0.7 - "@types/react": ^16.13.1 || ^17.0.0 - history: ^5.0.0 - i18next: ^22.4.15 - peerDependencies: - react: ^16.13.1 || ^17.0.0 || ^18.0.0 - react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 - react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: 1f78c4737c0e30682a3169d967943698cb95b3dccea1e60bd72e82dd14847192f5180db658b8d0b6811d6fb13830085ca3ecc6ea0be58771d0b517f877c97bbb - languageName: node - linkType: hard - -"@backstage/core-plugin-api@workspace:^, @backstage/core-plugin-api@workspace:packages/core-plugin-api": +"@backstage/core-plugin-api@^1.3.0, @backstage/core-plugin-api@^1.5.0, @backstage/core-plugin-api@^1.8.0, @backstage/core-plugin-api@^1.8.1, @backstage/core-plugin-api@workspace:^, @backstage/core-plugin-api@workspace:packages/core-plugin-api": version: 0.0.0-use.local resolution: "@backstage/core-plugin-api@workspace:packages/core-plugin-api" dependencies: @@ -4176,23 +4136,24 @@ __metadata: languageName: unknown linkType: soft -"@backstage/frontend-plugin-api@npm:^0.3.0": - version: 0.3.0 - resolution: "@backstage/frontend-plugin-api@npm:0.3.0" +"@backstage/frontend-plugin-api@npm:^0.4.0": + version: 0.4.0 + resolution: "@backstage/frontend-plugin-api@npm:0.4.0" dependencies: - "@backstage/core-components": ^0.13.8 - "@backstage/core-plugin-api": ^1.8.0 + "@backstage/config": ^1.1.1 + "@backstage/core-components": ^0.13.9 + "@backstage/core-plugin-api": ^1.8.1 "@backstage/types": ^1.1.1 "@backstage/version-bridge": ^1.0.7 "@material-ui/core": ^4.12.4 "@types/react": ^16.13.1 || ^17.0.0 lodash: ^4.17.21 - zod: ^3.21.4 + zod: ^3.22.4 zod-to-json-schema: ^3.21.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: 195b0cd480839ff54a07aa37eb3bc644c321ecd6bce258159ba457f63dc79486b59c73180aaf6f7e824d0dbf8dfd9cb96fe8d5843d5e64467e44551f78419dc2 + checksum: 6b19944a070b8e0c0d9a33c39d50f0bf1a3dfb5884833bd96286508573528a4b254660f0044eeeeecf4f7d392b71a95e3b9665903d83cb27aa04625155284b2b languageName: node linkType: hard @@ -4201,7 +4162,6 @@ __metadata: resolution: "@backstage/frontend-plugin-api@workspace:packages/frontend-plugin-api" dependencies: "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/frontend-app-api": "workspace:^" @@ -4215,7 +4175,7 @@ __metadata: "@types/react": ^16.13.1 || ^17.0.0 history: ^5.3.0 lodash: ^4.17.21 - zod: ^3.21.4 + zod: ^3.22.4 zod-to-json-schema: ^3.21.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -4233,9 +4193,11 @@ __metadata: "@backstage/test-utils": "workspace:^" "@backstage/types": "workspace:^" "@testing-library/jest-dom": ^6.0.0 + "@types/react": "*" peerDependencies: "@testing-library/react": ^12.1.3 || ^13.0.0 || ^14.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 languageName: unknown linkType: soft @@ -4258,25 +4220,7 @@ __metadata: languageName: unknown linkType: soft -"@backstage/integration-react@npm:^1.1.21": - version: 1.1.21 - resolution: "@backstage/integration-react@npm:1.1.21" - dependencies: - "@backstage/config": ^1.1.1 - "@backstage/core-plugin-api": ^1.8.0 - "@backstage/integration": ^1.7.2 - "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@types/react": ^16.13.1 || ^17.0.0 - peerDependencies: - react: ^16.13.1 || ^17.0.0 || ^18.0.0 - react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 - react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: 5acbd36910954fd640eb586281436a579c08a5de8f1b226c86aab5028dcb3746190e740f5631d647e717f2c8aacde4a3efcd54fced7a75a8dcf5827c15213ab7 - languageName: node - linkType: hard - -"@backstage/integration-react@workspace:^, @backstage/integration-react@workspace:packages/integration-react": +"@backstage/integration-react@^1.1.21, @backstage/integration-react@^1.1.22, @backstage/integration-react@workspace:^, @backstage/integration-react@workspace:packages/integration-react": version: 0.0.0-use.local resolution: "@backstage/integration-react@workspace:packages/integration-react" dependencies: @@ -4300,22 +4244,6 @@ __metadata: languageName: unknown linkType: soft -"@backstage/integration@npm:^1.7.2": - version: 1.7.2 - resolution: "@backstage/integration@npm:1.7.2" - dependencies: - "@azure/identity": ^3.2.1 - "@backstage/config": ^1.1.1 - "@octokit/auth-app": ^4.0.0 - "@octokit/rest": ^19.0.3 - cross-fetch: ^4.0.0 - git-url-parse: ^13.0.0 - lodash: ^4.17.21 - luxon: ^3.0.0 - checksum: 6e9c63ea9da6d8769eb8cd05db01f91be70dc13d86a09c7be9835b1f57dac4fb64a3089be3b84b5329b9bacc887cda1dec3860bb04c9f58f78c458f96c942384 - languageName: node - linkType: hard - "@backstage/integration@workspace:^, @backstage/integration@workspace:packages/integration": version: 0.0.0-use.local resolution: "@backstage/integration@workspace:packages/integration" @@ -4356,7 +4284,6 @@ __metadata: express-promise-router: ^4.1.0 luxon: ^3.0.0 marked: ^4.0.14 - msw: ^1.0.0 node-fetch: ^2.6.5 supertest: ^6.1.3 winston: ^3.2.1 @@ -4383,30 +4310,21 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" - "@backstage/dev-utils": "workspace:^" "@backstage/frontend-plugin-api": "workspace:^" "@backstage/integration-react": "workspace:^" "@backstage/plugin-adr-common": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/plugin-search-common": "workspace:^" "@backstage/plugin-search-react": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 - "@types/git-url-parse": ^9.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^4.0.0 lodash: ^4.17.21 - msw: ^1.0.0 react-markdown: ^8.0.0 react-use: ^17.2.4 remark-gfm: ^3.0.1 @@ -4431,7 +4349,6 @@ __metadata: express: ^4.17.1 express-promise-router: ^4.1.0 http-proxy-middleware: ^2.0.0 - msw: ^1.0.0 supertest: ^6.1.6 winston: ^3.2.1 yn: ^4.0.0 @@ -4450,14 +4367,11 @@ __metadata: "@backstage/dev-utils": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 msw: ^1.0.0 react-use: ^17.2.4 @@ -4474,20 +4388,14 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" - "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 msw: ^1.0.0 react-use: ^17.2.4 @@ -4504,21 +4412,15 @@ __metadata: dependencies: "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/jest": ^29.0.0 "@types/react": ^16.13.1 || ^17.0.0 - msw: ^1.0.0 react-ga4: ^2.0.0 - react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -4532,23 +4434,14 @@ __metadata: dependencies: "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" - "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - msw: ^1.0.0 react-ga: ^3.3.0 - react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -4562,17 +4455,12 @@ __metadata: dependencies: "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" - "@backstage/test-utils": "workspace:^" "@newrelic/browser-agent": ^1.236.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 - msw: ^1.0.0 - react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 languageName: unknown @@ -4594,7 +4482,6 @@ __metadata: "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 cross-fetch: ^4.0.0 msw: ^1.0.0 @@ -4636,7 +4523,6 @@ __metadata: "@backstage/plugin-catalog": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@graphiql/react": ^0.20.0 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 @@ -4647,14 +4533,11 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 "@types/swagger-ui-react": ^4.18.0 - cross-fetch: ^4.0.0 graphiql: 3.0.10 graphql: ^16.0.0 graphql-config: ^5.0.2 graphql-ws: ^5.4.1 isomorphic-form-data: ^2.0.0 - msw: ^1.0.0 - react-use: ^17.2.4 swagger-ui-react: ^5.0.0 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -4669,21 +4552,14 @@ __metadata: dependencies: "@apollo/explorer": ^3.0.0 "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - msw: ^1.0.0 - react-use: ^17.2.4 use-deep-compare-effect: ^1.8.1 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -4715,7 +4591,6 @@ __metadata: knex: ^3.0.0 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^1.0.0 node-fetch: ^2.6.7 supertest: ^6.1.3 winston: ^3.2.1 @@ -4738,7 +4613,6 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-auth-backend-module-atlassian-provider@workspace:plugins/auth-backend-module-atlassian-provider" dependencies: - "@backstage/backend-common": "workspace:^" "@backstage/backend-defaults": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" @@ -4764,8 +4638,6 @@ __metadata: "@backstage/types": "workspace:^" express: ^4.18.2 google-auth-library: ^8.0.0 - msw: ^1.0.0 - supertest: ^6.1.3 languageName: unknown linkType: soft @@ -4773,7 +4645,6 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-auth-backend-module-github-provider@workspace:plugins/auth-backend-module-github-provider" dependencies: - "@backstage/backend-common": "workspace:^" "@backstage/backend-defaults": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" @@ -4789,7 +4660,6 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-auth-backend-module-gitlab-provider@workspace:plugins/auth-backend-module-gitlab-provider" dependencies: - "@backstage/backend-common": "workspace:^" "@backstage/backend-defaults": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" @@ -4814,7 +4684,6 @@ __metadata: "@backstage/plugin-auth-node": "workspace:^" "@types/passport-google-oauth20": ^2.0.3 google-auth-library: ^8.0.0 - msw: ^1.0.0 passport-google-oauth20: ^2.0.0 supertest: ^6.1.3 languageName: unknown @@ -4824,7 +4693,6 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-auth-backend-module-microsoft-provider@workspace:plugins/auth-backend-module-microsoft-provider" dependencies: - "@backstage/backend-common": "workspace:^" "@backstage/backend-defaults": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" @@ -4847,14 +4715,12 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-auth-backend-module-oauth2-provider@workspace:plugins/auth-backend-module-oauth2-provider" dependencies: - "@backstage/backend-common": "workspace:^" "@backstage/backend-defaults": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" "@backstage/cli": "workspace:^" "@backstage/plugin-auth-backend": "workspace:^" "@backstage/plugin-auth-node": "workspace:^" - express: ^4.18.2 passport: ^0.7.0 passport-oauth2: ^1.6.1 supertest: ^6.3.3 @@ -4865,7 +4731,6 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-auth-backend-module-oauth2-proxy-provider@workspace:plugins/auth-backend-module-oauth2-proxy-provider" dependencies: - "@backstage/backend-common": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" "@backstage/cli": "workspace:^" @@ -4879,7 +4744,6 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-auth-backend-module-okta-provider@workspace:plugins/auth-backend-module-okta-provider" dependencies: - "@backstage/backend-common": "workspace:^" "@backstage/backend-defaults": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" @@ -4897,7 +4761,6 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-auth-backend-module-pinniped-provider@workspace:plugins/auth-backend-module-pinniped-provider" dependencies: - "@backstage/backend-common": "workspace:^" "@backstage/backend-defaults": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" @@ -4907,7 +4770,6 @@ __metadata: "@backstage/plugin-auth-node": "workspace:^" cookie-parser: ^1.4.6 express: ^4.18.2 - express-promise-router: ^4.1.1 express-session: ^1.17.3 jose: ^4.14.6 luxon: ^3.4.3 @@ -4922,7 +4784,6 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-auth-backend-module-vmware-cloud-provider@workspace:plugins/auth-backend-module-vmware-cloud-provider" dependencies: - "@backstage/backend-common": "workspace:^" "@backstage/backend-defaults": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" @@ -4963,7 +4824,6 @@ __metadata: "@backstage/plugin-auth-backend-module-okta-provider": "workspace:^" "@backstage/plugin-auth-node": "workspace:^" "@backstage/plugin-catalog-node": "workspace:^" - "@backstage/types": "workspace:^" "@google-cloud/firestore": ^7.0.0 "@types/body-parser": ^1.19.0 "@types/cookie-parser": ^1.4.2 @@ -5041,7 +4901,7 @@ __metadata: supertest: ^6.1.3 uuid: ^8.0.0 winston: ^3.2.1 - zod: ^3.21.4 + zod: ^3.22.4 zod-to-json-schema: ^3.21.4 languageName: unknown linkType: soft @@ -5061,12 +4921,11 @@ __metadata: "@backstage/plugin-catalog-node": "workspace:^" "@types/express": ^4.17.6 "@types/supertest": ^2.0.8 - azure-devops-node-api: ^11.0.1 + azure-devops-node-api: ^12.0.0 express: ^4.17.1 express-promise-router: ^4.1.0 lodash: ^4.17.21 mime-types: ^2.1.27 - msw: ^1.0.0 p-limit: ^3.1.0 supertest: ^6.1.6 winston: ^3.2.1 @@ -5088,7 +4947,6 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" @@ -5096,18 +4954,14 @@ __metadata: "@backstage/plugin-azure-devops-common": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 humanize-duration: ^3.27.0 luxon: ^3.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -5131,7 +4985,6 @@ __metadata: "@types/supertest": ^2.0.8 express: ^4.17.1 express-promise-router: ^4.1.0 - msw: ^1.0.0 node-fetch: ^2.6.7 winston: ^3.2.1 yn: ^4.0.0 @@ -5152,21 +5005,18 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/plugin-azure-sites-common": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 luxon: ^3.0.0 msw: ^1.0.0 @@ -5194,7 +5044,6 @@ __metadata: "@types/express": ^4.17.6 badge-maker: ^3.3.0 cors: ^2.8.5 - cross-fetch: ^4.0.0 express: ^4.17.1 express-promise-router: ^4.1.0 knex: ^3.0.0 @@ -5212,17 +5061,13 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/jest-dom": ^6.0.0 "@types/react": ^16.13.1 || ^17.0.0 react-use: ^17.2.4 @@ -5242,7 +5087,6 @@ __metadata: "@backstage/backend-test-utils": "workspace:^" "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" - "@backstage/errors": "workspace:^" "@backstage/plugin-auth-node": "workspace:^" "@types/express": ^4.17.6 express: ^4.17.1 @@ -5265,7 +5109,6 @@ __metadata: "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" - "@backstage/theme": "workspace:^" "@date-io/luxon": 1.x "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 @@ -5309,7 +5152,6 @@ __metadata: "@backstage/dev-utils": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -5356,11 +5198,8 @@ __metadata: "@backstage/plugin-catalog-common": "workspace:^" "@backstage/plugin-catalog-node": "workspace:^" "@backstage/plugin-kubernetes-common": "workspace:^" - "@backstage/types": "workspace:^" - "@types/lodash": ^4.14.151 aws-sdk-client-mock: ^3.0.0 aws-sdk-client-mock-jest: ^3.0.0 - lodash: ^4.17.21 luxon: ^3.0.0 p-limit: ^3.0.2 uuid: ^8.0.0 @@ -5377,16 +5216,11 @@ __metadata: "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-tasks": "workspace:^" "@backstage/backend-test-utils": "workspace:^" - "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" - "@backstage/errors": "workspace:^" "@backstage/integration": "workspace:^" "@backstage/plugin-catalog-common": "workspace:^" "@backstage/plugin-catalog-node": "workspace:^" - "@backstage/types": "workspace:^" - "@types/lodash": ^4.14.151 - lodash: ^4.17.21 luxon: ^3.0.0 msw: ^1.0.0 node-fetch: ^2.6.7 @@ -5408,17 +5242,12 @@ __metadata: "@backstage/config": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-node": "workspace:^" - "@backstage/test-utils": "workspace:^" "@types/express": "*" "@types/supertest": ^2.0.8 cross-fetch: ^4.0.0 - express: ^4.17.1 - express-promise-router: ^4.1.0 lodash: ^4.17.21 - msw: ^1.0.0 openapi-merge: ^1.3.2 openapi3-ts: ^3.1.2 - supertest: ^6.2.4 uuid: ^9.0.0 yn: ^4.0.0 languageName: unknown @@ -5477,16 +5306,11 @@ __metadata: dependencies: "@backstage/backend-common": "workspace:^" "@backstage/backend-test-utils": "workspace:^" - "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" - "@backstage/errors": "workspace:^" "@backstage/integration": "workspace:^" "@backstage/plugin-bitbucket-cloud-common": "workspace:^" "@backstage/plugin-catalog-node": "workspace:^" - "@backstage/types": "workspace:^" - "@types/lodash": ^4.14.151 - lodash: ^4.17.21 msw: ^1.0.0 node-fetch: ^2.6.7 winston: ^3.2.1 @@ -5519,7 +5343,6 @@ __metadata: "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-tasks": "workspace:^" "@backstage/backend-test-utils": "workspace:^" - "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" "@backstage/errors": "workspace:^" @@ -5732,7 +5555,6 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-catalog-backend-module-scaffolder-entity-model@workspace:plugins/catalog-backend-module-scaffolder-entity-model" dependencies: - "@backstage/backend-common": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" "@backstage/catalog-model": "workspace:^" @@ -5809,11 +5631,11 @@ __metadata: winston: ^3.2.1 yaml: ^2.0.0 yn: ^4.0.0 - zod: ^3.21.4 + zod: ^3.22.4 languageName: unknown linkType: soft -"@backstage/plugin-catalog-common@^1.0.10, @backstage/plugin-catalog-common@^1.0.18, @backstage/plugin-catalog-common@workspace:^, @backstage/plugin-catalog-common@workspace:plugins/catalog-common": +"@backstage/plugin-catalog-common@^1.0.10, @backstage/plugin-catalog-common@^1.0.19, @backstage/plugin-catalog-common@workspace:^, @backstage/plugin-catalog-common@workspace:plugins/catalog-common": version: 0.0.0-use.local resolution: "@backstage/plugin-catalog-common@workspace:plugins/catalog-common" dependencies: @@ -5838,7 +5660,6 @@ __metadata: "@backstage/plugin-catalog": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@backstage/types": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 @@ -5907,7 +5728,6 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-catalog-node@workspace:plugins/catalog-node" dependencies: - "@backstage/backend-common": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" "@backstage/catalog-client": "workspace:^" @@ -5922,20 +5742,20 @@ __metadata: linkType: soft "@backstage/plugin-catalog-react@npm:^1.2.4, @backstage/plugin-catalog-react@npm:^1.9.1": - version: 1.9.1 - resolution: "@backstage/plugin-catalog-react@npm:1.9.1" + version: 1.9.2 + resolution: "@backstage/plugin-catalog-react@npm:1.9.2" dependencies: - "@backstage/catalog-client": ^1.4.6 + "@backstage/catalog-client": ^1.5.0 "@backstage/catalog-model": ^1.4.3 - "@backstage/core-components": ^0.13.8 - "@backstage/core-plugin-api": ^1.8.0 + "@backstage/core-components": ^0.13.9 + "@backstage/core-plugin-api": ^1.8.1 "@backstage/errors": ^1.2.3 - "@backstage/frontend-plugin-api": ^0.3.0 - "@backstage/integration-react": ^1.1.21 - "@backstage/plugin-catalog-common": ^1.0.18 - "@backstage/plugin-permission-common": ^0.7.10 - "@backstage/plugin-permission-react": ^0.4.17 - "@backstage/theme": ^0.4.4 + "@backstage/frontend-plugin-api": ^0.4.0 + "@backstage/integration-react": ^1.1.22 + "@backstage/plugin-catalog-common": ^1.0.19 + "@backstage/plugin-permission-common": ^0.7.11 + "@backstage/plugin-permission-react": ^0.4.18 + "@backstage/theme": ^0.5.0 "@backstage/types": ^1.1.1 "@backstage/version-bridge": ^1.0.7 "@material-ui/core": ^4.12.2 @@ -5954,7 +5774,7 @@ __metadata: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: aa57e828a161db545353d06460ec62f13fa6ca9e44d378e903a8ce9bbbc24fb22dfe9ab264f4e8150ef7543afe26ee887afe7a305670b79e0818b9d8d098550e + checksum: e363db83bb85a6dac23616104aa52b019c4f32341fb757c40cf0321ad12427ffcad647b54b38d2d47a7299571e95c2cd226e01c6f9dde585d5377a4dc95a1df6 languageName: node linkType: hard @@ -5976,7 +5796,6 @@ __metadata: "@backstage/plugin-permission-react": "workspace:^" "@backstage/plugin-scaffolder-common": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@backstage/types": "workspace:^" "@backstage/version-bridge": "workspace:^" "@material-ui/core": ^4.12.2 @@ -6010,21 +5829,16 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.9.13 "@material-ui/icons": ^4.9.1 "@material-ui/lab": ^4.0.0-alpha.60 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -6056,7 +5870,6 @@ __metadata: "@backstage/plugin-search-common": "workspace:^" "@backstage/plugin-search-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@backstage/types": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 @@ -6135,28 +5948,18 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 - "@testing-library/dom": ^9.0.0 - "@testing-library/jest-dom": ^6.0.0 - "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/humanize-duration": ^3.25.1 "@types/react": ^16.13.1 || ^17.0.0 circleci-api: ^4.0.0 - cross-fetch: ^4.0.0 humanize-duration: ^3.27.0 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -6171,24 +5974,18 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^4.0.0 luxon: ^3.0.0 - msw: ^1.0.0 qs: ^6.9.4 react-use: ^17.2.4 peerDependencies: @@ -6209,20 +6006,15 @@ __metadata: "@backstage/dev-utils": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/humanize-duration": ^3.27.1 "@types/luxon": ^3.0.0 "@types/react": ^16.13.1 || ^17.0.0 humanize-duration: ^3.27.1 luxon: ^3.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -6252,7 +6044,6 @@ __metadata: express: ^4.17.1 express-promise-router: ^4.1.0 knex: ^3.0.0 - msw: ^1.0.0 supertest: ^6.1.6 uuid: ^8.3.2 winston: ^3.2.1 @@ -6267,15 +6058,11 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -6283,13 +6070,11 @@ __metadata: "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/highlightjs": ^10.1.0 "@types/react": ^16.13.1 || ^17.0.0 "@types/recharts": ^1.8.15 highlight.js: ^10.6.0 luxon: ^3.0.0 - msw: ^1.0.0 react-use: ^17.2.4 recharts: ^2.5.0 peerDependencies: @@ -6311,14 +6096,11 @@ __metadata: "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 msw: ^1.0.0 rc-progress: 3.5.1 @@ -6335,14 +6117,10 @@ __metadata: resolution: "@backstage/plugin-config-schema@workspace:plugins/config-schema" dependencies: "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@backstage/types": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 @@ -6350,10 +6128,8 @@ __metadata: "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 jsonschema: ^1.2.6 - msw: ^1.0.0 react-use: ^17.2.4 zen-observable: ^0.10.0 peerDependencies: @@ -6401,10 +6177,8 @@ __metadata: "@types/yup": ^0.29.13 canvas: ^2.10.2 classnames: ^2.2.6 - cross-fetch: ^4.0.0 history: ^5.0.0 luxon: ^3.0.0 - msw: ^1.0.0 pluralize: ^8.0.0 qs: ^6.9.4 react-use: ^17.2.4 @@ -6446,7 +6220,6 @@ __metadata: express-promise-router: ^4.1.0 fs-extra: ^10.0.0 lodash: ^4.17.21 - msw: ^1.0.0 node-fetch: ^2.6.7 ping: ^0.4.1 semver: ^7.5.3 @@ -6471,24 +6244,17 @@ __metadata: resolution: "@backstage/plugin-devtools@workspace:plugins/devtools" dependencies: "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/plugin-devtools-common": "workspace:^" "@backstage/plugin-permission-react": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" - "@backstage/types": "workspace:^" "@material-ui/core": ^4.9.13 "@material-ui/icons": ^4.9.1 "@material-ui/lab": ^4.0.0-alpha.57 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 - cross-fetch: ^4.0.0 - msw: ^1.0.0 react-json-view: ^1.21.3 react-use: ^17.2.4 peerDependencies: @@ -6510,17 +6276,11 @@ __metadata: "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - express: ^4.18.1 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: "@backstage/plugin-catalog-react": "workspace:^" @@ -6548,7 +6308,6 @@ __metadata: express: ^4.18.1 express-promise-router: ^4.1.0 knex: ^3.0.0 - msw: ^1.0.0 node-fetch: ^2.6.7 supertest: ^6.2.4 winston: ^3.2.1 @@ -6570,18 +6329,14 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" - "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/plugin-entity-feedback-common": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.9.13 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 @@ -6603,15 +6358,12 @@ __metadata: "@backstage/catalog-client": "workspace:^" "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-common": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@codemirror/language": ^6.0.0 "@codemirror/legacy-modes": ^6.1.0 "@codemirror/view": ^6.0.0 @@ -6622,11 +6374,9 @@ __metadata: "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 "@uiw/react-codemirror": ^4.9.3 lodash: ^4.17.21 - msw: ^1.0.0 react-use: ^17.2.4 yaml: ^2.0.0 peerDependencies: @@ -6666,7 +6416,6 @@ __metadata: "@backstage/cli": "workspace:^" "@backstage/plugin-events-backend-test-utils": "workspace:^" "@backstage/plugin-events-node": "workspace:^" - supertest: ^6.1.3 winston: ^3.2.1 languageName: unknown linkType: soft @@ -6680,7 +6429,6 @@ __metadata: "@backstage/cli": "workspace:^" "@backstage/plugin-events-backend-test-utils": "workspace:^" "@backstage/plugin-events-node": "workspace:^" - supertest: ^6.1.3 winston: ^3.2.1 languageName: unknown linkType: soft @@ -6694,7 +6442,6 @@ __metadata: "@backstage/cli": "workspace:^" "@backstage/plugin-events-backend-test-utils": "workspace:^" "@backstage/plugin-events-node": "workspace:^" - supertest: ^6.1.3 winston: ^3.2.1 languageName: unknown linkType: soft @@ -6710,7 +6457,6 @@ __metadata: "@backstage/plugin-events-backend-test-utils": "workspace:^" "@backstage/plugin-events-node": "workspace:^" "@octokit/webhooks-methods": ^3.0.0 - supertest: ^6.1.3 winston: ^3.2.1 languageName: unknown linkType: soft @@ -6725,7 +6471,6 @@ __metadata: "@backstage/config": "workspace:^" "@backstage/plugin-events-backend-test-utils": "workspace:^" "@backstage/plugin-events-node": "workspace:^" - supertest: ^6.1.3 winston: ^3.2.1 languageName: unknown linkType: soft @@ -6776,14 +6521,12 @@ __metadata: "@backstage/config": "workspace:^" "@backstage/plugin-explore-common": "workspace:^" "@backstage/plugin-search-backend-module-explore": "workspace:^" - "@backstage/plugin-search-common": "workspace:^" "@backstage/types": "workspace:^" "@types/express": "*" "@types/supertest": ^2.0.8 express: ^4.18.1 express-promise-router: ^4.1.0 lodash: ^4.17.21 - msw: ^1.0.0 node-fetch: ^2.6.7 supertest: ^6.2.4 winston: ^3.2.1 @@ -6805,16 +6548,11 @@ __metadata: dependencies: "@backstage/cli": "workspace:^" "@backstage/core-plugin-api": "workspace:^" - "@backstage/dev-utils": "workspace:^" "@backstage/plugin-explore-common": "workspace:^" - "@backstage/test-utils": "workspace:^" "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^4.0.0 - msw: ^1.0.0 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -6841,17 +6579,13 @@ __metadata: "@backstage/plugin-search-common": "workspace:^" "@backstage/plugin-search-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 classnames: ^2.2.6 - cross-fetch: ^4.0.0 msw: ^1.0.0 pluralize: ^8.0.0 react-use: ^17.2.4 @@ -6874,17 +6608,13 @@ __metadata: "@backstage/dev-utils": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 luxon: ^3.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -6906,14 +6636,11 @@ __metadata: "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 cross-fetch: ^4.0.0 luxon: ^3.0.0 @@ -6932,32 +6659,26 @@ __metadata: resolution: "@backstage/plugin-gcalendar@workspace:plugins/gcalendar" dependencies: "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@maxim_mazurok/gapi.client.calendar": ^3.0.20220408 "@tanstack/react-query": ^4.1.3 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/dompurify": ^2.3.3 "@types/react": ^16.13.1 || ^17.0.0 "@types/sanitize-html": ^2.6.2 classnames: ^2.3.1 - cross-fetch: ^4.0.0 dompurify: ^2.3.6 lodash: ^4.17.21 luxon: ^3.0.0 material-ui-popup-state: ^1.9.3 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -6971,23 +6692,15 @@ __metadata: resolution: "@backstage/plugin-gcp-projects@workspace:plugins/gcp-projects" dependencies: "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@react-hookz/web": ^23.0.0 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^4.0.0 - msw: ^1.0.0 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7005,8 +6718,6 @@ __metadata: "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/integration": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -7014,11 +6725,9 @@ __metadata: "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 "@types/recharts": ^1.8.15 luxon: ^3.0.0 - msw: ^1.0.0 qs: ^6.10.1 react-use: ^17.2.4 recharts: ^2.5.0 @@ -7043,7 +6752,6 @@ __metadata: "@backstage/integration-react": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -7051,12 +6759,9 @@ __metadata: "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^4.0.0 git-url-parse: ^13.0.0 luxon: ^3.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7080,15 +6785,12 @@ __metadata: "@backstage/integration-react": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@octokit/graphql": ^5.0.0 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 luxon: ^3.0.0 msw: ^1.0.0 @@ -7106,7 +6808,6 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" @@ -7114,18 +6815,15 @@ __metadata: "@backstage/integration": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.4 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 luxon: ^3.0.0 - msw: ^1.0.0 - octokit: ^2.0.4 + octokit: ^3.0.0 react-use: ^17.4.0 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7142,11 +6840,9 @@ __metadata: "@backstage/cli": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" - "@backstage/dev-utils": "workspace:^" "@backstage/integration": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -7154,12 +6850,9 @@ __metadata: "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 luxon: ^3.0.0 - msw: ^1.0.0 p-limit: ^4.0.0 - react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7172,23 +6865,18 @@ __metadata: resolution: "@backstage/plugin-gitops-profiles@workspace:plugins/gitops-profiles" dependencies: "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^4.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7210,7 +6898,6 @@ __metadata: "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -7223,7 +6910,6 @@ __metadata: "@types/react": ^16.13.1 || ^17.0.0 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^1.0.0 qs: ^6.10.1 react-use: ^17.2.4 peerDependencies: @@ -7238,28 +6924,21 @@ __metadata: resolution: "@backstage/plugin-graphiql@workspace:plugins/graphiql" dependencies: "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-compat-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/frontend-plugin-api": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/codemirror": ^5.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^4.0.0 graphiql: ^3.0.6 graphql: ^16.0.0 graphql-ws: ^5.4.1 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7273,22 +6952,15 @@ __metadata: resolution: "@backstage/plugin-graphql-voyager@workspace:plugins/graphql-voyager" dependencies: "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" - "@backstage/dev-utils": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 graphql-voyager: ^1.0.0-rc.31 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7298,20 +6970,20 @@ __metadata: linkType: soft "@backstage/plugin-home-react@npm:^0.1.5": - version: 0.1.5 - resolution: "@backstage/plugin-home-react@npm:0.1.5" + version: 0.1.6 + resolution: "@backstage/plugin-home-react@npm:0.1.6" dependencies: - "@backstage/core-components": ^0.13.8 - "@backstage/core-plugin-api": ^1.8.0 + "@backstage/core-components": ^0.13.9 + "@backstage/core-plugin-api": ^1.8.1 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@rjsf/utils": 5.13.6 + "@rjsf/utils": 5.15.0 "@types/react": ^16.13.1 || ^17.0.0 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: 9ea922ec0ade7f12721552266a5e0513778a42594039a05819ca6ab7c253b84bd281c302c0a56e5c49f895dbba8ac404ab8521b8493b5908fe8af01cbbda31d6 + checksum: ecd2d6d6b2f0793bb0180b07ec7559230361eb3174d7a962bc08fabc2c29bf21f9705ae5b9a6977005ecac4009dc5806b0d8ecac67eecb6507141764a96d1def languageName: node linkType: hard @@ -7320,22 +6992,13 @@ __metadata: resolution: "@backstage/plugin-home-react@workspace:plugins/home-react" dependencies: "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" - "@backstage/dev-utils": "workspace:^" - "@backstage/test-utils": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@rjsf/utils": 5.15.0 - "@testing-library/dom": ^9.0.0 - "@testing-library/jest-dom": ^6.0.0 - "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 "@types/react-grid-layout": ^1.3.2 - cross-fetch: ^4.0.0 - msw: ^1.0.0 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7350,7 +7013,6 @@ __metadata: "@backstage/catalog-client": "workspace:^" "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" "@backstage/core-app-api": "workspace:^" "@backstage/core-compat-api": "workspace:^" "@backstage/core-components": "workspace:^" @@ -7361,7 +7023,6 @@ __metadata: "@backstage/plugin-home-react": "workspace:^" "@backstage/test-utils": "workspace:^" "@backstage/theme": "workspace:^" - "@backstage/types": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -7377,11 +7038,10 @@ __metadata: "@types/react-grid-layout": ^1.3.2 lodash: ^4.17.21 luxon: ^3.4.3 - msw: ^1.0.0 react-grid-layout: 1.3.4 react-resizable: ^3.0.4 react-use: ^17.2.4 - zod: ^3.21.4 + zod: ^3.22.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7395,14 +7055,11 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@date-io/luxon": 1.x "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 @@ -7411,11 +7068,9 @@ __metadata: "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 humanize-duration: ^3.26.0 luxon: ^3.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7446,9 +7101,7 @@ __metadata: express: ^4.17.1 express-promise-router: ^4.1.0 jenkins: ^1.0.0 - msw: ^1.0.0 node-fetch: ^2.6.7 - supertest: ^6.1.6 winston: ^3.2.1 yn: ^4.0.0 languageName: unknown @@ -7470,7 +7123,6 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" @@ -7478,19 +7130,14 @@ __metadata: "@backstage/plugin-catalog-react": "workspace:^" "@backstage/plugin-jenkins-common": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 "@types/testing-library__jest-dom": ^5.9.1 - cross-fetch: ^4.0.0 luxon: ^3.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7505,7 +7152,6 @@ __metadata: dependencies: "@backstage/backend-common": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" - "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" "@backstage/errors": "workspace:^" @@ -7528,24 +7174,18 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 jest-when: ^3.1.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7576,6 +7216,8 @@ __metadata: "@backstage/plugin-catalog-node": "workspace:^" "@backstage/plugin-kubernetes-common": "workspace:^" "@backstage/plugin-kubernetes-node": "workspace:^" + "@backstage/plugin-permission-backend": "workspace:^" + "@backstage/plugin-permission-backend-module-allow-all-policy": "workspace:^" "@backstage/plugin-permission-common": "workspace:^" "@backstage/plugin-permission-node": "workspace:^" "@backstage/types": "workspace:^" @@ -7612,26 +7254,19 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" - "@backstage/dev-utils": "workspace:^" - "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/plugin-kubernetes-common": "workspace:^" "@backstage/plugin-kubernetes-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@kubernetes-models/apimachinery": ^1.1.0 "@kubernetes-models/base": ^4.0.1 "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 "@types/react": ^16.13.1 || ^17.0.0 cronstrue: ^2.2.0 @@ -7639,7 +7274,6 @@ __metadata: kubernetes-models: ^4.1.0 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7654,16 +7288,12 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" - "@backstage/errors": "workspace:^" "@backstage/plugin-permission-common": "workspace:^" - "@backstage/test-utils": "workspace:^" "@backstage/types": "workspace:^" "@kubernetes/client-node": 0.20.0 kubernetes-models: ^4.3.1 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^1.3.1 languageName: unknown linkType: soft @@ -7675,6 +7305,7 @@ __metadata: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" "@backstage/plugin-kubernetes-common": "workspace:^" + "@backstage/types": "workspace:^" languageName: unknown linkType: soft @@ -7722,37 +7353,26 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" - "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/plugin-kubernetes-common": "workspace:^" "@backstage/plugin-kubernetes-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" - "@backstage/types": "workspace:^" "@kubernetes-models/apimachinery": ^1.1.0 "@kubernetes-models/base": ^4.0.1 "@kubernetes/client-node": 0.20.0 "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 cronstrue: ^2.2.0 - jest-websocket-mock: ^2.4.1 js-yaml: ^4.0.0 kubernetes-models: ^4.1.0 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^1.0.0 - react-use: ^17.2.4 xterm: ^5.2.1 xterm-addon-attach: ^0.9.0 xterm-addon-fit: ^0.8.0 @@ -7796,7 +7416,6 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" @@ -7804,14 +7423,12 @@ __metadata: "@backstage/plugin-catalog-react": "workspace:^" "@backstage/plugin-lighthouse-common": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 msw: ^1.0.0 react-use: ^17.2.4 @@ -7848,7 +7465,6 @@ __metadata: knex: ^3.0.0 linguist-js: ^2.5.3 luxon: ^2.0.2 - msw: ^1.0.0 node-fetch: ^2.6.7 supertest: ^6.2.4 uuid: ^8.3.2 @@ -7871,25 +7487,19 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/plugin-linguist-common": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.9.13 - "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 luxon: ^2.0.2 - msw: ^1.0.0 react-use: ^17.2.4 slugify: ^1.6.4 peerDependencies: @@ -7904,13 +7514,10 @@ __metadata: resolution: "@backstage/plugin-microsoft-calendar@workspace:plugins/microsoft-calendar" dependencies: "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@microsoft/microsoft-graph-types": ^2.25.0 @@ -7918,14 +7525,12 @@ __metadata: "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 classnames: ^2.3.1 dompurify: ^2.3.6 lodash: ^4.17.21 luxon: ^3.0.0 material-ui-popup-state: ^1.9.3 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7948,7 +7553,6 @@ __metadata: "@backstage/test-utils": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/jest-dom": ^6.0.0 "@types/react": ^16.13.1 || ^17.0.0 react-use: ^17.2.4 @@ -7963,24 +7567,18 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-newrelic@workspace:plugins/newrelic" dependencies: - "@backstage/backend-test-utils": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/parse-link-header": ^2.0.1 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^4.0.0 msw: ^1.2.3 parse-link-header: ^2.0.0 react-use: ^17.2.4 @@ -8004,7 +7602,6 @@ __metadata: "@types/supertest": ^2.0.8 express: ^4.17.1 express-promise-router: ^4.1.0 - msw: ^1.0.0 node-fetch: ^2.6.7 supertest: ^6.2.4 winston: ^3.2.1 @@ -8018,24 +7615,17 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.9.13 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": ^4.0.0-alpha.60 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 cross-fetch: ^4.0.0 luxon: ^3.3.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -8050,22 +7640,15 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.9.13 - "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -8079,28 +7662,19 @@ __metadata: resolution: "@backstage/plugin-opencost@workspace:plugins/opencost" dependencies: "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@date-io/luxon": 1.x "@material-ui/core": ^4.9.13 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": ^4.0.0-alpha.60 "@material-ui/pickers": ^3.3.10 "@material-ui/styles": ^4.11.5 "@testing-library/jest-dom": ^6.0.0 - "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 axios: ^1.4.0 - cross-fetch: ^4.0.0 date-fns: ^2.30.0 lodash: ^4.17.21 - msw: ^1.0.0 - react-use: ^17.2.4 recharts: ^2.5.0 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -8118,10 +7692,8 @@ __metadata: "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" - "@backstage/dev-utils": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -8130,7 +7702,6 @@ __metadata: "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -8155,7 +7726,6 @@ __metadata: "@backstage/plugin-catalog-react": "workspace:^" "@backstage/plugin-permission-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@backstage/types": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 @@ -8166,7 +7736,6 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 lodash: ^4.17.21 - msw: ^1.0.0 p-limit: ^3.1.0 pluralize: ^8.0.0 qs: ^6.10.1 @@ -8192,18 +7761,14 @@ __metadata: "@backstage/plugin-catalog-react": "workspace:^" "@backstage/plugin-home-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - classnames: ^2.2.6 luxon: ^3.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -8224,7 +7789,6 @@ __metadata: "@types/supertest": ^2.0.8 express: ^4.17.1 express-promise-router: ^4.1.0 - msw: ^1.0.0 node-fetch: ^2.6.7 supertest: ^6.1.6 winston: ^3.2.1 @@ -8238,25 +7802,17 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" - "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/luxon": ^3.0.0 "@types/react": ^16.13.1 || ^17.0.0 luxon: ^3.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -8269,7 +7825,6 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-permission-backend-module-allow-all-policy@workspace:plugins/permission-backend-module-policy-allow-all" dependencies: - "@backstage/backend-common": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" "@backstage/cli": "workspace:^" @@ -8303,11 +7858,11 @@ __metadata: supertest: ^6.1.6 winston: ^3.2.1 yn: ^4.0.0 - zod: ^3.21.4 + zod: ^3.22.4 languageName: unknown linkType: soft -"@backstage/plugin-permission-common@^0.7.10, @backstage/plugin-permission-common@workspace:^, @backstage/plugin-permission-common@workspace:plugins/permission-common": +"@backstage/plugin-permission-common@^0.7.11, @backstage/plugin-permission-common@workspace:^, @backstage/plugin-permission-common@workspace:plugins/permission-common": version: 0.0.0-use.local resolution: "@backstage/plugin-permission-common@workspace:plugins/permission-common" dependencies: @@ -8318,7 +7873,7 @@ __metadata: cross-fetch: ^4.0.0 msw: ^1.0.0 uuid: ^8.0.0 - zod: ^3.21.4 + zod: ^3.22.4 languageName: unknown linkType: soft @@ -8340,18 +7895,18 @@ __metadata: express-promise-router: ^4.1.0 msw: ^1.0.0 supertest: ^6.1.3 - zod: ^3.21.4 + zod: ^3.22.4 zod-to-json-schema: ^3.20.4 languageName: unknown linkType: soft -"@backstage/plugin-permission-react@npm:^0.4.17": - version: 0.4.17 - resolution: "@backstage/plugin-permission-react@npm:0.4.17" +"@backstage/plugin-permission-react@npm:^0.4.18": + version: 0.4.18 + resolution: "@backstage/plugin-permission-react@npm:0.4.18" dependencies: "@backstage/config": ^1.1.1 - "@backstage/core-plugin-api": ^1.8.0 - "@backstage/plugin-permission-common": ^0.7.10 + "@backstage/core-plugin-api": ^1.8.1 + "@backstage/plugin-permission-common": ^0.7.11 "@types/react": ^16.13.1 || ^17.0.0 cross-fetch: ^4.0.0 react-use: ^17.2.4 @@ -8360,7 +7915,7 @@ __metadata: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: 6baa30e83b68d27fc06411453100cc5fe98895021fe5a3db88c677e68430a8561744bc4581205e20f8326394e749b5e2ff19bb8037ecc86af6cae75124498111 + checksum: da1386b814fcb0b7350cebc1975d88cdf4c97a474f292a56d4e15ce63bb25a54d34d17067865363fa051983d9fa5170afce6a38299bc7c3ab82f1e44c708b13b languageName: node linkType: hard @@ -8376,8 +7931,6 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^4.0.0 - react-use: ^17.2.4 swr: ^2.0.0 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -8407,13 +7960,12 @@ __metadata: express: ^4.17.1 express-promise-router: ^4.1.0 knex: ^3.0.0 - msw: ^1.0.0 node-fetch: ^2.6.7 supertest: ^6.1.3 uuid: ^8.2.0 winston: ^3.2.1 yn: ^4.0.0 - zod: ^3.21.4 + zod: ^3.22.4 languageName: unknown linkType: soft @@ -8445,14 +7997,12 @@ __metadata: "@backstage/plugin-search-common": "workspace:^" "@backstage/plugin-search-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 lodash: ^4.17.21 msw: ^1.0.0 @@ -8510,13 +8060,9 @@ __metadata: "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@material-ui/lab": ^4.0.0-alpha.57 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 msw: ^1.0.1 react-use: ^17.2.4 @@ -8558,24 +8104,18 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^4.0.0 lodash: ^4.17.21 - msw: ^1.0.0 react-sparklines: ^1.7.0 react-use: ^17.2.4 peerDependencies: @@ -8595,7 +8135,7 @@ __metadata: "@backstage/errors": "workspace:^" "@backstage/integration": "workspace:^" "@backstage/plugin-scaffolder-node": "workspace:^" - azure-devops-node-api: ^11.0.1 + azure-devops-node-api: ^12.0.0 yaml: ^2.0.0 languageName: unknown linkType: soft @@ -8628,7 +8168,6 @@ __metadata: "@backstage/errors": "workspace:^" "@backstage/integration": "workspace:^" "@backstage/plugin-scaffolder-node": "workspace:^" - "@backstage/types": "workspace:^" fs-extra: 10.1.0 git-url-parse: ^13.1.0 mock-fs: ^5.2.0 @@ -8655,7 +8194,6 @@ __metadata: "@types/fs-extra": ^9.0.1 command-exists: ^1.2.9 fs-extra: 10.1.0 - msw: ^1.0.0 winston: ^3.2.1 yn: ^4.0.0 languageName: unknown @@ -8695,7 +8233,7 @@ __metadata: jest-when: ^3.1.0 jsonschema: ^1.2.6 libsodium-wrappers: ^0.7.11 - octokit: ^2.0.0 + octokit: ^3.0.0 octokit-plugin-create-pull-request: ^3.10.0 winston: ^3.2.1 yaml: ^2.0.0 @@ -8717,7 +8255,7 @@ __metadata: "@gitbeaker/core": ^35.8.0 "@gitbeaker/node": ^35.8.0 yaml: ^2.0.0 - zod: ^3.21.4 + zod: ^3.22.4 languageName: unknown linkType: soft @@ -8763,7 +8301,6 @@ __metadata: dependencies: "@backstage/backend-common": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" "@backstage/plugin-scaffolder-node": "workspace:^" "@backstage/types": "workspace:^" winston: ^3.2.1 @@ -8826,7 +8363,7 @@ __metadata: winston: ^3.2.1 yaml: ^2.0.0 zen-observable: ^0.10.0 - zod: ^3.21.4 + zod: ^3.22.4 languageName: unknown linkType: soft @@ -8860,7 +8397,7 @@ __metadata: jsonschema: ^1.2.6 p-limit: ^3.1.0 winston: ^3.2.1 - zod: ^3.21.4 + zod: ^3.22.4 zod-to-json-schema: ^3.20.4 languageName: unknown linkType: soft @@ -8875,7 +8412,6 @@ __metadata: "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" - "@backstage/errors": "workspace:^" "@backstage/plugin-catalog": "workspace:^" "@backstage/plugin-catalog-common": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" @@ -8911,7 +8447,7 @@ __metadata: react-use: ^17.2.4 use-immer: ^0.9.0 zen-observable: ^0.10.0 - zod: ^3.21.4 + zod: ^3.22.4 zod-to-json-schema: ^3.20.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -8927,7 +8463,6 @@ __metadata: "@backstage/catalog-client": "workspace:^" "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" @@ -8942,7 +8477,6 @@ __metadata: "@backstage/plugin-scaffolder-common": "workspace:^" "@backstage/plugin-scaffolder-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@backstage/types": "workspace:^" "@codemirror/language": ^6.0.0 "@codemirror/legacy-modes": ^6.1.0 @@ -8978,7 +8512,7 @@ __metadata: react-use: ^17.2.4 yaml: ^2.0.0 zen-observable: ^0.10.0 - zod: ^3.21.4 + zod: ^3.22.4 zod-to-json-schema: ^3.20.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -9157,13 +8691,12 @@ __metadata: "@types/supertest": ^2.0.8 dataloader: ^2.0.0 express: ^4.17.1 - express-promise-router: ^4.1.0 lodash: ^4.17.21 qs: ^6.10.1 supertest: ^6.1.3 winston: ^3.2.1 yn: ^4.0.0 - zod: ^3.21.4 + zod: ^3.22.4 languageName: unknown linkType: soft @@ -9215,9 +8748,7 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-search@workspace:plugins/search" dependencies: - "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" "@backstage/core-app-api": "workspace:^" "@backstage/core-compat-api": "workspace:^" "@backstage/core-components": "workspace:^" @@ -9229,19 +8760,16 @@ __metadata: "@backstage/plugin-search-common": "workspace:^" "@backstage/plugin-search-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@backstage/types": "workspace:^" "@backstage/version-bridge": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 history: ^5.0.0 - msw: ^1.0.0 qs: ^6.9.4 react-use: ^17.2.4 peerDependencies: @@ -9257,27 +8785,20 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@date-io/core": ^1.3.13 "@material-table/core": ^3.1.0 "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/luxon": ^3.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^4.0.0 luxon: ^3.0.0 - msw: ^1.0.0 react-sparklines: ^1.7.0 react-use: ^17.2.4 peerDependencies: @@ -9292,7 +8813,6 @@ __metadata: resolution: "@backstage/plugin-shortcuts@workspace:plugins/shortcuts" dependencies: "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" @@ -9301,14 +8821,11 @@ __metadata: "@backstage/types": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 "@types/zen-observable": ^0.8.2 - msw: ^1.0.0 react-hook-form: ^7.12.2 react-use: ^17.2.4 uuid: ^8.3.2 @@ -9370,15 +8887,12 @@ __metadata: "@backstage/plugin-catalog-react": "workspace:^" "@backstage/plugin-sonarqube-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@material-ui/styles": ^4.10.0 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 cross-fetch: ^4.0.0 luxon: ^3.0.0 @@ -9404,19 +8918,15 @@ __metadata: "@backstage/dev-utils": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/luxon": ^3.0.0 "@types/react": ^16.13.1 || ^17.0.0 - classnames: ^2.2.6 luxon: ^3.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -9429,14 +8939,9 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-stack-overflow-backend@workspace:plugins/stack-overflow-backend" dependencies: - "@backstage/backend-common": "workspace:^" "@backstage/backend-test-utils": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" "@backstage/plugin-search-backend-module-stack-overflow-collator": "workspace:^" - "@backstage/plugin-search-backend-node": "workspace:^" - "@backstage/plugin-search-common": "workspace:^" - msw: ^1.0.0 node-fetch: ^2.6.7 qs: ^6.9.4 winston: ^3.2.1 @@ -9449,16 +8954,13 @@ __metadata: dependencies: "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" - "@backstage/dev-utils": "workspace:^" "@backstage/frontend-plugin-api": "workspace:^" "@backstage/plugin-home-react": "workspace:^" "@backstage/plugin-search-common": "workspace:^" "@backstage/plugin-search-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@testing-library/dom": ^9.0.0 @@ -9489,13 +8991,11 @@ __metadata: "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 msw: ^1.0.0 react-use: ^17.2.4 @@ -9512,7 +9012,6 @@ __metadata: dependencies: "@backstage/backend-common": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/plugin-tech-insights-common": "workspace:^" "@backstage/plugin-tech-insights-node": "workspace:^" @@ -9573,7 +9072,6 @@ __metadata: resolution: "@backstage/plugin-tech-insights-node@workspace:plugins/tech-insights-node" dependencies: "@backstage/backend-common": "workspace:^" - "@backstage/backend-tasks": "workspace:^" "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" "@backstage/plugin-tech-insights-common": "workspace:^" @@ -9590,15 +9088,12 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/plugin-tech-insights-common": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@backstage/types": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 @@ -9606,9 +9101,7 @@ __metadata: "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - msw: ^1.0.0 qs: ^6.9.4 react-use: ^17.2.4 peerDependencies: @@ -9623,7 +9116,6 @@ __metadata: resolution: "@backstage/plugin-tech-radar@workspace:plugins/tech-radar" dependencies: "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-compat-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" @@ -9631,10 +9123,8 @@ __metadata: "@backstage/frontend-plugin-api": "workspace:^" "@backstage/frontend-test-utils": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 @@ -9643,9 +9133,7 @@ __metadata: "@types/d3-force": ^3.0.0 "@types/react": ^16.13.1 || ^17.0.0 color: ^4.0.1 - cross-fetch: ^4.0.0 d3-force: ^3.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -9660,9 +9148,7 @@ __metadata: dependencies: "@backstage/cli": "workspace:^" "@backstage/core-app-api": "workspace:^" - "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" - "@backstage/dev-utils": "workspace:^" "@backstage/integration-react": "workspace:^" "@backstage/plugin-catalog": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" @@ -9670,16 +9156,9 @@ __metadata: "@backstage/plugin-techdocs": "workspace:^" "@backstage/plugin-techdocs-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" - "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - msw: ^1.0.0 - react-use: ^17.2.4 testing-library__dom: ^7.29.4-beta.1 peerDependencies: "@testing-library/react": ^12.1.3 || ^13.0.0 || ^14.0.0 @@ -9705,8 +9184,6 @@ __metadata: "@backstage/plugin-catalog-common": "workspace:^" "@backstage/plugin-permission-common": "workspace:^" "@backstage/plugin-search-backend-module-techdocs": "workspace:^" - "@backstage/plugin-search-backend-node": "workspace:^" - "@backstage/plugin-search-common": "workspace:^" "@backstage/plugin-techdocs-node": "workspace:^" "@types/dockerode": ^3.3.0 "@types/express": ^4.17.6 @@ -9729,29 +9206,22 @@ __metadata: resolution: "@backstage/plugin-techdocs-module-addons-contrib@workspace:plugins/techdocs-module-addons-contrib" dependencies: "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" - "@backstage/dev-utils": "workspace:^" "@backstage/integration": "workspace:^" "@backstage/integration-react": "workspace:^" "@backstage/plugin-techdocs-addons-test-utils": "workspace:^" "@backstage/plugin-techdocs-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@react-hookz/web": ^23.0.0 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 git-url-parse: ^13.0.0 - msw: ^1.0.0 photoswipe: ^5.3.7 - react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -9816,7 +9286,6 @@ __metadata: "@backstage/theme": "workspace:^" "@backstage/version-bridge": "workspace:^" "@material-ui/core": ^4.12.2 - "@material-ui/lab": 4.0.0-alpha.61 "@material-ui/styles": ^4.11.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 @@ -9867,13 +9336,11 @@ __metadata: "@types/event-source-polyfill": ^1.0.0 "@types/react": ^16.13.1 || ^17.0.0 canvas: ^2.10.2 - cross-fetch: ^4.0.0 dompurify: ^2.2.9 event-source-polyfill: 1.0.25 git-url-parse: ^13.0.0 jss: ~10.10.0 lodash: ^4.17.21 - msw: ^1.0.0 react-helmet: 6.1.0 react-use: ^17.2.4 peerDependencies: @@ -9900,9 +9367,7 @@ __metadata: "@types/express": ^4.17.6 "@types/supertest": ^2.0.8 express: ^4.17.1 - express-promise-router: ^4.1.0 leasot: ^12.0.0 - msw: ^1.0.0 supertest: ^6.1.3 winston: ^3.2.1 yn: ^4.0.0 @@ -9915,24 +9380,17 @@ __metadata: dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" - "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - msw: ^1.0.0 - react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -9947,7 +9405,6 @@ __metadata: "@backstage/backend-common": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" - "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" "@backstage/errors": "workspace:^" @@ -9989,7 +9446,6 @@ __metadata: "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^4.0.0 msw: ^1.0.0 react-use: ^17.2.4 zen-observable: ^0.10.0 @@ -10051,14 +9507,12 @@ __metadata: "@backstage/errors": "workspace:^" "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 msw: ^1.0.0 react-use: ^17.2.4 @@ -10069,18 +9523,34 @@ __metadata: languageName: unknown linkType: soft +"@backstage/plugin-visualizer@workspace:^, @backstage/plugin-visualizer@workspace:plugins/visualizer": + version: 0.0.0-use.local + resolution: "@backstage/plugin-visualizer@workspace:plugins/visualizer" + dependencies: + "@backstage/cli": "workspace:^" + "@backstage/core-components": "workspace:^" + "@backstage/core-plugin-api": "workspace:^" + "@backstage/frontend-plugin-api": "workspace:^" + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@types/react": ^16.13.1 || ^17.0.0 + peerDependencies: + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + languageName: unknown + linkType: soft + "@backstage/plugin-xcmetrics@workspace:plugins/xcmetrics": version: 0.0.0-use.local resolution: "@backstage/plugin-xcmetrics@workspace:plugins/xcmetrics" dependencies: "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -10092,7 +9562,6 @@ __metadata: "@types/react": ^16.13.1 || ^17.0.0 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^1.0.0 react-use: ^17.2.4 recharts: ^2.5.0 peerDependencies: @@ -10198,6 +9667,26 @@ __metadata: languageName: unknown linkType: soft +"@backstage/theme@^0.5.0, @backstage/theme@workspace:^, @backstage/theme@workspace:packages/theme": + version: 0.0.0-use.local + resolution: "@backstage/theme@workspace:packages/theme" + dependencies: + "@backstage/cli": "workspace:^" + "@emotion/react": ^11.10.5 + "@emotion/styled": ^11.10.5 + "@mui/material": ^5.12.2 + "@mui/styles": ^5.14.18 + "@testing-library/jest-dom": ^6.0.0 + "@testing-library/react": ^14.0.0 + "@types/react": ^16.13.1 || ^17.0.0 + peerDependencies: + "@material-ui/core": ^4.12.2 + "@types/react": ^16.13.1 || ^17.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + languageName: unknown + linkType: soft + "@backstage/theme@npm:^0.2.16, @backstage/theme@npm:^0.2.18": version: 0.2.19 resolution: "@backstage/theme@npm:0.2.19" @@ -10226,26 +9715,6 @@ __metadata: languageName: node linkType: hard -"@backstage/theme@workspace:^, @backstage/theme@workspace:packages/theme": - version: 0.0.0-use.local - resolution: "@backstage/theme@workspace:packages/theme" - dependencies: - "@backstage/cli": "workspace:^" - "@emotion/react": ^11.10.5 - "@emotion/styled": ^11.10.5 - "@mui/material": ^5.12.2 - "@mui/styles": ^5.14.18 - "@testing-library/jest-dom": ^6.0.0 - "@testing-library/react": ^14.0.0 - "@types/react": ^16.13.1 || ^17.0.0 - peerDependencies: - "@material-ui/core": ^4.12.2 - "@types/react": ^16.13.1 || ^17.0.0 - react: ^16.13.1 || ^17.0.0 || ^18.0.0 - react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 - languageName: unknown - linkType: soft - "@backstage/types@^1.0.2, @backstage/types@^1.1.1, @backstage/types@workspace:^, @backstage/types@workspace:packages/types": version: 0.0.0-use.local resolution: "@backstage/types@workspace:packages/types" @@ -10862,13 +10331,13 @@ __metadata: linkType: hard "@emotion/react@npm:^11.10.5": - version: 11.11.1 - resolution: "@emotion/react@npm:11.11.1" + version: 11.11.3 + resolution: "@emotion/react@npm:11.11.3" dependencies: "@babel/runtime": ^7.18.3 "@emotion/babel-plugin": ^11.11.0 "@emotion/cache": ^11.11.0 - "@emotion/serialize": ^1.1.2 + "@emotion/serialize": ^1.1.3 "@emotion/use-insertion-effect-with-fallbacks": ^1.0.1 "@emotion/utils": ^1.2.1 "@emotion/weak-memoize": ^0.3.1 @@ -10878,20 +10347,20 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: aec3c36650f5f0d3d4445ff44d73dd88712b1609645b6af3e6d08049cfbc51f1785fe13dea1a1d4ab1b0800d68f2339ab11e459687180362b1ef98863155aae5 + checksum: 2e4b223591569f0a41686d5bd72dc8778629b7be33267e4a09582979e6faee4d7218de84e76294ed827058d4384d75557b5d71724756539c1f235e9a69e62b2e languageName: node linkType: hard -"@emotion/serialize@npm:^1.1.2": - version: 1.1.2 - resolution: "@emotion/serialize@npm:1.1.2" +"@emotion/serialize@npm:^1.1.2, @emotion/serialize@npm:^1.1.3": + version: 1.1.3 + resolution: "@emotion/serialize@npm:1.1.3" dependencies: "@emotion/hash": ^0.9.1 "@emotion/memoize": ^0.8.1 "@emotion/unitless": ^0.8.1 "@emotion/utils": ^1.2.1 csstype: ^3.0.2 - checksum: 413c352e657f1b5e27ea6437b3ef7dcc3860669b7ae17fd5c18bfbd44e033af1acc56b64d252284a813ca4f3b3e1b0841c42d3fb08e02d2df56fd3cd63d72986 + checksum: 5a756ce7e2692322683978d8ed2e84eadd60bd6f629618a82c5018c84d98684b117e57fad0174f68ec2ec0ac089bb2e0bcc8ea8c2798eb904b6d3236aa046063 languageName: node linkType: hard @@ -10966,6 +10435,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/aix-ppc64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/aix-ppc64@npm:0.19.10" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/android-arm64@npm:0.16.17" @@ -10980,9 +10456,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/android-arm64@npm:0.19.8" +"@esbuild/android-arm64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/android-arm64@npm:0.19.10" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -11001,9 +10477,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/android-arm@npm:0.19.8" +"@esbuild/android-arm@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/android-arm@npm:0.19.10" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -11022,9 +10498,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/android-x64@npm:0.19.8" +"@esbuild/android-x64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/android-x64@npm:0.19.10" conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -11043,9 +10519,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/darwin-arm64@npm:0.19.8" +"@esbuild/darwin-arm64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/darwin-arm64@npm:0.19.10" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -11064,9 +10540,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/darwin-x64@npm:0.19.8" +"@esbuild/darwin-x64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/darwin-x64@npm:0.19.10" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -11085,9 +10561,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/freebsd-arm64@npm:0.19.8" +"@esbuild/freebsd-arm64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/freebsd-arm64@npm:0.19.10" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -11106,9 +10582,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/freebsd-x64@npm:0.19.8" +"@esbuild/freebsd-x64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/freebsd-x64@npm:0.19.10" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -11127,9 +10603,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/linux-arm64@npm:0.19.8" +"@esbuild/linux-arm64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/linux-arm64@npm:0.19.10" conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -11148,9 +10624,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/linux-arm@npm:0.19.8" +"@esbuild/linux-arm@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/linux-arm@npm:0.19.10" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -11169,9 +10645,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/linux-ia32@npm:0.19.8" +"@esbuild/linux-ia32@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/linux-ia32@npm:0.19.10" conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -11190,9 +10666,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/linux-loong64@npm:0.19.8" +"@esbuild/linux-loong64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/linux-loong64@npm:0.19.10" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -11211,9 +10687,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/linux-mips64el@npm:0.19.8" +"@esbuild/linux-mips64el@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/linux-mips64el@npm:0.19.10" conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -11232,9 +10708,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/linux-ppc64@npm:0.19.8" +"@esbuild/linux-ppc64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/linux-ppc64@npm:0.19.10" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -11253,9 +10729,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/linux-riscv64@npm:0.19.8" +"@esbuild/linux-riscv64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/linux-riscv64@npm:0.19.10" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -11274,9 +10750,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/linux-s390x@npm:0.19.8" +"@esbuild/linux-s390x@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/linux-s390x@npm:0.19.10" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -11295,9 +10771,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/linux-x64@npm:0.19.8" +"@esbuild/linux-x64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/linux-x64@npm:0.19.10" conditions: os=linux & cpu=x64 languageName: node linkType: hard @@ -11316,9 +10792,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/netbsd-x64@npm:0.19.8" +"@esbuild/netbsd-x64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/netbsd-x64@npm:0.19.10" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard @@ -11337,9 +10813,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/openbsd-x64@npm:0.19.8" +"@esbuild/openbsd-x64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/openbsd-x64@npm:0.19.10" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -11358,9 +10834,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/sunos-x64@npm:0.19.8" +"@esbuild/sunos-x64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/sunos-x64@npm:0.19.10" conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -11379,9 +10855,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/win32-arm64@npm:0.19.8" +"@esbuild/win32-arm64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/win32-arm64@npm:0.19.10" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -11400,9 +10876,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/win32-ia32@npm:0.19.8" +"@esbuild/win32-ia32@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/win32-ia32@npm:0.19.10" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -11421,9 +10897,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.19.8": - version: 0.19.8 - resolution: "@esbuild/win32-x64@npm:0.19.8" +"@esbuild/win32-x64@npm:0.19.10": + version: 0.19.10 + resolution: "@esbuild/win32-x64@npm:0.19.10" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -12156,7 +11632,6 @@ __metadata: "@backstage/backend-common": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/plugin-auth-node": "workspace:^" "@types/express": ^4.17.6 @@ -12164,7 +11639,6 @@ __metadata: "@types/uuid": ^8.0.0 express: ^4.17.1 express-promise-router: ^4.1.0 - msw: ^1.0.0 supertest: ^6.1.6 uuid: ^8.3.2 winston: ^3.2.1 @@ -12177,12 +11651,7 @@ __metadata: resolution: "@internal/plugin-todo-list-common@workspace:plugins/example-todo-list-common" dependencies: "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" - "@backstage/dev-utils": "workspace:^" "@backstage/plugin-permission-common": "workspace:^" - "@backstage/test-utils": "workspace:^" - cross-fetch: ^4.0.0 - msw: ^1.0.0 languageName: unknown linkType: soft @@ -12191,21 +11660,14 @@ __metadata: resolution: "@internal/plugin-todo-list@workspace:plugins/example-todo-list" dependencies: "@backstage/cli": "workspace:^" - "@backstage/core-app-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" - "@backstage/dev-utils": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -13334,14 +12796,14 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-beta.25": - version: 5.0.0-beta.25 - resolution: "@mui/base@npm:5.0.0-beta.25" +"@mui/base@npm:5.0.0-beta.29": + version: 5.0.0-beta.29 + resolution: "@mui/base@npm:5.0.0-beta.29" dependencies: - "@babel/runtime": ^7.23.4 + "@babel/runtime": ^7.23.6 "@floating-ui/react-dom": ^2.0.4 - "@mui/types": ^7.2.10 - "@mui/utils": ^5.14.19 + "@mui/types": ^7.2.11 + "@mui/utils": ^5.15.2 "@popperjs/core": ^2.11.8 clsx: ^2.0.0 prop-types: ^15.8.1 @@ -13352,28 +12814,28 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: ce22c38593db1bbbb162574bd297bc3f2f5040ed6e304965e17aff55e4d15782e813196bd67c9b82757ee67675ad6d557e22541f84e4d7a4b6f3349dc83741f3 + checksum: 40481f18d5b4c560e0f9868876727203af76954b5b8b208bfc01da666229f8eef45852b5d87403aa42b4c8515a5b9d2e99d4ae40446289d7456c56310fce72c7 languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.14.19": - version: 5.14.19 - resolution: "@mui/core-downloads-tracker@npm:5.14.19" - checksum: e71c886f12bbd83791638545017c0b8439c3c6b51125979fea105f938f2f5b109629d4deddd38448c05b8be10b3249334324f1505c1306c52a2b8d315a1005c3 +"@mui/core-downloads-tracker@npm:^5.15.2": + version: 5.15.2 + resolution: "@mui/core-downloads-tracker@npm:5.15.2" + checksum: 8c88ac73a1d87c8ce565f6295dcd084c643580848e8f59159402e9db89975263da06305a0e605d3744479e917c2d297319496534bca9df8338e203162f1e7c33 languageName: node linkType: hard "@mui/material@npm:^5.12.2": - version: 5.14.19 - resolution: "@mui/material@npm:5.14.19" + version: 5.15.2 + resolution: "@mui/material@npm:5.15.2" dependencies: - "@babel/runtime": ^7.23.4 - "@mui/base": 5.0.0-beta.25 - "@mui/core-downloads-tracker": ^5.14.19 - "@mui/system": ^5.14.19 - "@mui/types": ^7.2.10 - "@mui/utils": ^5.14.19 - "@types/react-transition-group": ^4.4.9 + "@babel/runtime": ^7.23.6 + "@mui/base": 5.0.0-beta.29 + "@mui/core-downloads-tracker": ^5.15.2 + "@mui/system": ^5.15.2 + "@mui/types": ^7.2.11 + "@mui/utils": ^5.15.2 + "@types/react-transition-group": ^4.4.10 clsx: ^2.0.0 csstype: ^3.1.2 prop-types: ^15.8.1 @@ -13392,16 +12854,16 @@ __metadata: optional: true "@types/react": optional: true - checksum: 8fc63b7ecb98c5eb8f67190cde096f83100af9271fe2113e1d3edb13a08650f611e7ff186b04c66695958cc88480011ab31dc950cf0fd6e0fbb6c727ec834cbd + checksum: 7586b0160c686214c4d3a6f8af76306413bfe13286a4679ca7696b764615f511b5d5b27a8129e15ae81856492317e7f139f4bd075f6b2dfe6e60de46755d7dbc languageName: node linkType: hard -"@mui/private-theming@npm:^5.14.19": - version: 5.14.19 - resolution: "@mui/private-theming@npm:5.14.19" +"@mui/private-theming@npm:^5.15.2": + version: 5.15.2 + resolution: "@mui/private-theming@npm:5.15.2" dependencies: - "@babel/runtime": ^7.23.4 - "@mui/utils": ^5.14.19 + "@babel/runtime": ^7.23.6 + "@mui/utils": ^5.15.2 prop-types: ^15.8.1 peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -13409,15 +12871,15 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: ee17fa123ae671fcfb6e59787e9a5b6d650d4a53ea575f5d5519dd187c9b04fbb50f12f2da5a663d3ba3a82d503086faa18bf3b68923237de78f44e401e04935 + checksum: 63cc69adc3eca03533dd72296aac6449abe133522f6f5c62c8497e57dbd092c131cba3488ee8d97dfb76c31a194df014f4da3b2d30027614e987ed72581a4acf languageName: node linkType: hard -"@mui/styled-engine@npm:^5.14.19": - version: 5.14.19 - resolution: "@mui/styled-engine@npm:5.14.19" +"@mui/styled-engine@npm:^5.15.2": + version: 5.15.2 + resolution: "@mui/styled-engine@npm:5.15.2" dependencies: - "@babel/runtime": ^7.23.4 + "@babel/runtime": ^7.23.6 "@emotion/cache": ^11.11.0 csstype: ^3.1.2 prop-types: ^15.8.1 @@ -13430,19 +12892,19 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: 2b8dc8e08e47e18ad6345d25539d5978ef153cb23abff3d98c3cf2795f836e446279021392c2071142ffbae17e19906235acfb3e73dc0f14440b138f919a26a4 + checksum: daa15b61be2e785c9719e091047a5900aa5aa0b6a9dfbc2ea373f6718f6ec3485f44e05596cd9506a90a7c55d8d372233a80cbeca4d81ceb8d5e6a10ce0f8292 languageName: node linkType: hard "@mui/styles@npm:^5.14.18": - version: 5.14.19 - resolution: "@mui/styles@npm:5.14.19" + version: 5.15.2 + resolution: "@mui/styles@npm:5.15.2" dependencies: - "@babel/runtime": ^7.23.4 + "@babel/runtime": ^7.23.6 "@emotion/hash": ^0.9.1 - "@mui/private-theming": ^5.14.19 - "@mui/types": ^7.2.10 - "@mui/utils": ^5.14.19 + "@mui/private-theming": ^5.15.2 + "@mui/types": ^7.2.11 + "@mui/utils": ^5.15.2 clsx: ^2.0.0 csstype: ^3.1.2 hoist-non-react-statics: ^3.3.2 @@ -13461,19 +12923,19 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 03780cba63ee5dca4bd3f81aa8634039e6a18291eb2f89cdcee236669e4b05a2593a3e5e74c21378950cc34a790163d2d3b80d2b649fd368a5b09439f198489e + checksum: 53ee6fb6c1114469dfeacbf5d26fc6ef7bc897428258301515012fcea95f5abcc73d5b70d1ea1da9382f7742aa7da7a9749a7594331e78f85b6b4cd8f8216d11 languageName: node linkType: hard -"@mui/system@npm:^5.14.19": - version: 5.14.19 - resolution: "@mui/system@npm:5.14.19" +"@mui/system@npm:^5.15.2": + version: 5.15.2 + resolution: "@mui/system@npm:5.15.2" dependencies: - "@babel/runtime": ^7.23.4 - "@mui/private-theming": ^5.14.19 - "@mui/styled-engine": ^5.14.19 - "@mui/types": ^7.2.10 - "@mui/utils": ^5.14.19 + "@babel/runtime": ^7.23.6 + "@mui/private-theming": ^5.15.2 + "@mui/styled-engine": ^5.15.2 + "@mui/types": ^7.2.11 + "@mui/utils": ^5.15.2 clsx: ^2.0.0 csstype: ^3.1.2 prop-types: ^15.8.1 @@ -13489,27 +12951,27 @@ __metadata: optional: true "@types/react": optional: true - checksum: aea4935cf72a7c4fe3d03eb040491204b0c20fbae19fc73173ec925c9025375601f6b7007e53b5ab6ea44a4dd74b94e9acc9ada85461db1deae9062f8506a99a + checksum: ce6297a4cfa6f91891fa84679e05e40e12c4a27fe4fb34d78cbcbae172da293c05fa6f07c24fec66c864eac64179aeec1f7a70358e376b8c16ffc8e91f93a904 languageName: node linkType: hard -"@mui/types@npm:^7.2.10": - version: 7.2.10 - resolution: "@mui/types@npm:7.2.10" +"@mui/types@npm:^7.2.11": + version: 7.2.11 + resolution: "@mui/types@npm:7.2.11" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: b9c4629929450e243015d79cf6b102824336db07b852e55f114aca85dbad0b39f831e9c65ad94b028a65c08d33be9f7de1afb530a4e6a80be5702b396ccb90b1 + checksum: ce6bbe8ba963af218bf86797f4c8adbf0f294047adeaf6596d3bb4a96f1b01701f1b1ae7dcfe2f7972f6e23c85eee4187e496fb481541713ed8bf12e96f3c34f languageName: node linkType: hard -"@mui/utils@npm:^5.14.15, @mui/utils@npm:^5.14.19": - version: 5.14.19 - resolution: "@mui/utils@npm:5.14.19" +"@mui/utils@npm:^5.14.15, @mui/utils@npm:^5.15.2": + version: 5.15.2 + resolution: "@mui/utils@npm:5.15.2" dependencies: - "@babel/runtime": ^7.23.4 + "@babel/runtime": ^7.23.6 "@types/prop-types": ^15.7.11 prop-types: ^15.8.1 react-is: ^18.2.0 @@ -13519,7 +12981,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: f53f746eb33bc5d700b9f2b454e211ca17f5aa320cd30f54a82a347e4da0c61b872f323f01ff4b5247d3f992ac4f72a69ac79974300a6dedf01ff6b8f6d75b49 + checksum: c78ad9fb1a5fa1dc5955cada77227c605f1e5bf45503bf2bb0080bc92cf28bdcf1cbb83322d19162c5424ec245a66cef849603c7681fa1ec89093e0b1922dc58 languageName: node linkType: hard @@ -13847,22 +13309,22 @@ __metadata: languageName: node linkType: hard -"@octokit/app@npm:^13.1.5": - version: 13.1.5 - resolution: "@octokit/app@npm:13.1.5" +"@octokit/app@npm:^14.0.2": + version: 14.0.2 + resolution: "@octokit/app@npm:14.0.2" dependencies: - "@octokit/auth-app": ^4.0.13 - "@octokit/auth-unauthenticated": ^3.0.0 - "@octokit/core": ^4.0.0 - "@octokit/oauth-app": ^4.0.7 - "@octokit/plugin-paginate-rest": ^6.0.0 - "@octokit/types": ^9.0.0 - "@octokit/webhooks": ^10.0.0 - checksum: bc1b348c2b80d701d68672455e6f3d6ae7dbed09e2b5ba323fb941316d7055d101d20d1a803b0b5b98d60a6e7bd9907da4a1cca4445263e2180270aab783c3a4 + "@octokit/auth-app": ^6.0.0 + "@octokit/auth-unauthenticated": ^5.0.0 + "@octokit/core": ^5.0.0 + "@octokit/oauth-app": ^6.0.0 + "@octokit/plugin-paginate-rest": ^9.0.0 + "@octokit/types": ^12.0.0 + "@octokit/webhooks": ^12.0.4 + checksum: 1d6745302f81694c85a47997640be1e509a61da1de4ec31f8fed3715daf03cbcf39d6f80a146e2d2a0ff0ebc987fcda5dba9d53f1357f2e8c93edd5675db3780 languageName: node linkType: hard -"@octokit/auth-app@npm:^4.0.0, @octokit/auth-app@npm:^4.0.13": +"@octokit/auth-app@npm:^4.0.0": version: 4.0.13 resolution: "@octokit/auth-app@npm:4.0.13" dependencies: @@ -13879,6 +13341,23 @@ __metadata: languageName: node linkType: hard +"@octokit/auth-app@npm:^6.0.0": + version: 6.0.2 + resolution: "@octokit/auth-app@npm:6.0.2" + dependencies: + "@octokit/auth-oauth-app": ^7.0.0 + "@octokit/auth-oauth-user": ^4.0.0 + "@octokit/request": ^8.0.2 + "@octokit/request-error": ^5.0.0 + "@octokit/types": ^12.0.0 + deprecation: ^2.3.1 + lru-cache: ^10.0.0 + universal-github-app-jwt: ^1.1.1 + universal-user-agent: ^6.0.0 + checksum: 3031ee74db199831f3810477023ccb1b35ad0e077f2bfe32963fd4df22bf38e32544e0063cf8c82d5ec1a589ea1028eff2ff23791ffc179e42d5f6fbba80c5f8 + languageName: node + linkType: hard + "@octokit/auth-oauth-app@npm:^5.0.0": version: 5.0.1 resolution: "@octokit/auth-oauth-app@npm:5.0.1" @@ -13894,6 +13373,21 @@ __metadata: languageName: node linkType: hard +"@octokit/auth-oauth-app@npm:^7.0.0": + version: 7.0.1 + resolution: "@octokit/auth-oauth-app@npm:7.0.1" + dependencies: + "@octokit/auth-oauth-device": ^6.0.0 + "@octokit/auth-oauth-user": ^4.0.0 + "@octokit/request": ^8.0.2 + "@octokit/types": ^12.0.0 + "@types/btoa-lite": ^1.0.0 + btoa-lite: ^1.0.0 + universal-user-agent: ^6.0.0 + checksum: a96486150bc5b4ddd7167ef4d6554886b1949631aa76fde92a21424ffe2810b87e4ae413d52ed07c2c6c015ef697a93e716e9ef7b11be26539d5ccc8eeb7226b + languageName: node + linkType: hard + "@octokit/auth-oauth-device@npm:^3.1.1": version: 3.1.1 resolution: "@octokit/auth-oauth-device@npm:3.1.1" @@ -13918,6 +13412,18 @@ __metadata: languageName: node linkType: hard +"@octokit/auth-oauth-device@npm:^6.0.0": + version: 6.0.1 + resolution: "@octokit/auth-oauth-device@npm:6.0.1" + dependencies: + "@octokit/oauth-methods": ^4.0.0 + "@octokit/request": ^8.0.0 + "@octokit/types": ^12.0.0 + universal-user-agent: ^6.0.0 + checksum: 2639b07430023c23fc117035ac775a74709a0b05abcad4a29f1f0fdb808775acac4fb410fa45fd18f89da1fb73b743ef7382a3cd39d29bbe059d2802aeaa3aa4 + languageName: node + linkType: hard + "@octokit/auth-oauth-user@npm:^2.0.0": version: 2.0.0 resolution: "@octokit/auth-oauth-user@npm:2.0.0" @@ -13932,6 +13438,20 @@ __metadata: languageName: node linkType: hard +"@octokit/auth-oauth-user@npm:^4.0.0": + version: 4.0.1 + resolution: "@octokit/auth-oauth-user@npm:4.0.1" + dependencies: + "@octokit/auth-oauth-device": ^6.0.0 + "@octokit/oauth-methods": ^4.0.0 + "@octokit/request": ^8.0.2 + "@octokit/types": ^12.0.0 + btoa-lite: ^1.0.0 + universal-user-agent: ^6.0.0 + checksum: 38b0edb58d4396a8a3782fea56b7691dc8dc28bdb195c4dfe8fe83578c4daa4afa941a524e6a44a45c47b2af9863703087e18dacc6e396c6c032862eec266b4c + languageName: node + linkType: hard + "@octokit/auth-token@npm:^3.0.0": version: 3.0.1 resolution: "@octokit/auth-token@npm:3.0.1" @@ -13941,6 +13461,13 @@ __metadata: languageName: node linkType: hard +"@octokit/auth-token@npm:^4.0.0": + version: 4.0.0 + resolution: "@octokit/auth-token@npm:4.0.0" + checksum: d78f4dc48b214d374aeb39caec4fdbf5c1e4fd8b9fcb18f630b1fe2cbd5a880fca05445f32b4561f41262cb551746aeb0b49e89c95c6dd99299706684d0cae2f + languageName: node + linkType: hard + "@octokit/auth-unauthenticated@npm:^3.0.0": version: 3.0.0 resolution: "@octokit/auth-unauthenticated@npm:3.0.0" @@ -13951,6 +13478,16 @@ __metadata: languageName: node linkType: hard +"@octokit/auth-unauthenticated@npm:^5.0.0": + version: 5.0.1 + resolution: "@octokit/auth-unauthenticated@npm:5.0.1" + dependencies: + "@octokit/request-error": ^5.0.0 + "@octokit/types": ^12.0.0 + checksum: b6eed1fc15d47f45411c0229dd6613dd8fd4b79afbac23b8c47818da692a35d54f57e088294d9b71ce4dcc0f58ce0c77d12cd2700370d87770059248b9a8fbba + languageName: node + linkType: hard + "@octokit/core@npm:^4.0.0, @octokit/core@npm:^4.2.1": version: 4.2.1 resolution: "@octokit/core@npm:4.2.1" @@ -13966,6 +13503,21 @@ __metadata: languageName: node linkType: hard +"@octokit/core@npm:^5.0.0": + version: 5.0.2 + resolution: "@octokit/core@npm:5.0.2" + dependencies: + "@octokit/auth-token": ^4.0.0 + "@octokit/graphql": ^7.0.0 + "@octokit/request": ^8.0.2 + "@octokit/request-error": ^5.0.0 + "@octokit/types": ^12.0.0 + before-after-hook: ^2.2.0 + universal-user-agent: ^6.0.0 + checksum: 9ce060d61577f6805901ae5c33b2764a441db119ae0cca09104adf37b119cce68b656220de56c0c5004c9c9c1c892a7fdfbe9c0b1f5e398cb359dfd39c57eca8 + languageName: node + linkType: hard + "@octokit/endpoint@npm:^6.0.1": version: 6.0.12 resolution: "@octokit/endpoint@npm:6.0.12" @@ -13988,6 +13540,16 @@ __metadata: languageName: node linkType: hard +"@octokit/endpoint@npm:^9.0.0": + version: 9.0.4 + resolution: "@octokit/endpoint@npm:9.0.4" + dependencies: + "@octokit/types": ^12.0.0 + universal-user-agent: ^6.0.0 + checksum: ed1b64a448f478e5951a043ef816d634a5a1f584519cbf2f374ceac058f82a16e52f078f156aa8b8cbcab7b0590348d94294fc83c9b4eebd42a820a5f10db81c + languageName: node + linkType: hard + "@octokit/graphql-schema@npm:^13.7.0": version: 13.10.0 resolution: "@octokit/graphql-schema@npm:13.10.0" @@ -14009,7 +13571,18 @@ __metadata: languageName: node linkType: hard -"@octokit/oauth-app@npm:^4.0.7, @octokit/oauth-app@npm:^4.2.0, @octokit/oauth-app@npm:^4.2.1": +"@octokit/graphql@npm:^7.0.0": + version: 7.0.2 + resolution: "@octokit/graphql@npm:7.0.2" + dependencies: + "@octokit/request": ^8.0.1 + "@octokit/types": ^12.0.0 + universal-user-agent: ^6.0.0 + checksum: 05a752c4c2d84fc2900d8e32e1c2d1ee98a5a14349e651cb1109d0741e821e7417a048b1bb40918534ed90a472314aabbda35688868016f248098925f82a3bfa + languageName: node + linkType: hard + +"@octokit/oauth-app@npm:^4.2.0": version: 4.2.4 resolution: "@octokit/oauth-app@npm:4.2.4" dependencies: @@ -14026,6 +13599,22 @@ __metadata: languageName: node linkType: hard +"@octokit/oauth-app@npm:^6.0.0": + version: 6.0.0 + resolution: "@octokit/oauth-app@npm:6.0.0" + dependencies: + "@octokit/auth-oauth-app": ^7.0.0 + "@octokit/auth-oauth-user": ^4.0.0 + "@octokit/auth-unauthenticated": ^5.0.0 + "@octokit/core": ^5.0.0 + "@octokit/oauth-authorization-url": ^6.0.2 + "@octokit/oauth-methods": ^4.0.0 + "@types/aws-lambda": ^8.10.83 + universal-user-agent: ^6.0.0 + checksum: 5d07c6fe15d4a670a3ca0c7c0d37c973912b3ac993375966a6bed0e084edbda972f575e2ab2dc17aa9718e5aeefbec7489f5aeb2dbc6e47768ad9633f27f842d + languageName: node + linkType: hard + "@octokit/oauth-authorization-url@npm:^4.3.1": version: 4.3.1 resolution: "@octokit/oauth-authorization-url@npm:4.3.1" @@ -14040,6 +13629,13 @@ __metadata: languageName: node linkType: hard +"@octokit/oauth-authorization-url@npm:^6.0.2": + version: 6.0.2 + resolution: "@octokit/oauth-authorization-url@npm:6.0.2" + checksum: 0f11169a3eeb782cc08312c923de1a702b25ae033b972ba40380b6d72cb3f684543c8b6a5cf6f05936fdc6b8892070d4f7581138d8efc1b4c4a55ae6d7762327 + languageName: node + linkType: hard + "@octokit/oauth-methods@npm:^1.1.0": version: 1.2.2 resolution: "@octokit/oauth-methods@npm:1.2.2" @@ -14066,6 +13662,19 @@ __metadata: languageName: node linkType: hard +"@octokit/oauth-methods@npm:^4.0.0": + version: 4.0.1 + resolution: "@octokit/oauth-methods@npm:4.0.1" + dependencies: + "@octokit/oauth-authorization-url": ^6.0.2 + "@octokit/request": ^8.0.2 + "@octokit/request-error": ^5.0.0 + "@octokit/types": ^12.0.0 + btoa-lite: ^1.0.0 + checksum: 35fb00f9ef8aa77cb00e398d4a423ff4b928d1d51462cdbdd4d3975b862355cbddb6777d10bdf43b0ac5c23f7038e07a9ff495731dbfe6aa0241799cbf5042f0 + languageName: node + linkType: hard + "@octokit/openapi-types@npm:^12.11.0": version: 12.11.0 resolution: "@octokit/openapi-types@npm:12.11.0" @@ -14087,7 +13696,23 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-paginate-rest@npm:^6.0.0, @octokit/plugin-paginate-rest@npm:^6.1.0, @octokit/plugin-paginate-rest@npm:^6.1.2": +"@octokit/openapi-types@npm:^19.1.0": + version: 19.1.0 + resolution: "@octokit/openapi-types@npm:19.1.0" + checksum: 9d1b188741609a9832b964df2bc337ee77c1fc89d5f686faebb743c7cb27721e214180d623ee28227427b4c43719b79ee4890e338a709b78a9f249a7c369ac3e + languageName: node + linkType: hard + +"@octokit/plugin-paginate-graphql@npm:^4.0.0": + version: 4.0.0 + resolution: "@octokit/plugin-paginate-graphql@npm:4.0.0" + peerDependencies: + "@octokit/core": ">=5" + checksum: 368121d74fc40a4cee96f2febc29ae43abd8f6b7d0b06d3520847827675128028c4fa10d0534c5f0466658e81257d103092154778625c886a9fcdd01c302e50e + languageName: node + linkType: hard + +"@octokit/plugin-paginate-rest@npm:^6.1.2": version: 6.1.2 resolution: "@octokit/plugin-paginate-rest@npm:6.1.2" dependencies: @@ -14099,6 +13724,17 @@ __metadata: languageName: node linkType: hard +"@octokit/plugin-paginate-rest@npm:^9.0.0": + version: 9.1.5 + resolution: "@octokit/plugin-paginate-rest@npm:9.1.5" + dependencies: + "@octokit/types": ^12.4.0 + peerDependencies: + "@octokit/core": ">=5" + checksum: ee5bc62e3175b61fdd3e65cc26410e1130931e729591003b302167cb02d0cec0746fd58220800d07de179e36077b9d675c794d0859457b701a7692b9fcde49a0 + languageName: node + linkType: hard + "@octokit/plugin-request-log@npm:^1.0.4": version: 1.0.4 resolution: "@octokit/plugin-request-log@npm:1.0.4" @@ -14108,7 +13744,18 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-rest-endpoint-methods@npm:^7.1.1, @octokit/plugin-rest-endpoint-methods@npm:^7.1.2": +"@octokit/plugin-rest-endpoint-methods@npm:^10.0.0": + version: 10.2.0 + resolution: "@octokit/plugin-rest-endpoint-methods@npm:10.2.0" + dependencies: + "@octokit/types": ^12.3.0 + peerDependencies: + "@octokit/core": ">=5" + checksum: 3209688bf508d22a525fe32d632ff928b048688c1859c7e4bbb08bd181aa07f580b375a502e34368628103e5d5cccf7f9fb0ff0c8fd4262470ac8eeffb80ac6b + languageName: node + linkType: hard + +"@octokit/plugin-rest-endpoint-methods@npm:^7.1.2": version: 7.1.2 resolution: "@octokit/plugin-rest-endpoint-methods@npm:7.1.2" dependencies: @@ -14120,27 +13767,28 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-retry@npm:^4.1.3": - version: 4.1.3 - resolution: "@octokit/plugin-retry@npm:4.1.3" +"@octokit/plugin-retry@npm:^6.0.0": + version: 6.0.1 + resolution: "@octokit/plugin-retry@npm:6.0.1" dependencies: - "@octokit/types": ^9.0.0 + "@octokit/request-error": ^5.0.0 + "@octokit/types": ^12.0.0 bottleneck: ^2.15.3 peerDependencies: - "@octokit/core": ">=3" - checksum: f9ed5869be23dddcf1ee896ce996e46a412a586259b55612ba44c82cdeed91436102e6e3ec57db879bd91a4446dcafbaa94632e4e059c6af56d9cca9b163eacb + "@octokit/core": ">=5" + checksum: 9c8663b5257cf4fa04cc737c064e9557501719d6d3af7cf8f46434a2117e1cf4b8d25d9eb4294ed255ad17a0ede853542649870612733f4b8ece97e24e391d22 languageName: node linkType: hard -"@octokit/plugin-throttling@npm:^5.2.2": - version: 5.2.3 - resolution: "@octokit/plugin-throttling@npm:5.2.3" +"@octokit/plugin-throttling@npm:^8.0.0": + version: 8.1.3 + resolution: "@octokit/plugin-throttling@npm:8.1.3" dependencies: - "@octokit/types": ^9.0.0 + "@octokit/types": ^12.2.0 bottleneck: ^2.15.3 peerDependencies: - "@octokit/core": ^4.0.0 - checksum: ce7ca75d150c63cf1bbcb5b385513bd8cd1f714c5e59f33d25c2afd08fa730250055ef8dffa74113f92e7fb3f209a147442242151607a513f55e4ce382c8e80c + "@octokit/core": ^5.0.0 + checksum: 98963ef2eab825015702b1ca1ef4ccbda0c009242e93001144e51014d3b53d3ecb1282b67488680c7f5f4e805d0c3af4020ad673079fff92c6353f04903a9a64 languageName: node linkType: hard @@ -14155,7 +13803,7 @@ __metadata: languageName: node linkType: hard -"@octokit/request-error@npm:^3.0.0, @octokit/request-error@npm:^v3.0.3": +"@octokit/request-error@npm:^3.0.0": version: 3.0.3 resolution: "@octokit/request-error@npm:3.0.3" dependencies: @@ -14166,6 +13814,17 @@ __metadata: languageName: node linkType: hard +"@octokit/request-error@npm:^5.0.0": + version: 5.0.1 + resolution: "@octokit/request-error@npm:5.0.1" + dependencies: + "@octokit/types": ^12.0.0 + deprecation: ^2.0.0 + once: ^1.4.0 + checksum: a681341e43b4da7a8acb19e1a6ba0355b1af146fa0191f2554a98950cf85f898af6ae3ab0b0287d6c871f5465ec57cb38363b96b5019f9f77ba6f30eca39ede5 + languageName: node + linkType: hard + "@octokit/request@npm:^5.4.14, @octokit/request@npm:^5.6.3": version: 5.6.3 resolution: "@octokit/request@npm:5.6.3" @@ -14194,6 +13853,18 @@ __metadata: languageName: node linkType: hard +"@octokit/request@npm:^8.0.0, @octokit/request@npm:^8.0.1, @octokit/request@npm:^8.0.2": + version: 8.1.6 + resolution: "@octokit/request@npm:8.1.6" + dependencies: + "@octokit/endpoint": ^9.0.0 + "@octokit/request-error": ^5.0.0 + "@octokit/types": ^12.0.0 + universal-user-agent: ^6.0.0 + checksum: df90204586ee7db5adf69c3007c5d9c0a866de488c9ba8756f98083208726ed360d5a541e68204c413fa10e6f17e171dc9868b18768b9799df0003bc84c59cf2 + languageName: node + linkType: hard + "@octokit/rest@npm:^19.0.0, @octokit/rest@npm:^19.0.3": version: 19.0.13 resolution: "@octokit/rest@npm:19.0.13" @@ -14213,6 +13884,15 @@ __metadata: languageName: node linkType: hard +"@octokit/types@npm:^12.0.0, @octokit/types@npm:^12.2.0, @octokit/types@npm:^12.3.0, @octokit/types@npm:^12.4.0": + version: 12.4.0 + resolution: "@octokit/types@npm:12.4.0" + dependencies: + "@octokit/openapi-types": ^19.1.0 + checksum: 17bca450efc5433f14e1f93a24232316a0fb490aec8d886c3a430e853f10a74e6664751a44e0e199336b23c20658c4afcb3590e422ba7c155c2cb31f433ebbb7 + languageName: node + linkType: hard + "@octokit/types@npm:^6.0.3, @octokit/types@npm:^6.10.0, @octokit/types@npm:^6.12.2, @octokit/types@npm:^6.16.1, @octokit/types@npm:^6.8.2": version: 6.41.0 resolution: "@octokit/types@npm:6.41.0" @@ -14231,7 +13911,7 @@ __metadata: languageName: node linkType: hard -"@octokit/types@npm:^9.0.0, @octokit/types@npm:^9.2.2, @octokit/types@npm:^9.2.3": +"@octokit/types@npm:^9.0.0, @octokit/types@npm:^9.2.3": version: 9.2.3 resolution: "@octokit/types@npm:9.2.3" dependencies: @@ -14247,6 +13927,13 @@ __metadata: languageName: node linkType: hard +"@octokit/webhooks-methods@npm:^4.0.0": + version: 4.0.0 + resolution: "@octokit/webhooks-methods@npm:4.0.0" + checksum: 07010438e53a6a659f0d7d3596bf89e6795776165066553e76384d90cef077a1e259122733913468299a1a76c71536914eb871d0508fcbbd453468b21eeb30c7 + languageName: node + linkType: hard + "@octokit/webhooks-types@npm:6.11.0": version: 6.11.0 resolution: "@octokit/webhooks-types@npm:6.11.0" @@ -14254,6 +13941,13 @@ __metadata: languageName: node linkType: hard +"@octokit/webhooks-types@npm:7.1.0": + version: 7.1.0 + resolution: "@octokit/webhooks-types@npm:7.1.0" + checksum: 5aea38c38e97cb1b8d54c805c17c4015ee937d0b1ad550adc64eaf2e90bfbaf1e00c878490c10b43e31a11563e8d02183b86268ed588b04e39b22d5fd27807cf + languageName: node + linkType: hard + "@octokit/webhooks@npm:^10.0.0": version: 10.9.2 resolution: "@octokit/webhooks@npm:10.9.2" @@ -14266,6 +13960,18 @@ __metadata: languageName: node linkType: hard +"@octokit/webhooks@npm:^12.0.4": + version: 12.0.10 + resolution: "@octokit/webhooks@npm:12.0.10" + dependencies: + "@octokit/request-error": ^5.0.0 + "@octokit/webhooks-methods": ^4.0.0 + "@octokit/webhooks-types": 7.1.0 + aggregate-error: ^3.1.0 + checksum: 4623c0d2c5dbef05f23bfdf0e66ca2fff1fa57f92fbf00c7d6e9d0461d2392a8cde70b41f093c9ccbdefeab3661d6fbec66c732db4d9b2a34e83a27fa8045d1b + languageName: node + linkType: hard + "@open-draft/deferred-promise@npm:^2.2.0": version: 2.2.0 resolution: "@open-draft/deferred-promise@npm:2.2.0" @@ -15216,21 +14922,6 @@ __metadata: languageName: node linkType: hard -"@rjsf/utils@npm:5.13.6": - version: 5.13.6 - resolution: "@rjsf/utils@npm:5.13.6" - dependencies: - json-schema-merge-allof: ^0.8.1 - jsonpointer: ^5.0.1 - lodash: ^4.17.21 - lodash-es: ^4.17.21 - react-is: ^18.2.0 - peerDependencies: - react: ^16.14.0 || >=17 - checksum: 1e6cdca9f547db4b96561752150c0aa4255426fa32ae84ea017b221e5816e7eb9ed985e9dbb73f1d83baaae36f892f1d10e2bf81d8a53f7e42b2bfc7df52d8e4 - languageName: node - linkType: hard - "@rjsf/utils@npm:5.15.0": version: 5.15.0 resolution: "@rjsf/utils@npm:5.15.0" @@ -16498,8 +16189,8 @@ __metadata: linkType: hard "@stoplight/spectral-rulesets@npm:^1.14.1, @stoplight/spectral-rulesets@npm:^1.18.0": - version: 1.18.0 - resolution: "@stoplight/spectral-rulesets@npm:1.18.0" + version: 1.18.1 + resolution: "@stoplight/spectral-rulesets@npm:1.18.1" dependencies: "@asyncapi/specs": ^4.1.0 "@stoplight/better-ajv-errors": 1.0.3 @@ -16515,7 +16206,7 @@ __metadata: json-schema-traverse: ^1.0.0 lodash: ~4.17.21 tslib: ^2.3.0 - checksum: 7abdc837acf64f1408bd71bf98169af6dad9b9adcdb7758ab705599989bf7f5c3e5739bd409f959f21e2d9e06919c6cbfff2500fd3180f45b2f4e1dbf2c62129 + checksum: 2eeff0fb3ffb7a2f3fca8c92c4d766925f62fabdc92b1899d3bc620a29e4ff8e68aacc63b8a77ede4030ee9127a12022e94117773ba5fd278acd7ba15c0fe5a0 languageName: node linkType: hard @@ -17674,16 +17365,16 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.4": - version: 7.20.4 - resolution: "@types/babel__core@npm:7.20.4" +"@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.5": + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" dependencies: "@babel/parser": ^7.20.7 "@babel/types": ^7.20.7 "@types/babel__generator": "*" "@types/babel__template": "*" "@types/babel__traverse": "*" - checksum: 75ed6072213423d2b827740d68bbf96f5a7050ce8bd842dde0ceec8d352d06e847166bac757df4beba55525b65f8727c0432adeb5cb4f83aa42e155ac555767e + checksum: a3226f7930b635ee7a5e72c8d51a357e799d19cbf9d445710fa39ab13804f79ab1a54b72ea7d8e504659c7dfc50675db974b526142c754398d7413aa4bc30845 languageName: node linkType: hard @@ -19018,12 +18709,12 @@ __metadata: languageName: node linkType: hard -"@types/react-transition-group@npm:^4.2.0, @types/react-transition-group@npm:^4.4.9": - version: 4.4.9 - resolution: "@types/react-transition-group@npm:4.4.9" +"@types/react-transition-group@npm:^4.2.0, @types/react-transition-group@npm:^4.4.10": + version: 4.4.10 + resolution: "@types/react-transition-group@npm:4.4.10" dependencies: "@types/react": "*" - checksum: be9e256e53919a7cf3b4a075f6d01c0a2dd3a67911dd28276aa6158be4beade4ca5327cbf1f096c28b413e04989f069122319b02e5a09c280d903a0accea9ead + checksum: fe2ea11f70251e9f79f368e198c18fd469b1d4f1e1d44e4365845b44e15974b0ec925100036f449b023b0ca3480a82725c5f0a73040e282ad32ec7b0def9b57c languageName: node linkType: hard @@ -19963,17 +19654,17 @@ __metadata: linkType: hard "@vitejs/plugin-react@npm:^4.0.4": - version: 4.2.0 - resolution: "@vitejs/plugin-react@npm:4.2.0" + version: 4.2.1 + resolution: "@vitejs/plugin-react@npm:4.2.1" dependencies: - "@babel/core": ^7.23.3 + "@babel/core": ^7.23.5 "@babel/plugin-transform-react-jsx-self": ^7.23.3 "@babel/plugin-transform-react-jsx-source": ^7.23.3 - "@types/babel__core": ^7.20.4 + "@types/babel__core": ^7.20.5 react-refresh: ^0.14.0 peerDependencies: vite: ^4.2.0 || ^5.0.0 - checksum: 515dc270dc433d9d80806501221d152f627aabc342916e9dc0d1d840fec76bc00daf3e41738f9aad286de89ee9325fd423372298bd04a3bfd618601ae62d515d + checksum: 08d227d27ff2304e395e746bd2d4b5fee40587f69d7e2fcd6beb7d91163c1f1dc26d843bc48e2ffb8f38c6b8a1b9445fb07840e3dcc841f97b56bbb8205346aa languageName: node linkType: hard @@ -21254,13 +20945,13 @@ __metadata: linkType: hard "axios@npm:^1.4.0, axios@npm:^1.6.0": - version: 1.6.2 - resolution: "axios@npm:1.6.2" + version: 1.6.3 + resolution: "axios@npm:1.6.3" dependencies: follow-redirects: ^1.15.0 form-data: ^4.0.0 proxy-from-env: ^1.1.0 - checksum: 4a7429e2b784be0f2902ca2680964391eae7236faa3967715f30ea45464b98ae3f1c6f631303b13dfe721b17126b01f486c7644b9ef276bfc63112db9fd379f8 + checksum: 07ef3bb83fc2dacc1ae2c97f2bbd04ef7701f5655f9037789d79ee78b698ffa50eaa8465c2017d4d3e9ce7d94cb779f730acaab32ce9036d0a4933c1e89df4da languageName: node linkType: hard @@ -21273,13 +20964,13 @@ __metadata: languageName: node linkType: hard -"azure-devops-node-api@npm:^11.0.1": - version: 11.2.0 - resolution: "azure-devops-node-api@npm:11.2.0" +"azure-devops-node-api@npm:^12.0.0": + version: 12.1.0 + resolution: "azure-devops-node-api@npm:12.1.0" dependencies: tunnel: 0.0.6 typed-rest-client: ^1.8.4 - checksum: 52e84379b4ce71ad8a79470ba89e1d1217b28ee3670c7e484e1b1d9c210acf406ab09132c241cb481f78354df701dae7752ba3c4e3d28b2b6c0b0ff2d9eb7199 + checksum: aa3c3f3eff89485a44ea31843749c5abf5ddfb0d2f059a3f5623d75d5eddbab5b839a5458c158e7941b9c8a2adfde2ecfea128ed076f730c309c869e8a318a78 languageName: node linkType: hard @@ -22590,9 +22281,9 @@ __metadata: linkType: hard "classnames@npm:*, classnames@npm:^2.2.5, classnames@npm:^2.2.6, classnames@npm:^2.3.1": - version: 2.3.2 - resolution: "classnames@npm:2.3.2" - checksum: 2c62199789618d95545c872787137262e741f9db13328e216b093eea91c85ef2bfb152c1f9e63027204e2559a006a92eb74147d46c800a9f96297ae1d9f96f4e + version: 2.3.3 + resolution: "classnames@npm:2.3.3" + checksum: 0cb4db9cc3b8d2363c81f857f85b30351605fe683c89d140939aed4e06895a9570be737494ef3907e7069e2b98ed25ba3960fbf087b33309a18707fc38565e95 languageName: node linkType: hard @@ -23521,13 +23212,20 @@ __metadata: languageName: node linkType: hard -"cookie@npm:0.5.0, cookie@npm:^0.5.0, cookie@npm:~0.5.0": +"cookie@npm:0.5.0, cookie@npm:^0.5.0": version: 0.5.0 resolution: "cookie@npm:0.5.0" checksum: 1f4bd2ca5765f8c9689a7e8954183f5332139eb72b6ff783d8947032ec1fdf43109852c178e21a953a30c0dd42257828185be01b49d1eb1a67fd054ca588a180 languageName: node linkType: hard +"cookie@npm:~0.6.0": + version: 0.6.0 + resolution: "cookie@npm:0.6.0" + checksum: f56a7d32a07db5458e79c726b77e3c2eff655c36792f2b6c58d351fb5f61531e5b1ab7f46987150136e366c65213cbe31729e02a3eaed630c3bf7334635fb410 + languageName: node + linkType: hard + "cookiejar@npm:^2.1.4": version: 2.1.4 resolution: "cookiejar@npm:2.1.4" @@ -25946,32 +25644,35 @@ __metadata: linkType: hard "esbuild@npm:^0.19.0": - version: 0.19.8 - resolution: "esbuild@npm:0.19.8" + version: 0.19.10 + resolution: "esbuild@npm:0.19.10" dependencies: - "@esbuild/android-arm": 0.19.8 - "@esbuild/android-arm64": 0.19.8 - "@esbuild/android-x64": 0.19.8 - "@esbuild/darwin-arm64": 0.19.8 - "@esbuild/darwin-x64": 0.19.8 - "@esbuild/freebsd-arm64": 0.19.8 - "@esbuild/freebsd-x64": 0.19.8 - "@esbuild/linux-arm": 0.19.8 - "@esbuild/linux-arm64": 0.19.8 - "@esbuild/linux-ia32": 0.19.8 - "@esbuild/linux-loong64": 0.19.8 - "@esbuild/linux-mips64el": 0.19.8 - "@esbuild/linux-ppc64": 0.19.8 - "@esbuild/linux-riscv64": 0.19.8 - "@esbuild/linux-s390x": 0.19.8 - "@esbuild/linux-x64": 0.19.8 - "@esbuild/netbsd-x64": 0.19.8 - "@esbuild/openbsd-x64": 0.19.8 - "@esbuild/sunos-x64": 0.19.8 - "@esbuild/win32-arm64": 0.19.8 - "@esbuild/win32-ia32": 0.19.8 - "@esbuild/win32-x64": 0.19.8 + "@esbuild/aix-ppc64": 0.19.10 + "@esbuild/android-arm": 0.19.10 + "@esbuild/android-arm64": 0.19.10 + "@esbuild/android-x64": 0.19.10 + "@esbuild/darwin-arm64": 0.19.10 + "@esbuild/darwin-x64": 0.19.10 + "@esbuild/freebsd-arm64": 0.19.10 + "@esbuild/freebsd-x64": 0.19.10 + "@esbuild/linux-arm": 0.19.10 + "@esbuild/linux-arm64": 0.19.10 + "@esbuild/linux-ia32": 0.19.10 + "@esbuild/linux-loong64": 0.19.10 + "@esbuild/linux-mips64el": 0.19.10 + "@esbuild/linux-ppc64": 0.19.10 + "@esbuild/linux-riscv64": 0.19.10 + "@esbuild/linux-s390x": 0.19.10 + "@esbuild/linux-x64": 0.19.10 + "@esbuild/netbsd-x64": 0.19.10 + "@esbuild/openbsd-x64": 0.19.10 + "@esbuild/sunos-x64": 0.19.10 + "@esbuild/win32-arm64": 0.19.10 + "@esbuild/win32-ia32": 0.19.10 + "@esbuild/win32-x64": 0.19.10 dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true "@esbuild/android-arm": optional: true "@esbuild/android-arm64": @@ -26018,7 +25719,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 1dff99482ecbfcc642ec66c71e4dc5c73ce6aef68e8158a4937890b570e86a95959ac47e0f14785ba70df5a673ae4289df88a162e9759b02367ed28074cee8ba + checksum: b97f2f837c931e065839fe9adebba44b80aaa81c6b32dca4e1e77c068a0afb045d08a94d86abdacb29daef783ec092f0db688a31f3d463e2e42ac17e5a478265 languageName: node linkType: hard @@ -26170,8 +25871,8 @@ __metadata: linkType: hard "eslint-plugin-import@npm:^2.25.4": - version: 2.29.0 - resolution: "eslint-plugin-import@npm:2.29.0" + version: 2.29.1 + resolution: "eslint-plugin-import@npm:2.29.1" dependencies: array-includes: ^3.1.7 array.prototype.findlastindex: ^1.2.3 @@ -26189,10 +25890,10 @@ __metadata: object.groupby: ^1.0.1 object.values: ^1.1.7 semver: ^6.3.1 - tsconfig-paths: ^3.14.2 + tsconfig-paths: ^3.15.0 peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 19ee541fb95eb7a796f3daebe42387b8d8262bbbcc4fd8a6e92f63a12035f3d2c6cb8bc0b6a70864fa14b1b50ed6b8e6eed5833e625e16cb6bb98b665beff269 + checksum: e65159aef808136d26d029b71c8c6e4cb5c628e65e5de77f1eb4c13a379315ae55c9c3afa847f43f4ff9df7e54515c77ffc6489c6a6f81f7dd7359267577468c languageName: node linkType: hard @@ -26594,7 +26295,6 @@ __metadata: "@backstage/app-defaults": "workspace:^" "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" "@backstage/core-app-api": "workspace:^" "@backstage/core-compat-api": "workspace:^" "@backstage/core-components": "workspace:^" @@ -26659,6 +26359,7 @@ __metadata: "@backstage/plugin-techdocs-react": "workspace:^" "@backstage/plugin-todo": "workspace:^" "@backstage/plugin-user-settings": "workspace:^" + "@backstage/plugin-visualizer": "workspace:^" "@backstage/test-utils": "workspace:^" "@backstage/theme": "workspace:^" "@circleci/backstage-plugin": ^0.1.1 @@ -26915,7 +26616,7 @@ __metadata: "@types/express": ^4.17.6 "@types/express-serve-static-core": ^4.17.5 "@types/luxon": ^3.0.0 - azure-devops-node-api: ^11.0.1 + azure-devops-node-api: ^12.0.0 better-sqlite3: ^9.0.0 dockerode: ^3.3.1 example-app: "link:../app" @@ -27051,8 +26752,8 @@ __metadata: linkType: hard "express-openapi-validator@npm:^5.0.4": - version: 5.1.1 - resolution: "express-openapi-validator@npm:5.1.1" + version: 5.1.2 + resolution: "express-openapi-validator@npm:5.1.2" dependencies: "@apidevtools/json-schema-ref-parser": ^9.1.2 "@types/multer": ^1.4.7 @@ -27069,7 +26770,7 @@ __metadata: multer: ^1.4.5-lts.1 ono: ^7.1.3 path-to-regexp: ^6.2.0 - checksum: 33392d9f08c477f582675c3a747792380c6b87270cabd26ceea62cb683299cbb6ec4493e8a88ab1a91ba68657876006dc165697b733b8fcba0555c52841d3a39 + checksum: e02eaad8549893f874916cfc52a9d81f1ef15c553e726876e6b73cc93469a21e28e42d1d25449aa04c764f8d024b1ea664b7ce6083abdd8513168ece7929ee20 languageName: node linkType: hard @@ -28840,11 +28541,11 @@ __metadata: linkType: hard "graphql-ws@npm:^5.14.0, graphql-ws@npm:^5.4.1, graphql-ws@npm:^5.9.0": - version: 5.14.2 - resolution: "graphql-ws@npm:5.14.2" + version: 5.14.3 + resolution: "graphql-ws@npm:5.14.3" peerDependencies: graphql: ">=0.11 <=16" - checksum: ee9affa2478b9d262405986f07616267b4db10ae45cf32fffb551572fb5bf5e1e3aa6652375511b3ff640d382c74c1327ce75ff1ee2fa8b964b3ef3d55d97f75 + checksum: c5bfdeb6d06f528e2222e71bf830b2f4f3e5b95419453d3b650cef9fe012e0126f121e4858d950edf3db1fb209a056b592643751624d1bc1fc71ecbe546d53d5 languageName: node linkType: hard @@ -30772,8 +30473,8 @@ __metadata: linkType: hard "isomorphic-git@npm:^1.23.0": - version: 1.25.0 - resolution: "isomorphic-git@npm:1.25.0" + version: 1.25.2 + resolution: "isomorphic-git@npm:1.25.2" dependencies: async-lock: ^1.1.0 clean-git-ref: ^2.0.1 @@ -30788,7 +30489,7 @@ __metadata: simple-get: ^4.0.1 bin: isogit: cli.cjs - checksum: d7f97cc3a7c7deb45077e3308c72aadd20a4a2ecf1c4ba929edb4e658356453bfe10daa38dcb5a34de0432e0a98ad91cfc540e62a8604aec9fd07ab5e7197299 + checksum: b8e7a1b66c393ac1ab30fd0deb561b97e4ca249aad97367f11be8ed18b20132460bec89451752e3533e64a5a8c47b3509dc5a7dee2eea266c812b45df633b441 languageName: node linkType: hard @@ -31475,7 +31176,7 @@ __metadata: languageName: node linkType: hard -"jest-websocket-mock@npm:^2.4.1, jest-websocket-mock@npm:^2.5.0": +"jest-websocket-mock@npm:^2.5.0": version: 2.5.0 resolution: "jest-websocket-mock@npm:2.5.0" dependencies: @@ -31577,7 +31278,7 @@ __metadata: languageName: node linkType: hard -"jose@npm:^4.14.6, jose@npm:^4.15.1, jose@npm:^4.6.0": +"jose@npm:^4.14.6, jose@npm:^4.15.4, jose@npm:^4.6.0": version: 4.15.4 resolution: "jose@npm:4.15.4" checksum: dccad91cb3357f36423774a0b89ad830dd84b31090de65cd139b85488439f16a00f8c59c0773825e8a1adb0dd9d13ad725ad66e6ea33880ecb3959bb99e1ea5b @@ -32703,16 +32404,6 @@ __metadata: languageName: node linkType: hard -"linkify-react@npm:4.1.2": - version: 4.1.2 - resolution: "linkify-react@npm:4.1.2" - peerDependencies: - linkifyjs: ^4.0.0 - react: ">= 15.0.0" - checksum: c262e5aeb95cce014256ef417756c405bffd88e4cbe133185bc031113728e982025f8fa6f0ee76f67c84e030bcc093b50fa833724612c09762244d9efe22d192 - languageName: node - linkType: hard - "linkify-react@npm:4.1.3": version: 4.1.3 resolution: "linkify-react@npm:4.1.3" @@ -32723,13 +32414,6 @@ __metadata: languageName: node linkType: hard -"linkifyjs@npm:4.1.2": - version: 4.1.2 - resolution: "linkifyjs@npm:4.1.2" - checksum: 42d594fdf5347e0b35ab9b9a46d0eb290f1a39f092a4e883e0dfa97bb8c3ff5dde57d6ff80d1580f2b6d0b4620269b49bf865c2013b341f1ce084038e9abab01 - languageName: node - linkType: hard - "linkifyjs@npm:4.1.3": version: 4.1.3 resolution: "linkifyjs@npm:4.1.3" @@ -33241,10 +32925,10 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": - version: 10.0.1 - resolution: "lru-cache@npm:10.0.1" - checksum: 06f8d0e1ceabd76bb6f644a26dbb0b4c471b79c7b514c13c6856113879b3bf369eb7b497dad4ff2b7e2636db202412394865b33c332100876d838ad1372f0181 +"lru-cache@npm:^10.0.0, lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.1.0 + resolution: "lru-cache@npm:10.1.0" + checksum: 58056d33e2500fbedce92f8c542e7c11b50d7d086578f14b7074d8c241422004af0718e08a6eaae8705cee09c77e39a61c1c79e9370ba689b7010c152e6a76ab languageName: node linkType: hard @@ -35834,20 +35518,21 @@ __metadata: languageName: node linkType: hard -"octokit@npm:^2.0.0, octokit@npm:^2.0.4": - version: 2.1.0 - resolution: "octokit@npm:2.1.0" +"octokit@npm:^3.0.0": + version: 3.1.2 + resolution: "octokit@npm:3.1.2" dependencies: - "@octokit/app": ^13.1.5 - "@octokit/core": ^4.2.1 - "@octokit/oauth-app": ^4.2.1 - "@octokit/plugin-paginate-rest": ^6.1.0 - "@octokit/plugin-rest-endpoint-methods": ^7.1.1 - "@octokit/plugin-retry": ^4.1.3 - "@octokit/plugin-throttling": ^5.2.2 - "@octokit/request-error": ^v3.0.3 - "@octokit/types": ^9.2.2 - checksum: 612f3c40c0d8d330793476066fcf2a6ed77ad52690201d7c2df11044c4b3dfbefefbe13443ac4037a2128c6f13d59a2f481bc0b315b1bc650e5ff6da9a811e61 + "@octokit/app": ^14.0.2 + "@octokit/core": ^5.0.0 + "@octokit/oauth-app": ^6.0.0 + "@octokit/plugin-paginate-graphql": ^4.0.0 + "@octokit/plugin-paginate-rest": ^9.0.0 + "@octokit/plugin-rest-endpoint-methods": ^10.0.0 + "@octokit/plugin-retry": ^6.0.0 + "@octokit/plugin-throttling": ^8.0.0 + "@octokit/request-error": ^5.0.0 + "@octokit/types": ^12.0.0 + checksum: 8ef0d57a0e0129da5a3fddf2b2150c3214fd19b5cbefdd2fe7fa4604f45aae90587080ce1498fadef6714d385835ee00b7c86c526f31d67c93fcd545e041568c languageName: node linkType: hard @@ -35987,14 +35672,14 @@ __metadata: linkType: hard "openid-client@npm:^5.2.1, openid-client@npm:^5.3.0, openid-client@npm:^5.4.3": - version: 5.6.1 - resolution: "openid-client@npm:5.6.1" + version: 5.6.2 + resolution: "openid-client@npm:5.6.2" dependencies: - jose: ^4.15.1 + jose: ^4.15.4 lru-cache: ^6.0.0 object-hash: ^2.2.0 oidc-token-hash: ^5.0.3 - checksum: 9d939cec57540e6dd3f67e9a248ec5ecec3b439b7ab5bd2e9fb4481bd03e8d030deedd87a447348194be7f3e93e84085841b0414033caf86479870f526cdbc2f + checksum: e61bc7170bb53d9b50098476b68b72e07f93769caae8ae12ffb885c2dac5fb2fdf6de437a9eb29c5501f52b296f01c083de8d6f3500f2999fc863c9f9f5142fa languageName: node linkType: hard @@ -42098,9 +41783,9 @@ __metadata: languageName: node linkType: hard -"swagger-client@npm:^3.24.5": - version: 3.24.5 - resolution: "swagger-client@npm:3.24.5" +"swagger-client@npm:^3.24.6": + version: 3.24.6 + resolution: "swagger-client@npm:3.24.6" dependencies: "@babel/runtime-corejs3": ^7.22.15 "@swagger-api/apidom-core": ">=0.83.0 <1.0.0" @@ -42108,7 +41793,7 @@ __metadata: "@swagger-api/apidom-json-pointer": ">=0.83.0 <1.0.0" "@swagger-api/apidom-ns-openapi-3-1": ">=0.83.0 <1.0.0" "@swagger-api/apidom-reference": ">=0.83.0 <1.0.0" - cookie: ~0.5.0 + cookie: ~0.6.0 deepmerge: ~4.3.0 fast-json-patch: ^3.0.0-1 is-plain-object: ^5.0.0 @@ -42118,15 +41803,15 @@ __metadata: qs: ^6.10.2 traverse: ~0.6.6 undici: ^5.24.0 - checksum: d41ff94f9a506b99e7b30334c96a5011b14acf2af5204648b70e5b8e1902f3bf62ca2297b4e5f7536a3f0bb0a9cd4aa83d439b9352d0f1e3a110409201cae0bc + checksum: 8bb1aeea4576fdd88543c4e011b1f087c52b34e5a069d560937a5c32a6e1e6c7eda243810886f8b09e4e12062e8f2768edaa5e6193140a28f9604bac42b18104 languageName: node linkType: hard "swagger-ui-react@npm:^5.0.0": - version: 5.10.3 - resolution: "swagger-ui-react@npm:5.10.3" + version: 5.10.5 + resolution: "swagger-ui-react@npm:5.10.5" dependencies: - "@babel/runtime-corejs3": ^7.23.2 + "@babel/runtime-corejs3": ^7.23.5 "@braintree/sanitize-url": =6.0.4 base64-js: ^1.5.1 classnames: ^2.3.1 @@ -42155,7 +41840,7 @@ __metadata: reselect: ^4.1.8 serialize-error: ^8.1.0 sha.js: ^2.4.11 - swagger-client: ^3.24.5 + swagger-client: ^3.24.6 url-parse: ^1.5.10 xml: =1.0.1 xml-but-prettier: ^1.0.1 @@ -42163,7 +41848,7 @@ __metadata: peerDependencies: react: ">=17.0.0" react-dom: ">=17.0.0" - checksum: 505dfb7b6f09b75bd637ac89796a6c4c8f3833b3907463f6824c37732cb4d19d045408fd92070dd1d93416996063bd97749de4397b2fca978df8025f2243b60c + checksum: 79256d68d56389d089a953f7d6c3a95a67c0b4e2794ae3992ba60adc0312aeb4446d8ba1e20687fcd7708d562e7c15fa733dbcb54cd8f99948ebf4c4513fa042 languageName: node linkType: hard @@ -42842,8 +42527,8 @@ __metadata: linkType: hard "ts-node@npm:^10.0.0, ts-node@npm:^10.4.0, ts-node@npm:^10.9.1": - version: 10.9.1 - resolution: "ts-node@npm:10.9.1" + version: 10.9.2 + resolution: "ts-node@npm:10.9.2" dependencies: "@cspotcode/source-map-support": ^0.8.0 "@tsconfig/node10": ^1.0.7 @@ -42875,7 +42560,7 @@ __metadata: ts-node-script: dist/bin-script.js ts-node-transpile-only: dist/bin-transpile.js ts-script: dist/bin-script-deprecated.js - checksum: 090adff1302ab20bd3486e6b4799e90f97726ed39e02b39e566f8ab674fd5bd5f727f43615debbfc580d33c6d9d1c6b1b3ce7d8e3cca3e20530a145ffa232c35 + checksum: fde256c9073969e234526e2cfead42591b9a2aec5222bac154b0de2fa9e4ceb30efcd717ee8bc785a56f3a119bdd5aa27b333d9dbec94ed254bd26f8944c67ac languageName: node linkType: hard @@ -42893,15 +42578,15 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^3.14.2": - version: 3.14.2 - resolution: "tsconfig-paths@npm:3.14.2" +"tsconfig-paths@npm:^3.15.0": + version: 3.15.0 + resolution: "tsconfig-paths@npm:3.15.0" dependencies: "@types/json5": ^0.0.29 json5: ^1.0.2 minimist: ^1.2.6 strip-bom: ^3.0.0 - checksum: a6162eaa1aed680537f93621b82399c7856afd10ec299867b13a0675e981acac4e0ec00896860480efc59fc10fd0b16fdc928c0b885865b52be62cadac692447 + checksum: 59f35407a390d9482b320451f52a411a256a130ff0e7543d18c6f20afab29ac19fbe55c360a93d6476213cc335a4d76ce90f67df54c4e9037f7d240920832201 languageName: node linkType: hard @@ -44173,8 +43858,8 @@ __metadata: linkType: hard "vite-plugin-html@npm:^3.2.0": - version: 3.2.0 - resolution: "vite-plugin-html@npm:3.2.0" + version: 3.2.1 + resolution: "vite-plugin-html@npm:3.2.1" dependencies: "@rollup/pluginutils": ^4.2.0 colorette: ^2.0.16 @@ -44190,7 +43875,7 @@ __metadata: pathe: ^0.2.0 peerDependencies: vite: ">=2.0.0" - checksum: f5222247b65da1c36215f0b2f509fd3975a7426b8d44546beb49f3ba51ee87b3a6b6e6afc9e7567a0d8bd1016631f2db3f934808f62a7c8f7f83fa83d8561d2d + checksum: 6add7cd7a8f9e83b0c58b20cde2d4da7e132ef56db6a60f3d4cc7022c944896236aeca6bde4c6dc2da3d506f756f63de56251adc47f0ae359c07485b24dd64db languageName: node linkType: hard @@ -45404,15 +45089,15 @@ __metadata: linkType: hard "zod-to-json-schema@npm:^3.20.4, zod-to-json-schema@npm:^3.21.4": - version: 3.22.1 - resolution: "zod-to-json-schema@npm:3.22.1" + version: 3.22.3 + resolution: "zod-to-json-schema@npm:3.22.3" peerDependencies: zod: ^3.22.4 - checksum: 7c0cdcf0acac81a9b69b26e44bc45e43aefacd5759e12f89856f0a4b957b66be27560671473ef7ab4a5883a871b6990a7f61fce3cee96ecad3823c5b7e524fa5 + checksum: 2747a3d1514f579006939c0edd6a420acae65ad016df223b09c4a542cbc8c0ae61b4d7b391228a211cde973635ed49c47b1449791982f3b32d799319bb174f42 languageName: node linkType: hard -"zod@npm:^3.21.4": +"zod@npm:^3.22.4": version: 3.22.4 resolution: "zod@npm:3.22.4" checksum: 80bfd7f8039b24fddeb0718a2ec7c02aa9856e4838d6aa4864335a047b6b37a3273b191ef335bf0b2002e5c514ef261ffcda5a589fb084a48c336ffc4cdbab7f